【问题标题】:Caculating coordinates of specific point on the line [duplicate]计算线上特定点的坐标[重复]
【发布时间】:2014-09-04 12:53:37
【问题描述】:

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

例如,如果我有点 A(0, 0) 和点 B(5, -3),我想计算点 C 的坐标,巫婆是 2(也可以是 2 以外的其他值) A 和 AB 线上。我希望 你明白我的意思了。

我知道如何计算 A 和 B 之间的距离,但是定位 C.. 我真的不知道从哪里开始。更不用说如何在 java 中实现 int 了。对新手有帮助吗?

【问题讨论】:

  • line AB 上有两个点在dA 的距离内。你两个都需要吗?也许你的意思是一段(然后可能有零分,如果|AB|

标签: java android algorithm math geometry


【解决方案1】:

这里有一个更数学的方法:(希望你能看懂我的画)

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

【讨论】:

  • 这真的是我要找的东西!
【解决方案2】:

使用直线的参数方程: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;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2011-07-20
    • 1970-01-01
    相关资源
    最近更新 更多