如何在iOS中给定中心点和角度画线?
Posted
技术标签:
【中文标题】如何在iOS中给定中心点和角度画线?【英文标题】:How to draw line given a center point and angle in iOS? 【发布时间】:2013-03-14 21:50:05 【问题描述】:这是一个 ios 问题,因为我目前无法进行坐标几何。给定一个 CGPoint 作为线将通过的一个点和一个以弧度为单位的角度。如何绘制一条延伸到屏幕边界的线(无限线)?
我正在使用 Quartz2d 来执行此操作,并且用于创建线的 API 仅限于两个点作为输入。那么如何将一个点和角度转换为 iOS 设备边界上的两个点呢?
【问题讨论】:
***.com/a/1571429/1311910 【参考方案1】:这从简单的三角函数开始。您需要计算第二个点的 x 和 y 坐标。以 0,0 为原点,将一条直线向右视为 0 度,逆时针方向(有些人为逆时针方向),您可以:
double angle = ... // angle in radians
double newX = cos(angle);
double newY = sin(angle);
这假定半径为 1。每次乘以所需的半径。选择一个大于屏幕的数字,例如 iPhone 为 480 或 iPad 为 1024(假设您想要点而不是像素)。
然后加上原点得到最终点。
假设你有CGPoint start
、double angle
和一个长度,你的最后一点是:
double endX = cos(angle) * length + start.x;
double endY = sin(angle) * length + start.y;
CGPoint end = CGPointMake(endX, endY);
如果终点不在屏幕上也没关系。
【讨论】:
可能有用:如果您需要在弧度和度数之间进行转换 - iosdevelopertips.com/graphics/…以上是关于如何在iOS中给定中心点和角度画线?的主要内容,如果未能解决你的问题,请参考以下文章