当前位置: 首页 > java >正文

几何_平面方程表示_点+向量形式

三维平面方程可以写成

π : n ⊤ X + d = 0 \boxed{\pi: \mathbf{n}^\top \mathbf{X} + d = 0} π:nX+d=0


📐 一、几何直观解释

✅ 平面是“法向量 + 平面上一点”定义的集合

一个平面可以由:

  • 一个单位法向量 n ∈ R 3 \mathbf{n} \in \mathbb{R}^3 nR3(垂直于平面);
  • 和一个平面上某点 X 0 ∈ R 3 \mathbf{X}_0 \in \mathbb{R}^3 X0R3

定义平面上任意点 X \mathbf{X} X 满足:

( X − X 0 ) ⋅ n = 0 (\mathbf{X} - \mathbf{X}_0) \cdot \mathbf{n} = 0 (XX0)n=0

即,平面上任意点到参考点的连线,与法向量正交(内积为0)。


🧮 展开上述公式:

n ⊤ X − n ⊤ X 0 = 0 ⇒ n ⊤ X + d = 0 \mathbf{n}^\top \mathbf{X} - \mathbf{n}^\top \mathbf{X}_0 = 0 \Rightarrow \mathbf{n}^\top \mathbf{X} + d = 0 nXnX0=0nX+d=0

其中 d = − n ⊤ X 0 d = -\mathbf{n}^\top \mathbf{X}_0 d=nX0 是平面到原点的有向距离。

这就是常见的Hesse平面标准方程形式。


📊 二、代数形式说明

  • 给定平面法向量 n = [ a b c ] \mathbf{n} = \begin{bmatrix} a \\ b \\ c \end{bmatrix} n= abc
  • 给定平面上一点 X 0 = [ x 0 y 0 z 0 ] \mathbf{X}_0 = \begin{bmatrix} x_0 \\ y_0 \\ z_0 \end{bmatrix} X0= x0y0z0

则平面上任意点 X = [ x y z ] \mathbf{X} = \begin{bmatrix} x \\ y \\ z \end{bmatrix} X= xyz 满足:

a ( x − x 0 ) + b ( y − y 0 ) + c ( z − z 0 ) = 0 ⇒ a x + b y + c z + d = 0 a(x - x_0) + b(y - y_0) + c(z - z_0) = 0 \Rightarrow ax + by + cz + d = 0 a(xx0)+b(yy0)+c(zz0)=0ax+by+cz+d=0

其中:

d = − ( a x 0 + b y 0 + c z 0 ) d = -(ax_0 + by_0 + cz_0) d=(ax0+by0+cz0)

所以这是一种通用表示平面的方法。


🧱 举例:地面与墙面

  • 地面平面(世界Y轴为竖直方向):

    • 法向量 n = [ 0 , 1 , 0 ] ⊤ \mathbf{n} = [0, 1, 0]^\top n=[0,1,0]
    • 若地面通过原点,则 d = 0 d = 0 d=0
    • 方程: y = 0 ⇒ n ⊤ X + d = 0 y = 0 \Rightarrow \mathbf{n}^\top \mathbf{X} + d = 0 y=0nX+d=0
  • 前方墙面平面(正对相机,法向Z轴):

    • n = [ 0 , 0 , 1 ] ⊤ \mathbf{n} = [0, 0, 1]^\top n=[0,0,1],若离相机3米远: d = − 3 d = -3 d=3
    • 方程: z = 3 ⇒ n ⊤ X + d = 0 z = 3 \Rightarrow \mathbf{n}^\top \mathbf{X} + d = 0 z=3nX+d=0

✅ 总结

项目含义
n \mathbf{n} n平面的单位法向量
d d d平面到原点的有向距离(负号源自代数形式)
平面点 X \mathbf{X} X 满足 n ⊤ X + d = 0 \mathbf{n}^\top \mathbf{X} + d = 0 nX+d=0

http://www.xdnf.cn/news/5608.html

相关文章:

  • linux内存管理
  • C盘扩容方法:如何扩展不相邻的分区?
  • 8天Python从入门到精通【itheima】-1~5
  • Baumer工业相机堡盟工业相机在使用光源时如何选择蓝光还是红光
  • 制作一款打飞机游戏43:行为编辑
  • dfs算法第二次加训之普及/提高- ,详解 上
  • GPT系列:自然语言处理的演进与多模态的探索
  • day012-软件包管理专题
  • ms-swift 代码推理数据集
  • iOS即时通信的技术要点
  • 扩展:React 项目执行 yarn eject 后的 package.json 变化详解及参数解析
  • 25、Tailwind:魔法速记术——React 19 样式新思路
  • LeetCode 热题 100_只出现一次的数字(96_136_简单_C++)(哈希表;哈希集合;排序+遍历;位运算)
  • STC15W408AS计数器
  • 【C++11】异常
  • 配置集群-日志聚集操作
  • 三大告警方案解析:从日志监控到流处理的演进之路
  • 长度最小的子数组(leetcode)
  • C++ 与 Go、Rust、C#:基于实践场景的语言特性对比
  • 风车OVF镜像:解放AI开发限制的Ubuntu精简系统
  • 【vue】全局组件及组件模块抽离
  • Maven 项目中将本地依赖库打包到最终的 JAR 中
  • 如何使用主机名在 CMD 中查找 IP 地址?
  • leetcode 18. 四数之和
  • 力扣 旋转图像
  • 横向移动(上)
  • zorin系统详解
  • 牛客周赛 Round 92(再现京津冀蓝桥杯???)
  • C++23 中的 views::stride:让范围操作更灵活
  • 「华为」人形机器人赛道投资首秀!