平面方程的几种形式

平面方程

一、一般方程

A ( x − x 0 ) + B ( y − y 0 ) + C ( z − z 0 ) + D = 0 A(x-x_0) + B(y-y_0) + C(z-z_0) + D = 0 A(x−x0)+B(y−y0)+C(z−z0)+D=0

法向量: n ^ = ( A , B , C ) \mathbf{\hat n} = (A, B, C) n^=(A,B,C)

二、点法式

n ^ ⋅ ( p − p 0 ) = 0 \mathbf{\hat n} \cdot (p-p_0) = 0 n^⋅(p−p0)=0

  • n ^ \mathbf{\hat n} n^ 是平面的法向量。
  • p p p 是平面上的任意一点。
  • $p_0 $是平面上的一个已知点。
三、距离和法线

已知沿法向量方向平面到原点的垂直距离为 h e i g h t height height, 法向量: n ^ = ( A , B , C ) \mathbf{\hat n} = (A, B, C) n^=(A,B,C)。

高度

height 是从原点到平面的垂直距离,即沿着法向量方向的距离

单位法向量

将法向量 n ^ \mathbf{\hat n} n^ 归一化为单位向量。单位向量是具有相同方向但长度为1的向量。计算方法为:
n ^ = n ∣ n ∣ = ( A A 2 + B 2 + C 2 , B A 2 + B 2 + C 2 , C A 2 + B 2 + C 2 ) \hat{\mathbf{n}} = \frac{\mathbf{n}}{|\mathbf{n}|} = \left( \frac{A}{\sqrt{A^2 + B^2 + C^2}}, \frac{B}{\sqrt{A^2 + B^2 + C^2}}, \frac{C}{\sqrt{A^2 + B^2 + C^2}} \right) n^=∣n∣n=(A2+B2+C2 A,A2+B2+C2 B,A2+B2+C2 C)

利用高度确定平面上的一点

沿着单位法向量方向移动这一距离以找到平面上的一点 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0)
( x 0 , y 0 , z 0 ) = h e i g h t ⋅ n ^ = ( h e i g h t ⋅ A A 2 + B 2 + C 2 , h e i g h t ⋅ B A 2 + B 2 + C 2 , h e i g h t ⋅ C A 2 + B 2 + C 2 ) (x_0,y_0,z_0) = height \cdot \mathbf{\hat n} = \left( height \cdot \frac{A}{\sqrt{A^2 + B^2 + C^2}}, height \cdot \frac{B}{\sqrt{A^2 + B^2 + C^2}}, height \cdot \frac{C}{\sqrt{A^2 + B^2 + C^2}} \right) (x0,y0,z0)=height⋅n^=(height⋅A2+B2+C2 A,height⋅A2+B2+C2 B,height⋅A2+B2+C2 C)

表示: 从原点沿着单位法向量方向移动了 height 的距离,达到了平面上的某一点。

代入点法式方程
A ( x − x 0 ) + B ( y − y 0 ) + C ( z − z 0 ) = 0 A(x-x_0) + B(y-y_0) + C(z-z_0) = 0 A(x−x0)+B(y−y0)+C(z−z0)=0

A ( x − h e i g h t ⋅ A A 2 + B 2 + C 2 ) + B ( y − h e i g h t ⋅ B A 2 + B 2 + C 2 ) + C ( z − h e i g h t ⋅ C A 2 + B 2 + C 2 ) = 0 A(x - height \cdot \frac{A}{\sqrt{A^2 + B^2 + C^2}}) + B(y - height \cdot \frac{B}{\sqrt{A^2 + B^2 + C^2}}) + C(z - height \cdot \frac{C}{\sqrt{A^2 + B^2 + C^2}}) = 0 A(x−height⋅A2+B2+C2 A)+B(y−height⋅A2+B2+C2 B)+C(z−height⋅A2+B2+C2 C)=0

简化方程

展开和简化得到:
A x − h e i g h t ⋅ A 2 A 2 + B 2 + C 2 + B x − h e i g h t ⋅ B 2 A 2 + B 2 + C 2 + C x − h e i g h t ⋅ C 2 A 2 + B 2 + C 2 = 0 Ax - \frac{height \cdot A^2}{\sqrt{A^2 + B^2 + C^2}} + Bx - \frac{height \cdot B^2}{\sqrt{A^2 + B^2 + C^2}} + Cx - \frac{height \cdot C^2}{\sqrt{A^2 + B^2 + C^2}} = 0 Ax−A2+B2+C2 height⋅A2+Bx−A2+B2+C2 height⋅B2+Cx−A2+B2+C2 height⋅C2=0

进一步整理:
A x + B x + C x = h e i g h t ⋅ ( A 2 + B 2 + C 2 ) A 2 + B 2 + C 2 Ax + Bx + Cx = height \cdot \frac{ (A^2 + B^2 + C^2)}{\sqrt{A^2 + B^2 + C^2}} Ax+Bx+Cx=height⋅A2+B2+C2 (A2+B2+C2)

因为:
( A 2 + B 2 + C 2 ) 1 ( A 2 + B 2 + C 2 ) 1 2 = A 2 + B 2 + C 2 \frac{ (A^2 + B^2 + C^2)^1}{(A^2 + B^2 + C^2)^{\frac{1}{2}}} = \sqrt{A^2 + B^2 + C^2} (A2+B2+C2)21(A2+B2+C2)1=A2+B2+C2

所以最后得到:
A x + B x + C x = h e i g h t Ax + Bx + Cx = height Ax+Bx+Cx=height

n ⋅ p = h e i g h t \bold{n} \cdot p = height n⋅p=height
p p p 是平面上的任意一点
h e i g h t height height 的正负取决于法向量的方向

相关推荐
q5673152311 小时前
如何在Django中创建新的模型实例
数据库·python·线性代数·django·sqlite
jianglq15 小时前
C++高性能线性代数库Armadillo入门
c++·线性代数
痛&快乐着1 天前
线性代数之QR分解和SVD分解
线性代数
sz66cm2 天前
数学基础 -- 线性代数之奇异值
人工智能·线性代数·机器学习
985小水博一枚呀3 天前
【混淆矩阵】Confusion Matrix!定量评价的基础!如何计算全面、准确的定量指标去衡量模型分类的好坏??
人工智能·python·深度学习·线性代数·矩阵·分类·cnn
tangfuling19913 天前
Games101笔记-线性代数(一)
笔记·线性代数
aimmon3 天前
深度学习之微积分预备知识点
人工智能·深度学习·线性代数·微积分
南斯拉夫的铁托3 天前
线性代数(宋浩版)(4)
经验分享·笔记·线性代数
aimmon3 天前
深度学习之线性代数预备知识点
人工智能·深度学习·线性代数
q567315234 天前
Metacritic 网站中的游戏开发者和类型信息爬取
数据库·python·线性代数·游戏·sqlite