Geometry 在正方形上找到给定3点的原点

Geometry 在正方形上找到给定3点的原点,geometry,linear-algebra,Geometry,Linear Algebra,我正在用机器人做校准程序。我用传感器搜索广场的角落 如图所示,我得到点A、B和C的X、Y。现在我想计算点D(原点)的XY。转角始终为90度。我该怎么做 我试着自己计算,但我的数学技能让我失望。问题是在通过(a-B)的直线上找到一个点D,这样(D-a)就垂直于(D-C)。我用向量代数推导了四行 扩展到标量算法并在python中实现 def拐角(a、b、c): c1=(a[0]-c[0])*(a[0]-b[0])+(a[1]-c[1])*(a[1]-b[1]) c2=(a[0]-b[0])*(a[

我正在用机器人做校准程序。我用传感器搜索广场的角落

如图所示,我得到点A、B和C的X、Y。现在我想计算点D(原点)的XY。转角始终为90度。我该怎么做


我试着自己计算,但我的数学技能让我失望。

问题是在通过(a-B)的直线上找到一个点D,这样(D-a)就垂直于(D-C)。我用向量代数推导了四行

扩展到标量算法并在python中实现

def拐角(a、b、c):
c1=(a[0]-c[0])*(a[0]-b[0])+(a[1]-c[1])*(a[1]-b[1])
c2=(a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1])
t=c1/c2
返回[a[0]+(b[0]-a[0])*t,a[1]+t*(b[1]-a[1])]
corner((3,5)、(5,9),(-1,2))//应该给出(1,1)

问题是在穿过(a-B)的直线上找到一个点D,这样(D-a)就垂直于(D-C)。我用向量代数推导了四行

扩展到标量算法并在python中实现

def拐角(a、b、c):
c1=(a[0]-c[0])*(a[0]-b[0])+(a[1]-c[1])*(a[1]-b[1])
c2=(a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1])
t=c1/c2
返回[a[0]+(b[0]-a[0])*t,a[1]+t*(b[1]-a[1])]
corner((3,5)、(5,9),(-1,2))//应该给出(1,1)
将numpy作为np导入
def定位_顶点(A、B、C):
AB=B-A
AB=AB/np.sqrt((AB).dot(AB))
D=A+(C-A).点(AB)*AB
返回D
将numpy作为np导入
def定位_顶点(A、B、C):
AB=B-A
AB=AB/np.sqrt((AB).dot(AB))
D=A+(C-A).点(AB)*AB
返回D

虽然此代码可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值。虽然此代码可以回答问题,但提供有关此代码回答问题的原因和/或方式的附加上下文可提高其长期价值。