使用投影计算两条直线交点

来源:互联网 发布:腾讯视频mac版有吗 编辑:程序博客网 时间:2024/05/17 23:04

如下图已知点P1,P2位于被P3和P4确定直线的两侧,两线段交予点(x0, y0)


易得P2到直线距离为l2,投影为(x2, y2),P1直线距离为l1,投影为(x1, y1)

因为这两个直角三角形相似,所以进一步得到 l1/ l2 = a1/ a2

又因为"投影相似原理”得到 a1 / a2 = (y1 - y0)  /  (y0 - y2) 和 a1 / a2 = (x1 - x0) / (x0 - x2)

定义变量

float factor = l1/l2;

x0 = (x1 - factor * x2) / (1.f + factor);

y0 = (y1 - factor * y2) / (1.f + factor);

0 0
原创粉丝点击