Coordinate.calCoordinateFrom2PointsAndPlane()函数说明

一、功能

​ 该函数用于计算空间直线与空间平面的交点坐标。

二、计算原理

​ 空间直线与平面交点示意如下图所示:

​ 利用空间直线上任意两点求得其方向向量:
LineVector=(x1−x2,y1−y2,z1−z2)=(m,n,p)LineVector=(x_1-x_2,y_1-y_2,z_1-z_2)=(m,n,p) LineVector=(x1​−x2​,y1​−y2​,z1​−z2​)=(m,n,p)
​ 根据丘维声所著《解析几何(第三版)》第60-61页可将空间直线方程表示为“点向式”方程:
x−x1m=y−y1n=z−z1p\frac{x-x_1}{m}=\frac{y-y_1}{n}=\frac{z-z_1}{p} mx−x1​​=ny−y1​​=pz−z1​​
​ 利用中间参数可将上式表示为:
{x=mt+x1y=nt+y1z=pt+z1\left\{ \begin{array}{c} x=mt+x_1\\ y=nt+y_1\\ z=pt+z_1 \end{array} \right. ⎩⎨⎧​x=mt+x1​y=nt+y1​z=pt+z1​​
​ 通过上式与平面方程联立可计算出中间参数为:
t=−ax1−by1−cz1−dam+bn+cpt=\frac{-ax_1-by_1-cz_1-d}{am+bn+cp} t=am+bn+cp−ax1​−by1​−cz1​−d​
​ 利用计算出的中间参数反求直线与平面交点E(x,y,z)。至此,空间直线与平面交点坐标求解完毕。

三、使用

1、输入

​ 根据上述函数计算原理可知,该函数的输入为空间直线上任意两点坐标与平面方程参数:
Input():{P1(x1,y1,z1)P2(x2,y2,z2)(a,b,c,d)∈ax+by+cz+d=0Input(): \left\{ \begin{array}{c} P_1(x_1,y_1,z_1)\\ P_2(x_2,y_2,z_2)\\ (a,b,c,d) \in ax+by+cz+d=0 \end{array} \right. Input():⎩⎨⎧​P1​(x1​,y1​,z1​)P2​(x2​,y2​,z2​)(a,b,c,d)∈ax+by+cz+d=0​

2、输出

​ 根据上述函数计算流程可知,该函数的输出为空间直线与平面的交点:
Output:E(x,y,z)Output:E(x,y,z) Output:E(x,y,z)

3、调用示例

P1 = np.array([-670.13, 1477.30, -1576.88])
P2 = np.array([-761.34, 914.65, -1576.88])
PlaneParams = np.array([0.00000000e+00, 5.54216347e+05, 0.00000000e+00, -3.57990507e+08])print(calCoordinateFrom2PointsAndPlane(P1, P2, PlaneParams))

4、调用结果

[[ -804.90000912   645.93999967 -1576.88 ]]

开源算法库地址,qq交流群:873647617

利用python通过两点构成的空间直线和平面计算交点相关推荐

  1. python输入数组并计算_利用Python进行数据分析——Numpy基础:数组和矢量计算

    利用Python进行数据分析--Numpy基础:数组和矢量计算 ndarry,一个具有矢量运算和复杂广播能力快速节省空间的多维数组 对整组数据进行快速运算的标准数学函数,无需for-loop 用于读写 ...

  2. 求解直线与平面的交点

    求解直线与平面的交点 微信公众号:幼儿园的学霸 目录 文章目录 求解直线与平面的交点 目录 前言 数学模型推导 编程实现 参考资料 前言 直线与平面的交点求解相关的内容在网上已经有很多资料进行介绍,目 ...

  3. Unity求一条直线与平面的交点

    这个是面试官经常考的一个问题,我们先把它变成一个数学问题. 已知一个平面上的一点P0和法向量n,一条直线上的点L0和方向L,求该直线与该平面的交点P 如下图 首先我们分析一下我们知道平面和直线的法向量 ...

  4. Revit求直线与平面的交点

    直线与平面的交点有两种情况,交点在平面内或平面外,计算出交点后需确定此交点是否在已知平面内. 代码如下: /// <summary> /// 计算直线与平面的交点 /// </sum ...

  5. 《利用Python进行数据分析》笔记--NumPy数组和矢量计算

    阅读SeanCheney博主上传的文章有感,特此写一篇笔记,如侵必删. 第四章 NumPy基础 NumPy的ndarray:一种多维数组对象 1. 创建ndarray array函数,接受序列性的对象 ...

  6. 计算直线与平面的交点

    设直线上一点 p,以及其方向 dir 则直线公式可写作  p+t*dir 设平面法向量为nml,平面上一点 p0 方法一: 直线与平面相交时,必满足 dot ( (p+t*dir-p0),nml)=0 ...

  7. 如何求直线与平面的交点(两种方式)

    一:代数方式 我们假设它们的交点为P,既然我们有一个平面,那么平面上面的一个点P0和平面的normal(垂直于平面的向量)我们是肯定知道的. 根据3D数学知识,(P-P0) · normal = 0( ...

  8. pcl::lineToLineSegment() 计算空间直线的交点和最小公垂线

    对于两空间直线来说,计算交点和最小公垂线是一码事,交点即最小公垂线两个垂足的中心.PCL中源码中包含计算空间直线最小公垂线的函数 PCL_EXPORTS void pcl::lineToLineSeg ...

  9. 空间直线和三维物体之间的交线相关问题

    1.如何求空间直线在某一平面上的投影直线方程 https://zhidao.baidu.com/question/631349383625570644.html 2. 知道平面一点和平面法向量如何求平 ...

  10. 0804空间直线及其方程-向量代数与空间解析几何

    文章目录 1 空间直线方程 1.1 空间直线的一般方程 1.2 空间直线的对称式方程 1.3 空间直线的参数方程 1.4 空间直线的两点式方程 3 两直线的夹角 4 直线与平面的夹角 4.1 定义 4 ...

最新文章

  1. python urllib.request 爬虫 数据处理-python爬虫1--urllib请求库之request模块
  2. 蓝牙stack bluez学习(1)Stack Architecture
  3. 六、jQuery基础
  4. 高考与机器学习训练测试
  5. HBase删除和修改操作
  6. android mdpi对应哪一个屏幕,android 常见分辨率(mdpi、hdpi 、xhdpi、xxhdpi )及屏幕适配...
  7. shell 脚本加密
  8. 将 ASP.NET Core 2.1 升级到最新的长期支持版本ASP.NET Core 3.1
  9. 【leetcode】length of last word (easy)
  10. css入门自学笔记1
  11. 【房价预测】基于matlab Elman神经网络房价预测【含Matlab源码 589期】
  12. Cisco交换机设备配置镜像端口
  13. matlab与maple互联,编程语言与Maple联合使用教程
  14. 监狱视频探视(会见)系统
  15. 计算机无法为u盘保存所有数据,U盘不能写入数据怎么办
  16. 扫雷小游戏(可选择简单、一般、困难三种模式、可展开,可标记)
  17. echarts xAxis字显示不全
  18. 保护环境倡议书500字
  19. 下载微信视频号视频的憨批方法
  20. 理解JavaScript中的原型与原型链

热门文章

  1. 华为路由器eNSP的基本配置
  2. 上海万应云——大数据精准招商系统
  3. MyBatis - 使用@Param注解解决mybatis方法传入多参数时的报错问题
  4. cesium 计算两点之间的距离
  5. win 2008无法远程桌面服务器,Windows 2008远程桌面无法连接的几个情况分析
  6. win10c盘android,Win10系统C盘哪些文件可以删除?C盘无用文件都在哪?
  7. 拟物设计和Angular的实现 - Material Design
  8. 谷歌地图kml能透明吗_如何打开KML和KMZ文件并与卫星影像叠加
  9. python可视化数据分析交互作用_测试设计功能交互分析
  10. 3D建模场景怎么做?