2014-09-04 62 views
0

所以,我希望这仍然归类为编码,而不是数学...噢,它们是不是相同;) 所以,我的问题是这样的:我想要计算点上线的坐标。例如,如果我有点A(0,0)和点B(5,-3),我想计算C点的坐标,女巫是2(也可以是2以外的其他值)从A和AB线。我希望 你意识到我的意思。在线上计算特定点的坐标

我知道如何计算A和B之间的距离,但是找到C ..我从字面上不知道从哪里开始。甚至更少关于如何在java中实现int。一些帮助新手?

+0

上有*行* AB是从'A'的距离'D'内的两个点。你需要两个吗?也许你的意思是一段(然后可能有零点,如果| AB | amit 2014-09-04 12:55:53

回答

1

这里是一个更数学方法:(我希望你明白我的画)

enter image description here

你知道A和B以及从A到C的距离的角度可以通过calculatin斜率来计算[AB]。从这里你应该可以通过使用sin和cos来计算2段(用蓝色标记)的长度。

+0

这真的好像我在找什么! – Heiski 2014-09-04 13:45:44

0

使用线的参数方程:P = (1-t).A + t.BP,AB是由坐标对定义的点)。如果你设置了t=0,你会得到A;如果你设置了t=1,你会得到B;如果你设置了其他的值,你会得到AB

现在的距离问题:你想要P在距离dA。然后d² = AP² = t²AB²t = d/AB

编程:

ABx= Bx - Ax; 
ABy= By - Ay; 
AB= Sqrt(ABx * ABx + ABy * ABy); 

t= d/AB; 

Xc= Xa + t * ABx; 
Yc= Ya + t * ABy;