繁体   English   中英

Java:根据距离绘制点

[英]Java: plot points based on distances

我需要根据距离绘制一组点。 我有三个未知点X,Y和Z。然后得到另一个未知点(A)及其与原始点的距离(AX,AY,AZ)。 我将继续获取点和距离(B,BX,BY,BZ; C,CX,CY,CZ)等。

我的问题是是否有可能绘制所有点。 如果是这样,我需要多少个精确的绘图图? 大概的地图呢?

这类似于这个问题,但是我得到了一组不同的距离,并且不仅限于原始点数。

另外,如果这可以帮助我向X,Y,Z组添加更多点,从而为我提供A,B等的更多距离。直到经过某种方式计算之后,我才知道所有的XY距离, XZ,YZ,AB,AC等

我不确定确切的绘图图或近似的绘图图是什么意思。 我想我可能知道,但我不确定。 但是,在这种情况下,如果用户可以继续“动态添加更多点到XYZ组”,则无法绘制所有点。 听起来您需要先了解用户将要绘制的内容。 现在,如果所有这些都是静态的,则有可能

  1. 我假设您使用2D空间

    如果是1D,则2点就足够了(不完全相同!!!)。

    如果是2D,3个距离就足够了,但所使用的点不得位于同一条线上!

  2. 情节的位置/方向

    对于相对绘图,只要您还想要确切的方向和位置,就足以满足上述条件,那么您需要知道前3个点的确切位置,否则您的绘图看起来将是相同的,但是可以偏移,旋转和镜像到原始几何图形。

    • 知道1点可以消除偏移
    • 知道2点消除旋转
    • 知道3点消除了镜像

[笔记]

您需要n+1点用于nD坐标系

[edit1]方程

原始问题文本不包含任何需要的方程式,但是注释需要它,因此这里是一些:

您将需要两个超球体之间的交点(在2D圆中,在3D球体中,...),因此请看这里:

将每个点的圆以中心为中心,半径等于到该点的距离。 找出在圆的所有组合(0,1),(0,2),(1,2)之间相同的交点

例

黄色交集在所有3种组合中都是相同的,因此下一个点或对于2D而言只需解决此系统:

(x-x0)^2+(y-y0)^2=l0^2
(x-x1)^2+(y-y1)^2=l1^2
(x-x2)^2+(y-y2)^2=l2^2

其中x,y是交点, xi,yi是圆心, li是到该点的距离。

如果正确的话,第一种选择应该更简单,更准确,但需要一些矢量和三角数学知识。 您将需要在矢量上添加旋转或计算,并在2D中使用垂直矢量特征

V(x,y) -> V0(+y,-x),V1(-y,+x)

V0,V1垂直于V

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM