如何在java中找到直线与抛物线之间的点交点坐标

时间:2015-03-10 02:53:33

标签: java line point intersection

我正在寻找一种算法来查找java编程中线与抛物线之间点交点的坐标,如果我知道4点A,B,P1,P2,P3的坐标,他们可以帮助我,非常感谢

这是图片(我的问题的演示)希望你帮帮我,

enter image description here

1 个答案:

答案 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值。