欢迎光临散文网 会员登陆 & 注册

最简计算2D射线与直线的交点

2023-06-15 17:41 作者:DeadCyber  | 我要投稿

输入:

一条数学意义直线,转化成点向式line(point,dir),方向符号无所谓。

一个Ray2D ray(origin,dir)


输出:

情况1:平行。

情况2:沿着ray.dir抵达直线的距离。可为0,可为负。


推导步骤:

就是构建垂线,然后构建向量点乘为0解方程。


O为ray.origin,配合line算出O在line上的映射点A。

D为ray.dir。

设所求为T,则交点B=O+T*D;

根据dot(OA,AB)=0,解方程求出

T=(OA^2)/dot(OA,D)


参考代码:






最简计算2D射线与直线的交点的评论 (共 条)

分享到微博请遵守国家法律