找到两点之间点的坐标?

问题描述 投票:9回答:4

在wpf中做一些3D东西 - 想要使用更简单的测试来查看一切是否正常(在移动到曲线之前)。

基本问题给出了两个点x1,y1,z1和x2,y2,z2我已经计算了点之间的距离。但是如何在某个距离找到位于该线上的另一个点(x3,y3,z3)的坐标?

即如果我的线在-50,0,0和50,0,0之间是100长,那么沿线100 * 0.1点的坐标是多少?

我认为这是一个简单的公式,但我还没有找到它......

wpf math linear-algebra
4个回答
15
投票

对于介于0和1之间的每个p,这将在线段上给出一个点:

(x1, y1, z1) + p * ((x2, y2, z2) - (x1, y1, z1))

7
投票

这与数学有关,但没关系。让PQ成为两个给定点,X是你正在寻找的点。

P + r(Q - P) = X

r表示一个因素。

如果0 < r < 1:点x将在两点之间的线上。

而已!

编辑:

要从P(p1 / p2 / p3)找到给定距离d处的点:

d² / euclidian_square_distance(P,Q) = r

在上面提到的等式中插入r,你就明白了! :)

P.S:顺便说一句:qazxsw poi ...我打赌你已经知道了:)


1
投票

P-Q = (Px - Qx, Py - Qy, Pz - Qz)从0到1不等。使用以下内容:

t

当t = 0时,你得到第一个点。当t = 1时,你得到第二个。

这种方法叫做(x3, y3, z3) = (1-t)*(x1, y1, z1) + t*(x2, y2, z2)


0
投票

连接3d中的点的线由等式给出:

(x - x1)/(x2 - x1)=(y - y1)/(y2 - y1)=(z - z1)/(z2 - z1)

您的值为x1,y1,z1,x2,y2,z2。这将为您提供该线的等式。

另一个等式

((X-X1)^ 2 +(Y-Y1)^ 2 +(Z-Z1)^ 2)^(1/2)=距离

求解2个方程以得到点的值。

© www.soinside.com 2019 - 2024. All rights reserved.