- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
enter image description here 三个点的坐标为 (-2.5466649, -1.2534076, 0.0001741)、(-2.6229969, 1.6419994, 0.0000651) 和 (-2.6972299, 2.8495214, 0.0003421)。想找到距离分别为 1.01、3.91 和 5.12 的点。
import numpy as np
x1=-2.5466649
y1=-1.2534076
z1= 0.0001741
x2=-2.6229969
y2= 1.6419994
z2= 0.0000651
x3=-2.6972299
y3= 2.8495214
z3= 0.0003421
#distance
l1=1.01
l2=3.91
l3=5.12
#coefficient
a1=2*(x2-x1)
a2=2*(x3-x2)
a3=2*(x1-x3)
b1=2*(y2-y1)
b2=2*(y3-y2)
b3=2*(y1-y3)
c1=2*(z2-z1)
c2=2*(z3-z2)
c3=2*(z1-z3)
d1 = l1**2 - l2**2 - x1**2 - y1**2 - z1**2 + x2**2 + y2**2 + z2**2
d2 = l2**2 - l3**2 - x2**2 - y2**2 - z2**2 + x3**2 + y3**2 + z3**2
d3 = l3**2 - l1**2 - x3**2 - y3**2 - z3**2 + x1**2 + y1**2 + z1**2
a = np.array([[a1, b1, c1], [a2, b2, c2], [a3, b3, c3]])
b = np.array([d1, d2, d3])
x = np.linalg.solve(a, b)
print x # [-5.00886518e+02 -1.78735572e+01 -6.55360000e+04]
最佳答案
我认为从你的图形描述来看,你指的是三边测量。更多信息here
我还找到了this安德鲁给出的答案之一( link to answer )中有一些代码。在这里为您的问题分享相同的代码。
import numpy
from numpy import sqrt, dot, cross
from numpy.linalg import norm
# Find the intersection of three spheres
# P1,P2,P3 are the centers, r1,r2,r3 are the radii
# Implementaton based on Wikipedia Trilateration article.
def trilaterate(P1,P2,P3,r1,r2,r3):
temp1 = P2-P1
e_x = temp1/norm(temp1)
temp2 = P3-P1
i = dot(e_x,temp2)
temp3 = temp2 - i*e_x
e_y = temp3/norm(temp3)
e_z = cross(e_x,e_y)
d = norm(P2-P1)
j = dot(e_y,temp2)
x = (r1*r1 - r2*r2 + d*d) / (2*d)
y = (r1*r1 - r3*r3 -2*i*x + i*i + j*j) / (2*j)
temp4 = r1*r1 - x*x - y*y
if temp4<0:
raise Exception("The three spheres do not intersect!");
z = sqrt(temp4)
p_12_a = P1 + x*e_x + y*e_y + z*e_z
p_12_b = P1 + x*e_x + y*e_y - z*e_z
return p_12_a,p_12_b
P1=numpy.array([-2.5466649, -1.2534076, 0.0001741])
P2=numpy.array([-2.6229969, 1.6419994, 0.0000651])
P3=numpy.array([-2.6972299, 2.8495214, 0.0003421])
r1=1.01
r2=3.91
r3=5.12
print(trilaterate(P1,P2,P3,r1,r2,r3))
尽管此代码给出了此错误
raise Exception("The three spheres do not intersect!");
Exception: The three spheres do not intersect!
我认为你们的距离存在问题,这会导致没有共同的交点。
编辑:编辑代码,因为没有导入
关于python - 如何找到距其他三个点特定距离的点的坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57301938/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!