利用python计算两个平面相交直线的方向向量

这篇具有很好参考价值的文章主要介绍了利用python计算两个平面相交直线的方向向量。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

calVectorFrom2Planes

功能

利用两平面的法向量做”叉乘“运算获得两平面交线的方向向量。

原理

如图所示,两平面相交关系为:

利用python计算两个平面相交直线的方向向量

图中 n 1 ⃗ \vec{n_1} n1 为平面1的法向量, n 2 ⃗ \vec{n_2} n2 为平面2的法向量, l ⃗ \vec{l} l 为两平面交线的方向向量。根据丘维声所著《解析几何(第三版)》第30-36页可知,该方向向量可由两平面法向量进行叉乘运算得到,公式为:
l ⃗ = n 1 ⃗ × n 2 ⃗ \vec{l}=\vec{n_1}\times\vec{n_2} l =n1 ×n2
由平面一般式方程可知,平面的法向量为: n ⃗ = ( a , b , c ) \vec{n}=(a,b,c) n =(a,b,c),利用两相交平面的方程参数即可进行法向量”叉乘“,获得交线的方向向量 l ⃗ = ( m , n , p ) \vec{l}=(m,n,p) l =(m,n,p),利用该直线上任意一点坐标 ( x 1 , y 1 , z 1 ) (x_1,y_1,z_1) (x1,y1,z1)可得到该支线的”点法式“方程:
x − x 1 m = y − y 1 n = z − z 1 p \frac{x-x_1}{m}=\frac{y-y_1}{n}=\frac{z-z_1}{p} mxx1=nyy1=pzz1

使用

输入

两相交平面方程一般式的参数 P a r a m 1 ( a 1 , b 1 , c 1 , d 1 ) Param_1(a_1,b_1,c_1,d_1) Param1(a1,b1,c1,d1) P a r a m 2 ( a 2 , b 2 , c 2 , d 2 ) Param_2(a_2,b_2,c_2,d_2) Param2(a2,b2,c2,d2)

输出

两平面交线方向向量 l ⃗ ( m , n , p ) \vec{l}(m,n,p) l (m,n,p)

DEMO

import geomeas as gm
import numpy as np

Param_1 = np.array([0, 0, -4361.9337, 362040.4971])
Param_2 = np.array([-2180.41, 6939.63, 2165.499, -283785.5822])

print(gm.Vector().calVictorFrom2Planes(Param_1, Param_2))

代码链接文章来源地址https://www.toymoban.com/news/detail-445877.html

到了这里,关于利用python计算两个平面相交直线的方向向量的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1.5 空间中的平面与直线

    1.平面的法向量与法式 定义1 若向量n 垂直与平面N,则称向量n为平面N的法向量。 设一平面通过一直点 M 0 ( x 0 , y 0 , z 0 ) M_0(x_0,y_0,z_0) M 0 ​ ( x 0 ​ , y 0 ​ , z 0 ​ ) 求垂直于非零向量 n ⃗ vec{n} n = (A,B,C),求改平面N的方程。 任意点 M ( x , y , z ) ∈ N M(x,y,z) in N M ( x , y , z ) ∈

    2024年02月09日
    浏览(43)
  • 计算两个或多个向量之间的相关性(Matlab 实现)

    本文首次在公众号【零妖阁】上发表,为了方便阅读和分享,我们将在其他平台进行自动同步。由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文。感谢您的阅读和支持! 两个随机变量 x x x 、 y y y 的 Pearson 线性相关

    2024年02月04日
    浏览(37)
  • ChatGPT 拓展资料:AI大模型之美 -计算两个向量之间的余弦相似度

    ChatGPT 拓展资料:AI大模型之美 -计算两个向量之间的余弦相似度 本文讲解使用openai.embeddings_utils中的cosine_similarity和get_embedding函数。 首先,让我们了解一下这两个函数的作用: cosine_similarity: 计算两个向量之间的余弦相似度。 get_embedding: 获取一个单词或短语的嵌入向量表示。

    2023年04月23日
    浏览(50)
  • Unity 3D之 利用Vector3 计算移动方向,以及实现位移多少

    这段代码是一个在游戏开发中常见的示例,用于获取玩家的输入,并将输入值转换为一个三维向量,以表示移动方向。让我们逐步解释这段代码: float horizontalInput = Input.GetAxis(\\\"Horizontal\\\"); :这一行代码获取水平方向上的输入。它调用 Input.GetAxis(\\\"Horizontal\\\") 来获取水平轴的输入

    2024年02月11日
    浏览(41)
  • python 根据两个向量,求的之间的旋转矩阵:

    项目遇到一个问题,就是需要根据 原始向量 和 目标向量 求他们两个之间的 旋转矩阵 ,网上结果很少,也有很多错误,因此写了一个,项目中使用过程没出现问题。         原理参考的是知乎大佬的对   Rodrigues\\\' rotation formula  和 知乎 的总结,主要如下:

    2024年02月13日
    浏览(36)
  • 如何判断两个多边形是否相交?——多边形相交判定算法详解

    如何判断两个多边形是否相交?——多边形相交判定算法详解 在计算机图形学中,判断两个多边形是否相交是一项很重要的任务。这涉及到各种应用场景,如碰撞检测、模拟物理效果等。在本篇文章中,我们将会介绍多边形相交判定算法的相关知识和实现方式。 首先,我们

    2024年02月14日
    浏览(62)
  • 判断两个矩形是否相交(Rect Intersection)

    最近在开发一个2D组态图形组件的过程中,里面的数学模块,涉及到两个矩形是否相交的判断。 这个问题很多年前就写过,算是个小的算法吧。 网络上搜索一下,有很多思路,有一些思路要基于多种组合的判断,显得比较复杂。 比如两个矩形相交的情形,可能有下面的多种

    2024年02月08日
    浏览(50)
  • Python-opencv计算两条直线或者线段角度

    通过斜率关系计算,公式如下图: 需注意在求斜率时不要出现竖直情况,python计算会报错,但按理说应该可以计算出无穷的,此处先放这吧,等后期有时间再来解释这里原因。 通过余弦定理计算三点角度: 若三边为a,b,c ,则如图所示,在△ABC中: 使用前提:分母不要有

    2024年02月15日
    浏览(43)
  • <基础数学> 平面向量基本定理

    向量平行 a ⃗ / / b ⃗ ( b ⃗ ≠ 0 ⃗ )的充要条件是 vec{a} // vec{b}( vec{b}neq vec{0})的充要条件是 a // b ( b  = 0 )的充要条件是 x 1 y 2 − y 1 x 2 = 0 x_1y_2-y_1x_2=0 x 1 ​ y 2 ​ − y 1 ​ x 2 ​ = 0 向量垂直 a ⃗ ⊥ b ⃗ ⇔ a ⃗ ⋅ b ⃗ = 0 , vec{a} bot vec{b} Leftrightarrow vec{a}

    2024年04月26日
    浏览(28)
  • LeetCode Java两个单链表相交的一系列问题

    题目描述 单链表可能有环,也可能无环。给定两个单链表的头节点 head1和head2,这两个链表可能相交,也可能不相交。 请实现一个函数,如果两个链表相交,请返回相交的第一个节点;如果不相交,返回null 即可。 要求:如果链表1的长度为N,链表2的长度为M,时间复杂度请

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包