【发布时间】:2013-12-10 16:51:45
【问题描述】:
我需要一个解决方案,将 2d 点投影到某个方向的 2d 线上。这是我到目前为止所得到的:这就是我进行正交投影的方式:
CVector2d project(Line line , CVector2d point)
{
CVector2d A = line.end - line.start;
CVector2d B = point - line start;
float dot = A.dotProduct(B);
float mag = A.getMagnitude();
float md = dot/mag;
return CVector2d (line.start + A * md);
}
结果:
(将P投影到线上,结果为Pr):
但我需要将点投影到给定方向的线上,它应该返回这样的结果(将点 P1 投影到特定方向的线上计算 Pr):
我应该如何考虑方向向量来计算 Pr ?
【问题讨论】:
标签: geometry 2d projection