最近突然想到数学知识,一些公式也是忘记了,查阅了一下,就记录下来了。
上代码。新建工程,创建个MotionOfAnObject类,挂空物体或者摄像机上ok了。当然,你也可以用拖尾组件,做拖尾效果。也可以画圆、椭圆、双曲线。思路:用list把路过的点保存下来,可以把点连成线,可以自己尝试。
using UnityEngine;
/*
*
* Writer:June
*
* Date: 2019.06.26
*
* Function:让物体做圆周运动、椭圆运动、双曲线运动
*
* Remarks:圆的参数方程 x=a+r*cosθ y=b+r*sinθ(θ∈ [0,2π) ) (a,b) 为圆心坐标,r 为圆半径,θ 为参数,(x,y) 为经过点的坐标
* 椭圆的参数方程 x=a*cosθ y=b*sinθ(θ∈[0,2π)) a为长半轴长 b为短半轴长 θ为参数
* 双曲线的参数方程 x =a*secθ (正割) y=b*tanθ a为实半轴长 b为虚半轴长 θ为参数 secθ (正割)即1/cosθ
*/
public class MotionOfAnObject : MonoBehaviour
{
/// <summary>
/// 要移动的物体
/// </summary>
[Header("要移动的物体"), SerializeField]
private GameObject go;
/// <summary>
/// 长轴长
/// </summary>
[Header("长轴长"), SerializeField]
private float Ellipse_a;
/// <summary>
/// 短轴长
/// </summary>
[Header("短轴长"), SerializeField]
private float Ellipse_b;
//