这个问题应该先理解
三维坐标系中, 向量的意义,向量的加减法的几何意义,
向量表示位置的相对变化
面对电脑屏幕, 上方为y轴正方向, 右边为x轴正方向, 垂直于屏幕向外为z轴正方向
假如一个向量a 表示为 (xa,ya,za)
把a的起点平移至坐标原点, 那么 (xa,ya,za)就同时也是 a的终点的坐标值
假如有一个以原点为起点的向量a, 经过a的终点并且和a垂直的平面只有一个, 所以预想,通过已知的a, 来表示这个平面
平面是点的集合, 这个平面上的所有点p(x,y,z), 都满足一个条件: p和a的终点之间的连线b,和a垂直, 这个垂直关系 和b的长度无关,只和b的方向有关,
根据向量减法,b可以表示为一个向量(x-xa,y-ya,z-za),这个向量和a是垂直关系,所以
(x-xa)*xa + (y-ya)*ya + (z-za)*za = 0
-> xa*x + ya*y + za*z = xa*xa + ya*ya + za*za
等号右边的
表达式就是a的长度的平方
满足这个表达式的x y z, 都在所求的平面上, 不满足这个表达式的x y z,都不在这个平面上,
当xa是0时, ya*y + za*z = ya*ya + za*za, 这个表示的是垂直于a,并且垂直于YOZ平面的一个平面
当xa=ya=0时,这个表示的是z=za这个平面
但是当xa=ya=za=0时,也就是向量a是(0,0,0)时 这个表示的是整个三维坐标系中的点, 所以可以改进一下,
把a当作一个
单位向量,长度为1, a只表示方向,
一个新的向量c,和a方向相同, 但是长度是a的n倍, 向量c是(xa*n,ya*n,za*n),
它是一个以原点为起点的向量,它的方向是(xa,ya,za), 它的终点的座标值是(xa*n,ya*n,za*n)
所以经过c的终点并且垂直于c的平面 上的点的座标x y z ,满足
(x-xa*n)*xa + (y-ya*n)*ya + (z-za*n)*za = 0
-> xa*x + ya*y + za*z = (xa*xa + ya*ya + za*za)*n
a是单位向量,所以xa*xa + ya*ya + za*za 等于 1
-> xa*x + ya*y + za*z = n
可以想象三维坐标系中, 所求的平面就像一把雨伞, 雨伞的把手就是原点, 雨伞的轴方向是向量a的方向, 轴长度就是n, 雨伞的伞面不是曲面而是一个平面,
这个把雨伞根据xa, ya, za三个数的符号和大小, 相对于原点做各种角度的转动,
n就是原点到这个面的
垂线的长度, n=0时, 这个面是经过原点的
xa, ya, za三个数的符号和大小, 决定着这个平面的方向
可以想象三维坐标系中,
当xa>0时, 向量a指向YOZ平面的右侧, 伞面更多的在YOZ平面的右侧
当ya>0时, 伞面更多的部分在水平面上方
当za>0时, 向量a指向屏幕外侧, 伞面更多的在屏幕外侧
从坐标系中看出,当xa越小时, 向量a越接近YOZ平面, 所表达的平面也越和x轴接近平行
当xa越小时, xa*x + ya*y + za*z = n, x的变化对于整个表达式影响越小
xa=0时 ya*y + za*z = n
-> y = (-za*z + n) / ya
这个表示的是垂直于a,并且垂直于YOZ平面的一个平面