【Unity3d】如何绘制椭圆

今天偶然看到一篇关于如何画椭圆的帖子 随即就整理了下


	/// <summary>
	/// 首先绘制椭圆的公式
	/// 椭圆的参数方程x=acosθ,y=bsinθ;
	/// </summary>

	public Transform trans;
	public float w;//椭圆长
	public float h; //椭圆高
	public int angle = 360;
	[Range(0,360)]
	public int speed = 0;
	private Vector3[] vec;
	private int index = 0;
	private LineRenderer line;

	float x, y;

	void Start()
	{
		

		vec = new Vector3[angle];

		for (int i = 0; i < angle; i++)
		{
			// Mathf.Deg2Rad 单位角度的弧 相当于 1° 的弧度
			x = w * Mathf.Cos(i * Mathf.Deg2Rad);

			y = h * Mathf.Sin(i * Mathf.Deg2Rad);

			vec [i] = trans.position + new Vector3 (x,0,y);

		}

		SetLine ();
	}

	void SetLine()
	{
		line = gameObject.AddComponent<LineRenderer> ();
		//设置线由多少个点构成
		line.SetVertexCount (angle);
		//绘制点的坐标
		line.SetPositions (vec);
	}


	void Update()
	{
		trans.position = vec [index];

		if ((index += speed) >= vec.Length)
		{
			index = 0;
		}

	}

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Unity_阿黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值