python实现点到平面的距离
python实现点到平面的距离
目录
python实现点到平面的距离
1.三点定面
2.点到面的距离
3.python实现点到面的距离
关于点线面之间关系可以参考:平面方程与点到平面的距离_西檬饭-CSDN博客_点到平面距离
1.三点定面
空间上任意三个不共线的点,可以确定一个平面,三点定面的例子:
2.点到面的距离
点到面的距离,可参考这个例子
3.python实现点到面的距离
空间上不共线的三个点P1,P2,P3确定一个平面,计算空间上某个点P4到{P1,P2,P3}组成的平面的距离,可如下计算
import numpy as npdef define_area(point1, point2, point3):"""法向量 :n={A,B,C}空间上某点:p={x0,y0,z0}点法式方程:A(x-x0)+B(y-y0)+C(z-z0)=Ax+By+Cz-(Ax0+By0+Cz0)https://wenku.baidu.com/view/12b44129af45b307e87197e1.html:param point1::param point2::param point3::param point4::return:(Ax, By, Cz, D)代表:Ax + By + Cz + D = 0"""point1 = np.asarray(point1)point2 = np.asarray(point2)point3 = np.asarray(point3)AB = np.asmatrix(point2 - point1)AC = np.asmatrix(point3 - point1)N = np.cross(AB, AC) # 向量叉乘,求法向量# Ax+By+CzAx = N[0, 0]By = N[0, 1]Cz = N[0, 2]D = -(Ax * point1[0] + By * point1[1] + Cz * point1[2])return Ax, By, Cz, Ddef point2area_distance(point1, point2, point3, point4):""":param point1:数据框的行切片,三维:param point2::param point3::param point4::return:点到面的距离"""Ax, By, Cz, D = define_area(point1, point2, point3)mod_d = Ax * point4[0] + By * point4[1] + Cz * point4[2] + Dmod_area = np.sqrt(np.sum(np.square([Ax, By, Cz])))d = abs(mod_d) / mod_areareturn dif __name__ == '__main__':# 初始化数据point1 = [2, 3, 1]point2 = [4, 1, 2]point3 = [6, 3, 7]point4 = [-5, -4, 8]# 计算点到面的距离d1 = point2area_distance(point1, point2, point3, point4) # s=8.647058823529413print("点到面的距离s: " + str(d1))
python实现点到平面的距离相关推荐
- 知三点求平面 || 点到平面的距离
知三点求平面 点到平面的距离 double x,y,z;cin>>x>>y>>z;double p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3 ...
- 点到平面的距离公式【转】
准备知识 平面的一般式方程 Ax +By +Cz + D = 0 其中n = (A, B, C)是平面的法向量,D是将平面平移到坐标原点所需距离(所以D=0时,平面过原点) 向量的模(长度) 给定一个 ...
- 电子计算机应用地质地貌,岩土基础整理 一、高数24 1、空间解析几何与向量代数 两点间的距离,向量数量积,向量向量积,平面方程,两平面夹角,点到平面的距离,点... - 雪球...
来源:雪球App,作者: 超级奶爸xujunhorse,(https://xueqiu.com/3442498082/131579485) 一.高数24 1.空间解析几何与向量代数 两点间的距离,向量 ...
- Cloudcompare 点到平面的距离以及点到平面的投影点
Cloudcompare 点到平面的距离以及投影点坐标 引言 一.软件操作 二.源码解读 2.1 准备工作 2.2 计算距离 2.3 投影点坐标 引言 对比两组点云的相似度,一般都是使用距离来量化重合 ...
- 已知三点求平面方程、平面法向量和点到平面的距离
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...
- 已知三点求平面方程、平面法向量和点到平面的距离(转载)
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...
- 三点求平面方程、平面法向量和点到平面的距离
已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3), 要求确定的平面方程,关键在于求出平面的一个法向量 为此做向量p1p2(x2-x1,y2-y1,z2-z1), p ...
- 点到平面的距离公式推导
预备知识: (1) 平面的一般表达式: 其中,n=(A,B,C)是平面的法向量,D决定了平面与原点之间的距离,当D=0时,平面经过原点. (2) 向量的模(长度): 给定一个向量V=(x,y,z),则 ...
- [2018北京ICPC网络赛H] HihoCoder - 1835 K-Dimensional Foil II(点到平面的距离)
题目链接: 点击前往 题目: 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 "K-Dimensional Foil" is a dimensional ...
最新文章
- iwebshop商户手机模板_认证小红书企业号手机端最详细的认证流程!认证之前看这篇!...
- EasyUI datagrid动态加载json数据
- 了解大数据在人力资源和薪资中的作用
- python开发客户端_python用700行代码实现http客户端
- token的三点注意项
- bugku——普通的二维码(进制转换)
- .net 遍历界面上所有的控件,替换危险字符,例如单引号。
- Hibernate讲解(三)-类映射文件中常用属性的了解
- 人人都可以写贪吃蛇(白话javascript版)
- Docker设置容器CPU、memory、磁盘IO资源限制
- linux hal 结构图
- python set集合转numpy.array
- 计算机思维在生活中的应用,孩子必备的计算机思维,如何从生活中培养?
- Excel函数大全-10查找和引用函数
- WIN11自定义版本镜像下载教程
- TP、FP、TN、FN傻傻分不清楚
- 数据组,请求组,职责,用户关系
- 解释程序和编译程序的区别
- PHP中的preg_replace()函数
- 运行错误 terminate called without an active exception
热门文章
- HTML相对路径(Relative Path)和绝对路径(Absolute Path)
- Mustache 中的html转义问题处理
- 【转】Android必备知识点- Android文件(File)操作
- docker三剑客之docker-machine
- 进程丶线程丶CPU关系简述
- gridview汇出EXCEL (ExportGridViewToExcel(dt, HttpContext.Current.Response);)
- Windows下配置sphinx+reStructuredText详解
- 学习NodeJS第一天:node.js引言
- 引用类型传递参数的特殊情况(string)
- 我们的故事(八)-----仲夏夜之梦