Java:基于距离绘制点
我需要根据距离绘制一组点。我有三个未知点X,Y和Z。然后我得到另一个未知点(A)及其与原始点(AX,AY,AZ)的距离。我将继续获取点和距离(B、BX、BY、BZ;C、CX、CY、CZ)等 我的问题是是否有可能画出所有的点。如果是这样的话,我需要多少点才能得到一张精确的地图?一张大概的地图怎么样 这与类似,但我得到了一组不同的距离,并且不限于原始点数Java:基于距离绘制点,java,canvas,plot,geometry,computational-geometry,Java,Canvas,Plot,Geometry,Computational Geometry,我需要根据距离绘制一组点。我有三个未知点X,Y和Z。然后我得到另一个未知点(A)及其与原始点(AX,AY,AZ)的距离。我将继续获取点和距离(B、BX、BY、BZ;C、CX、CY、CZ)等 我的问题是是否有可能画出所有的点。如果是这样的话,我需要多少点才能得到一张精确的地图?一张大概的地图怎么样 这与类似,但我得到了一组不同的距离,并且不限于原始点数 此外,如果这有帮助的话,我可以在X、Y、Z组中添加更多的点,这将为A、B等提供更多的距离。在不知怎么计算之前,我不知道的是XY、XZ、YZ、AB、
此外,如果这有帮助的话,我可以在X、Y、Z组中添加更多的点,这将为A、B等提供更多的距离。在不知怎么计算之前,我不知道的是XY、XZ、YZ、AB、AC等距离。我不确定确切的绘图地图或近似绘图地图是什么意思。我想我可能知道,但我不确定。但是,在这种情况下,如果用户可以继续“向XYZ组添加更多点”(这是动态的),则无法绘制所有点。听起来你需要在用户开始之前知道他要画什么。现在,如果所有这些都是静态的,这是可能的
- 知道1点可以消除偏移
- 知道两点可以消除旋转
- 了解3点可以消除镜像
n-D
坐标系,您需要n+1
点
[edit1]方程
原始问题文本未包含任何需要的方程式,但注释需要,因此以下是一些:
您将需要两个超球体之间的交点(在二维圆中,在三维球体中,…),请看这里:
(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
通过精确与近似值垂直,我的意思是,如果可以将位置估计在某个小分数内,那就足够了。i、 我很想知道X在[4,5]处,但如果我能确定它在以[4,5]为中心的半径为0.001的圆内,那就足够了。放置点后,这些点是静态的。我最初的思路是把A放在[0,0]上,把X放在[0,AX]上,以得到一个基本的参考框架。然后我们知道B必须在以X为中心半径BX的圆上或圆内。从那里我不知道该去哪里,或者在不知道至少一个Y的情况下是否有可能。太好了!我会用什么公式?