小编cug*_*grz的帖子

我有一条从圆心到另一点的直线.我想找到线与圆周相交的点

我尝试了几种不同的解决方案但到目前为止没有运气.

- (CGPoint)contractLineTemp:(CGPoint)point :(CGPoint)circle :(float)circleRadius { 
CGFloat x,y;
x = point.x - circle.x;
y = point.y - circle.y;

CGFloat theta = atan2(x, y);

CGPoint newPoint;

newPoint.x = circle.x + circleRadius * sin(theta);
newPoint.y = circle.y + circleRadius * cos(theta);

return newPoint;
}


- (CGPoint)contractLineTemp:(CGPoint)startPoint :(CGPoint)endPoint :(float)scaleBy {

float dx = endPoint.x - startPoint.x;
float dy = endPoint.y - startPoint.y;

float scale = scaleBy * Q_rsqrt(dx * dx + dy * dy);
return CGPointMake (endPoint.x - dx * scale, endPoint.y - …
Run Code Online (Sandbox Code Playgroud)

iphone geometry line-intersection

2
推荐指数
1
解决办法
844
查看次数

标签 统计

geometry ×1

iphone ×1

line-intersection ×1