我必须检查是否存在垂直。
我正在使用由两个点定义的一个线段
然后我必须垂直,所以它转到第三点
这工作正常,但我不知道如何检查垂直是否存在。
我计算了T P (x 4 ,y 4 )(T 1 上的点,T < sub> 2 line)with:
double dx = x2 - x1;
double dy = y2 - y1;
double mag = Math.Sqrt(dx * dx + dy * dy);
dx /= mag;
dy /= mag;
double lambda = (dx * (x3 - x1)) + (dy * (y3 - y1));
rx1 = (dx * lambda) + x1;
ry1 = (dy * lambda) + y1;
这很好用:
这会引发错误:
答案 0 :(得分:2)
如果您只需要检查垂直是否存在,那么您可以执行以下操作(基于草图):
评估向量之间的角度是微不足道的:查找vector dot product or scalar product。