1. 程式人生 > >已知三點求平面的法向量 —— 兩種方法

已知三點求平面的法向量 —— 兩種方法

最近學圖形學時遇到了這個問題,PPT 給的大概是一個通過線性代數的方法求的,有點看不懂。加上線性代數早就忘光了,更加是一臉茫然。但是這個知識點在高中講過,自己卻怎麼也記不起來了,直到今天突然記起來了,特此記錄一下。

問題描述

已知三點 P 1 ( x

1 , y 1 , y 1 )
P 2 ( x 2 , y 2
, y 2 ) P 3 ( x 3 , y 3 , y 3 ) P_1(x_1, y_1, y_1),P_2(x_2, y_2, y_2),P_3(x_3, y_3, y_3) 。要求求出這三個點構成平面的法向量。

高中知識

我們知道法向量是和平面垂直的,因此法向量也和該平面上任意一條向量垂直,即點乘積為 0。

利用這個性質,我們可以構造兩個方程,此時我們不妨設法向量 n = ( x , y , z ) \overrightarrow{n}=(x, y, z)
n P 1 P 2 = 0 n P 1 P 3 = 0 \overrightarrow{n} ・ \overrightarrow{P_1P_2} =0\\ \overrightarrow{n} ・ \overrightarrow{P_1P_3} = 0
P 1 P 2 P 3 P_1P_2P_3 座標帶入即可。
x ( x 1 x 2 ) + y ( y 1 y 2 ) + z ( z 1 z 2 ) = 0 x ( x 1 x 3 ) + y ( y 1 y 3 ) + z ( z 1 z 3 ) = 0 x(x_1-x_2)+y(y_1-y_2)+z(z_1-z_2) = 0 \\ x(x_1-x_3)+y(y_1-y_3)+z(z_1-z_3) = 0
然後我們不妨假設 x=1, 這樣即可求出 x y z(三個方程三個未知量)。
p.s 這樣求出的法向量可能會有分數,可以自行改造一下。

大學知識1

在這裡插入圖片描述


  1. https://blog.csdn.net/zhouschina/article/details/8784908 ↩︎