【Unity】常用几何知识:根据角度获取圆形上某个点的坐标


根据角度获取圆形上某个点的坐标

圆上某个点坐标的计算公式:

  x = c e n t e r X + r a d i u s ∗ c o s ( a n g l e ∗ P I / 180 ) \ x = centerX + radius * cos(angle * PI / 180)  x=centerX+radiuscos(anglePI/180)
  y = c e n t e r Y + r a d i u s ∗ s i n ( a n g l e ∗ P I / 180 ) \ y = centerY + radius * sin(angle * PI / 180)  y=centerY+radiussin(anglePI/180)

centerX centerY 圆的中心点
radius:半径
angle:旋转角度(起始方向为 3 点钟方向)

示例:动态改变按钮位置

本案例将按钮的位置设计成围绕着生成器旋转排列。当按钮数量为 3 时,就每隔 120° 放一个按钮,当按钮数量为 4 时,就隔 90° 。

代码示意:

		// 根据防御塔数量决定按钮的旋转角度
        for (int i = 0; i < _createBtnList.Count; i++)
        {
            // 计算旋转角度
            float angle = 360 / _createBtnList.Count * i + 90;
            // 使用公式算出按钮坐标
            //x = centerX + radius * cos(angle * 3.14 / 180)
            //y = centerY + radius * sin(angle * 3.14 / 180)
            _createBtnList[i].position = new Vector3(100 * Mathf.Cos(angle * Mathf.PI / 180), 100 * Mathf.Sin(angle * Mathf.PI / 180), 0);
        }

通过遍历按钮列表 List _createBtnList ,计算每个按钮的旋转角度,再根据角度计算出按钮的坐标。最后再给这个角度增加90°,让起始坐标从 3 点钟方向变为 12 点钟方向。

最终效果

在这里插入图片描述


更多内容请查看总目录【Unity】Unity学习笔记目录整理

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值