数学基础知识之Sin、cos画圆 - Go语言中文社区

数学基础知识之Sin、cos画圆


由于在控制台里面画圆的时候,SetCursorPosition该函数只接受Int类型的数据  所以位置就会四舍五入,这样就画的不正确  所以采用Uniyt中的2D界面绘制的 主要是巩固math.sin和math.cos函数

  void DrawCircle()
    {
        float x = obj.transform.localPosition.x;
        float y = obj.transform.localPosition.y;

        float radir = 200;
        for (int i = 0; i < 90; i++)
        {
            //第一象限
            Vector3 vc = Vector3.zero;
            vc.x = x + radir * Mathf.Cos(Mathf.PI / 180 * i);
            vc.y = y + radir * Mathf.Sin(Mathf.PI / 180 * i);
            GameObject tmpObj = Instantiate(obj.gameObject);
            tmpObj.transform.parent = obj.transform.parent;
            tmpObj.transform.localPosition = vc;
            tmpObj.transform.localScale = Vector3.one;
            //第四象限
            vc.y = y - radir * Mathf.Sin(Mathf.PI / 180 * i);
            tmpObj = Instantiate(obj.gameObject);
            tmpObj.transform.parent = obj.transform.parent;
            tmpObj.transform.localPosition = vc;
            tmpObj.transform.localScale = Vector3.one;
            //第二象限
            vc = Vector3.zero;
            vc.x = x - radir * Mathf.Cos(Mathf.PI / 180 * i);
            vc.y = y + radir * Mathf.Sin(Mathf.PI / 180 * i);
            tmpObj = Instantiate(obj.gameObject);
            tmpObj.transform.parent = obj.transform.parent;
            tmpObj.transform.localPosition = vc;
            tmpObj.transform.localScale = Vector3.one;

            //第三象限
            vc.y = y - radir * Mathf.Sin(Mathf.PI / 180 * i);
            tmpObj = Instantiate(obj.gameObject);
            tmpObj.transform.parent = obj.transform.parent;
            tmpObj.transform.localPosition = vc;
            tmpObj.transform.localScale = Vector3.one;

        }

    }


版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Rose_Girls/article/details/51896944
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-03 22:37:54
  • 阅读 ( 1837 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢