如何找到一条线上的点?


Answers:


26

计算一个向量VAB,并且它正常化。

V = (B - A) / |B - A|

由于向量已标准化,因此长度为1,并且会指示B相对于的方向A。如果再缩放矢量由d你将有来自位移AC

V' = d * V

您可以简单地添加A到yield C

C = V' + A

顺便说一句:有人能推荐我一本书,让我学习类似的东西吗?:)
eempee,2011年


没读过这一个,但我已经告诉也不错amazon.com/Mathematics-Programming-Computer-Graphics-Second/dp/...
瑞奇AH


顺便说一句,这是射线相交算法的最后几个步骤:您确定相交点沿射线的距离,然后获得点的坐标geomalgorithms.com/a05-_intersect-1.html#Plane-Intersections
在13年

1

如果您的d是一个比率而不是长度,例如0.5使其与A和B的距离相等,则可以执行以下操作并避免标准化:

C = A * (1 - ratio) + B * ratio
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.