计算线上特定点的坐标

时间:2014-09-04 12:53:37

标签: java android algorithm math geometry

所以,我希望这仍然可以归类为编码,而不是数学...哦,好吧,无论如何它们都不相同;) 所以,我的问题是这样的:我想要计算一个在线点的坐标。

例如,如果我有点A(0,0)和点B(5,-3),我想计算点C的坐标,女巫是2(也可能是2以外的其他东西) )从A和AB线。我希望 你意识到我的意思。

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

2 个答案:

答案 0 :(得分:1)

这是一种更为数学的方法:(我希望你理解我的绘画)

enter image description here

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

答案 1 :(得分:0)

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

现在距离问题:您希望Pd保持距离A。然后是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;