2010-01-27 39 views
0

好,使用JavaScript(或东西,我可以很容易地转换,我知道基本的非常好,但在C++和C#有点生疏)我需要解决这个问题/等式:的Javascript三叉问题

鉴于开始和的线的端点(在X,y和z)上线哪一点满足等式

A*x+B*y+C*z=D 

A,B,C和d的定义,但XY和z是未知的,但是somehwere上我知道以上。我需要从中得到一个x,y和z点。

+0

您可以先粘贴您的psudo代码吗? – 2010-01-27 04:10:10

回答

1

既然你知道该行的起点和终点,就可以得到直线方程的形式ax + by + cz = 0

A*x + B*y + C*z = 0可以写成(A/D)*x + (B/D)*y + (C/D)*z = 1,这又是一个直线的方程。

我想你正在寻找的是两条线的交点。

解决这两个方程,你会得到你的x,y和z。其实这些方程是一个system of 3 variable equations

我希望这会有所帮助。

欢呼声

+0

你确定你不是指'(A/D)* x +(B/D)* y +(C/D)* z -1 = 0'吗?我从问题中给出的方程式中得到了这个结果,用双数除以D,然后减去1. – 2010-01-27 04:21:31

+0

是的,你是对的。我的错。更新回应。谢谢:) – Arnkrishn 2010-01-27 13:52:57

+0

我见过两种方式,一种是负面的D,另一种是正面的。只要保持一致,这并不重要。但是,我知道如何解决。我如何说服JS解决它?为了输入线的方程和平面的a b c和d并得出它们相交点的x y z?我知道它们也会相交,因为我只会从起点开始在飞机的另一侧输入点。 – user2301457 2010-01-27 23:34:28