[英]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组”,则无法绘制所有点。 听起来您需要先了解用户将要绘制的内容。 现在,如果所有这些都是静态的,则有可能
我假设您使用2D空间
如果是1D,则2点就足够了(不完全相同!!!)。
如果是2D,则3个距离就足够了,但所使用的点不得位于同一条线上!
情节的位置/方向
对于相对绘图,只要您还想要确切的方向和位置,就足以满足上述条件,那么您需要知道前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.