平面方程(Plane Equation)

原文链接:http://www.songho.ca/math/plane/plane.html
翻译:罗朝辉 (http://www.cnblogs.com/kesalin/)
本文遵循“署名-非商业用途-保持一致”创作公用协议

平面方程

平面上的一点以及垂直于该平面的法线唯一定义了 3D 空间的一个平面。


(图一) 3D 空间的平面

在图一中,给定法线向量  ,以及平面上的一点 P1,对于平面上的任意一点 P ,我们可以在平面上定义一个由 P1 指向 P 的向量:

因为法线  垂直于平面,它必定也垂直于位于平面上的向量 ,因此它们的点积为 0 :

以上就是平面方程的向量形式,下面我们来看代数形式的,通过点积计算,我们得到:

如果我们用  来替代上面表达式中的常数部分,就得到平面方程的代数形式

原点到平面的距离

如果法线是归一化的,那么平面方程中的常数表达式 d 就是原点到平面的距离。


(图二)平面和归一化法线

如图二中,给定归一化法线向量 (a1, b1, c1),以及平面上的一点 P1 (Da1, Db1, Dc1),我们来推导原点到平面的距离 D。 将法线向量(a1, b1, c1) 和点 P1 代入平面方程,得到:

因此,我们可以用标准平面方程除以法线的模(法线长度)来计算原点到平面的距离。举个例子,原点到以 (1, 2, 2) 为法线的平面(x + 2y + 2z - 6 = 0)的距离为 2,计算过程如下:

任意点到平面的距离


(图三) 任意点到平面的距离

如图三中,我们来推导空间中任意一点 P2 到平面的距离 D 的计算公式。P2 到平面的距离等于由 P1 指向 P2 的向量  在法线向量  上的投影。我们用点积来计算投影距离 D :

展开分子  :

代入前面的距离公式,得到最终的点到平面的距离公式

观察上面的式子,我们就可以发现距离 D 是将点 P2 代入平面方程中,再除以法线的模得到的。举个例子,点(-1, -2, -3)到平面 x + 2y + 2z - 6 = 0 的距离为:

注意:距离是有符号的!它可以为负值,我们可以通过这个符号来决定点位于平面的哪一边(D > 0,点在平面的正面-法线指向那一边;D < 0,带在平面的反面-法线相反方向的那一边,当然 D = 0 就是在平面上啦!)。

转载于:https://www.cnblogs.com/kesalin/archive/2009/09/09/plane_equation.html

平面方程(Plane Equation)相关推荐

  1. ML之SVM:随机产生100个点,建立SVM模型,找出超平面方程

    ML之SVM:随机产生100个点,建立SVM模型,找出超平面方程 目录 实现结果 代码实例 实现结果 代码实例 import numpy as np import pylab as pl from s ...

  2. 最小二乘求解点云平面方程及其对应法向量

    csdn对latex语法支持不完整啊,太不友好了,那我只好上图片了.我把文档已经上传到csdn了,免积分,链接. 本文采用线性最小二乘直接解法(即对矩阵求逆),当矩阵维度大时,可能耗时比较多,可以采用 ...

  3. pcl求平面法向量_线性代数6——平面方程与矩阵

    线性方程的几何意义 二元线性方程 该方程是一个二元线性方程组,包含两个方程,每个方程是一条直线,两条直线的交点就是该方程有唯一解,这就是二元线性方程的几何意义. 平面方程 空间内不在同一直线上的三点构 ...

  4. 点云插值:三维平面参数确定-不共线三点的平面方程

    参考链接:三维空间中的平面方程 这个链接是错误的: http://blog.csdn.net/PengPengBlog/article/details/52774421 //获取平面方程//Ax + ...

  5. MIT多变量微积分--4.平面方程,线性方程组

    1.平面方程 我们知道ax+by+cz=d类似这样的方程是平面方程,but,why? 例1:求一个平面方程,其法向量N为<1,5,7>,且平面过原点. 解:在平面上任意找一点P(x,y,z ...

  6. 已知三点求平面方程、平面法向量和点到平面的距离

    已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...

  7. 解析几何:第四章 空间中的直线与平面(1)空间直线的方向、平面方程、空间直线方程

    §1 空间直线的方向 1. 方向角 通过原点O的直线OM与三条坐标轴的夹角α,β,γ称为该直线的方向角 即: α=∠MOX,β=∠MOY,γ=∠MOZ 2. 方向余弦 直线方向角的余弦称为方向余弦. ...

  8. 方程:方程(equation)是指含有未知数的等式

    方程(equation)是指含有未知数的等式.是表示两个数学式(如两个数.函数.量.运算)之间相等关系的一种等式,使等式成立的未知数的值称为"解"或"根".求方 ...

  9. 梯度、Hessian矩阵、平面方程的法线以及函数导数的含义

    想必单独论及" 梯度.Hessian矩阵.平面方程的法线以及函数导数"等四个基本概念的时候,绝大部分人都能够很容易地谈个一二三,基本没有问题. 其实在应用的时候,这几个概念经常被混 ...

最新文章

  1. Java对象序列化详解6,Java对象的序列化与反序列化详解
  2. 倒排列表压缩算法汇总——分区Elias-Fano编码貌似是最牛叉的啊!
  3. VTK:可视化之MultipleRenderWindows
  4. mybatis使用statement.getGenreatedKeys(); useGeneratedKeys=”true”;使用自增主键获取主键值策略和Oracle不支持自增,Oracle使用序列
  5. ae渲染出现错误是什么问题_[Switch]解决OPENWRT路由,使用UU加速器等出现相同IP,DNS解析错误问题...
  6. 线程等待通知 linux,Java 线程协作 wait(等待)与 notiy(通知)
  7. linux mint 主题切换,详解如何在 Linux Mint 中更换主题
  8. 原生JS获取元素属性值
  9. 8、周期性任务、find、break和continue 学习笔记
  10. 软件测试之图覆盖(作业3)
  11. 八大机器学习框架对比及Tensorflow的优势
  12. 超全!常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)
  13. Mac屏幕显示怎么缩小放大?Mac屏幕缩放教程
  14. Python-等额本息计算
  15. java 多用组合_java 为什么说多用组合,少用继承?
  16. 16位院士加盟!“双一流”上海大学成立人工智能研究院
  17. 超声波水下通讯测试接收发射信号的完整性
  18. SQL 拼接多个字段的值一个字段多条记录的拼接
  19. 基于pytorch的双模态数据载入
  20. Java解析剑指Offer链表篇(1)

热门文章

  1. V8 中更快的异步函数和 promises
  2. Mac下的Jenkins安装
  3. linux常用命令技巧--更新中
  4. 靠能力赚大钱,是最最可笑的谎言
  5. BSD配置SSH服务
  6. 实践:创建异步 HTTP 处理器
  7. 【计算机网络】wireshark数据流追踪、图像抓取(转)
  8. springboot集成环信sdk报错
  9. Java 中的悲观锁、乐观锁、自旋锁、适应性自旋锁、偏向锁、轻量级锁、重量级锁、公平锁、非公平锁、可重入锁、共享锁等
  10. iphone11右上角信号显示_苹果iOS11信号强度的标志变了意味着什么?