我想确定左侧区域或右侧区域中圆圈上另一个点是否有点。 (左和右只是符号解释的问题)。为此我计算了这两个点的叉积来创建法向量。 所以我面临的问题是我如何将法线解释为一个标量,它有一个标志,表明它是在圆圈的右半边还是左半边。
我已经为插图创建了一个gif(C'只是动画点C):
我的想法是在向量v中添加所有值。例如:
v = (0.16, 0.1, -0.2)
vSum = v.x + v.y + v.z = 0.06
result = sign(vSum) = 1
o = (-0.16, -0.1, 0.2)
oSum = o.x + o.y + o.z = -0.06
result = sign(oSum) = -1
不幸的是,只有当圆圈是静止的并且不旋转时,这才有效。 如果旋转标志发生变化,我的结果会被翻转,从而导致左右站点反转。并且点积仅产生正值,但这是在旋转圆时不会改变的值。也许这对我有帮助吗?
答案 0 :(得分:0)
我认为,您的交叉产品如下:
c = cross(p - circle center, reference - circle center)
然后你可以用圆形法线取点积来得到符号:
sign(dot(c, circle normal))