我正在寻找一种算法来查找java编程中线与抛物线之间点交点的坐标,如果我知道4点A,B,P1,P2,P3的坐标,他们可以帮助我,非常感谢
这是图片(我的问题的演示)希望你帮帮我,
答案 0 :(得分:1)
让我们从一些数学开始将3点变成抛物线:
1 = -x 1 2 + x 2 2 < / p>
B 1 = -x 1 + x 2
D 1 = -y 1 + y 2
2 = -x 2 2 + x 3 2 < / p>
B 2 = -x 2 + x 3
D 2 = -y 2 + y 3
B m = - (B 2 / B 1 )
3 = B m * A 1 + A 2
D 3 = B m * D 1 + D 2
a p = D 3 / A 3
b p = D 1 - 1 * a p
c p = y 1 - a p x 1 2 - b'的子> p 子> X <子> 1 子>
抛物线:
y = a p x 2 + b p x + c p
将2分变成一条线:
m L =(y 2 - y 1 )/(x 2 - x 1 子>)
b L = y 1 - m L x 1
行:
y = m L x + b L
交点:
y = y
a p x 2 + b p x + c p = m L x + b L
a p x 2 + b p x + c p - m L x - b L = 0
a p x 2 + b p x - m L x + c p < / sub> - b L = 0
a p x 2 +(b p - m L )x + c p - b L = 0
0,1或2 x值:
x =( - (b p - m L )±√((b p - m L ) 2 - 4a p (c p - b L ))/ 2a p < /子>
重新插入:
y = m L x + b L
表示y值。