如何判断这些点是逆时针连接还是顺时针连接?我的GameScene.m中有以下代码
CGFloat radius = (self.frame.size.width - 6) / 2;
CGFloat a = radius * sqrt((CGFloat)3.0) / 2;
CGFloat b = radius / 2;
UIBezierPath *pathFirstTrigon = [UIBezierPath bezierPath];
[pathFirstTrigon moveToPoint:CGPointMake(0, -radius)];
[pathFirstTrigon addLineToPoint:CGPointMake(a, b)];
[pathFirstTrigon addLineToPoint:CGPointMake(-a, b)];
[pathFirstTrigon closePath];发布于 2018-05-01 14:56:54
方向可以从带符号的区域中推断出来。您可以通过连续点的叉积和来计算有符号面积:
2 * area = (0, -radius) x (a, b) + (a, b) ⨯ (-a, b) + (-a, b) ⨯ (0, -radius)使用2D叉积的定义:
(a, b) ⨯ (c, d) = a * d - b * c这将为您提供:
area = a * radius + a * b使用area的符号来确定路径是顺时针还是逆时针(哪个符号指的是哪个符号取决于您的坐标系)。
发布于 2018-05-01 23:37:42
您所拥有的内容类似于:
Y
(-a,b) ^ (a,b)
+ | +
|
|
|
|
--------+---------> X
|
+ (0,r)
|所以它在标准坐标系下是逆时针的。
https://stackoverflow.com/questions/50112245
复制相似问题