我有5个子视图(白色)添加到超级视图(灰色),当我旋转超级视图时,我想知道每个子视图的角度(如1和2)红色圆圈(子视图的中心,并且红色圆圈是在同一圆)获取旋转超级视图后的实际角度
0
A
回答
0
从您的评论中,您似乎想要确定给定旋转的五个圆的中心坐标。这些中心都会躺在一个圆圈上。所以你的问题归结为圆上一个点的坐标是多少?r对于角度θ。对于圆形的参数方程给你:
X = - [R COS θ
Ŷ = - [R罪θ
的角度,θ,在这些方程是在逆时针方向从正x轴测量的弧度。如果你的角度为度,你会发现M_PI
常数π有用:
360度= 2个π弧度
剩下的就是简单的数学,把你的旋转角度给你A的角度(记住调整0为x轴,如果需要逆时针测量),其他中心是72度的倍数(0.4 π弧度)。
HTH
0
我不知道我完全理解你的问题,但如果你只是需要采取已知点并旋转一定度数,检查出的文档的CGAffineTransform。
例如:
CGAffineTransform rotation = CGAffineTransformMakeRotation (angle);
CGPoint rotatedPoint = CGPointApplyAffineTransform (startingPoint, rotation);
这个旋转矩阵大约是(0,0),角弧度,所以你需要减去你的上海华边界的中心得到一个相对偏移中心,做旋转,并加回中心。或者你可以建立由翻译,旋转和反转换组成的仿射变换,然后将其应用到上面的起点。
0
鉴于你已经知道主旋转角度,这会给你在-180范围内的角度。每个白盘的+180和立场:
GCFloat toRads = M_PI/180.0;
CGFloat angleA = self.rotationInDegrees;
if (angleA > 180) angleA -= 360;
CGFloat xA = self.radius * sinf(angleA * toRads);
CGFloat yA = self.radius * cosf(angleA * toRads);
CGFloat angleB = angleA + 72;
if (angleB > 180) angleB -= 360;
CGFloat xB = self.radius * sinf(angleB * toRads);
CGFloat yB = self.radius * cosf(angleB * toRads);
etc...
(这里假设你的零度是从垂直如果从水平交换COS和罪恶过的)。
相关问题
- 1. 获取旋转角度旋转视图后
- 2. 超视图旋转后获取子视图的位置
- 3. 获取实际的视图高度
- 4. 获取超网格的实际宽度
- 5. 显示视图以特定角度旋转并在触摸时获取视图?
- 6. Unity - Sprite旋转+获取角度
- 7. 在添加子视图后获取超级视图
- 8. 旋转角度
- 9. 旋转视角?
- 10. 如何旋转MPMoviePlayerController视频但不是其超级视图
- 11. iOS获取子视图的旋转
- 12. 我可以使用CGAffineTransformMakeRotation旋转视角超过360度吗?
- 13. 转换CSS3动画:旋转。获取旋转元件当前角度的方法?
- 14. 获取实际的左旋转div的顶部位置
- 15. 角度针旋转
- 16. WPF - 旋转后找到图像的实际顶部和左侧
- 17. 在旋转后获取UIViewController视图的大小
- 18. Leaflet.js中的地图角度旋转
- 19. IOS中的多角度图像旋转
- 20. 如何在旋转后获取SceneKit中子节点的实际位置?
- 21. 查找旋转角度给定旋转角度
- 22. 旋转后获取坐标
- 23. 防止旋转的UIView子视图,允许旋转同级子视图
- 24. 如何获取的角度,而我想旋转的UIView
- 25. NSLayoutConstraint - 超级视图的动态高度
- 26. 在饼图中计算旋转角度
- 27. iphone sdk CGAffineTransform获取对象的旋转角度
- 28. CABasicAnimation如何获取当前的旋转角度
- 29. 获取实际图表的位置,宽度和高度
- 30. 获取旋转度和度数显示
我认为你需要提供更多的信息,因为A的角度只是旋转的角度,E的角度始终是72度。 – CRD
感谢您的回复,角度AOE恰好是360/5 = 72度。当灰度视图旋转角度1(角度1可以是任何-180〜180度)时,我需要知道点A的位置(A是该子视图的中心点)以及其他点如B,C,D和E 。 – Meonardo