三角函数画圆

  public float redius;//半径
    public float angle;//偏移角度

    private float parts = 0;
    private const float pi = 3.14f;
    private List<Vector2> circleList = new List<Vector2>();

    void Start()
    {
        parts = 360 * (1 / angle);
        DrawCircle(redius, angle, parts);

    }

     void OnDrawGizmos()
    {
        for (int i = 0; i < circleList.Count - 1; i++)
        {
            Gizmos.DrawLine(new Vector3(circleList[i].x, 0, circleList[i].y), new Vector3(circleList[i + 1].x, 0, circleList[i + 1].y));
            Gizmos.color = Color.red;
        }
    }

    void DrawCircle(float r, float angle, float parts)
    {
        Debug.Log("这个圆可以分为" + parts + "部分");
        Vector3 center = transform.position;
        float x, z;
        for (int i = 0; i <= parts; i++)
        {
            //r += 0.15f;
            x = center.x + Mathf.Sin(angle * i * (pi / 180f)) * r;
            z = center.z + Mathf.Cos(angle * i * (pi / 180f)) * r;

            circleList.Add(new Vector2(x, z));
        }
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值