空间两直线求交点

import numpy as np


def calCoordinateFrom2Lines(P_1, s_1, Q_1, s_2):
    m_1 = np.array([s_1[0]])
    n_1 = np.array([s_1[1]])
    p_1 = np.array([s_1[2]])
    m_2 = np.array([s_2[0]])
    n_2 = np.array([s_2[1]])
    x_1 = np.array([P_1[0]])
    y_1 = np.array([P_1[1]])
    z_1 = np.array([P_1[2]])
    x_2 = np.array([Q_1[0]])
    y_2 = np.array([Q_1[1]])
    t = (m_2 * (y_2 - y_1) + n_2 * (x_1 - x_2)) / ((m_2 * n_1) - (m_1 * n_2))
    x = x_1 + m_1 * t
    y = y_1 + n_1 * t
    z = z_1 + p_1 * t
    M = np.array([x, y, z]).transpose()
    return M


pass

'''if __name__ == '__main__':
    P_1 = np.array([-108.45, 174.45, 0])
    s_1 = np.array([-335.6, -77.27, 0])
    Q_1 = np.array([227.15, 174.45, 0])
    s_2 = np.array([335.6, -77.27, 0])'''
if __name__ == '__main__':
    P_1 = [-108.45, 174.45, 0]
    s_1 = [-335.6, -77.27, 0]
    Q_1 = [227.15, 174.45, 0]
    s_2 = [335.6, -77.27, 0]
'''if __name__ == '__main__':
    P_1 = np.array([-55.88, -531.80, 0])
    P_2 = np.array([55.88, -233.23, 0])
    Q_1 = np.array([55.88, -531.80, 0])
    Q_2 = np.array([-55.88, -233.23, 0])'''
print(calCoordinateFrom2Lines(P_1, s_1, Q_1, s_2))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值