如何找到line1和lin2相交的点,如果两条线均由x,y,alpha定义,其中x,y是线上点的坐标,alpha是角度行与x = const之间?找到两条线的交点的公式
我尝试应用正弦定理,但它产生两个答案(三角形可以建立在一条线的两侧)。我可以用一个点来检查哪个点形成正确的斜率,但这很丑。
我可以切换到y = ax + b表示形式,但后来我有特殊情况需要担心。垂直和水平线应该不同,以避免在1/sin(alpha)和1/cos(alpha)情况下被零除。
我不是在寻找某种语言的实现,只是一个公式。
这些问题并不相关,因为它们涉及有限的线段,而不是线。
Given two points and two vectors, find point of intersection
How do you detect where two line segments intersect?
有没有一种方法,以避免检查对于'如果(aplha1!= pi/2之间)'?角度保证不同,但其中一个可能是pi/2,导致tan(pi/2)的div_zero错误。 – Stepan
感谢您对这个特殊情况的警告,我将我的答案扩展到包含它。 – MarianD