1.点乘:
10. 反射线:
如:
反射光线: R = 2(N.L)N-L
用途:
两向量相乘后可得一值,单位向量点乘相当于COS角.
用途:求光照(N.L),平面方程(P.N+D=0),背面消除
用途:求光照(N.L),平面方程(P.N+D=0),背面消除
(V.N<0,也就是>90度,即背面),投影等等.
2.叉乘:
即两向量叉乘得出另一向量.
用途:一般用来求法线,坐标的第3轴等
用途:一般用来求法线,坐标的第3轴等
3.平面方程:
ax+by+cz+d=0,也就是P.N+D=0;
用途:=0,表示点p在平面上,>0在平面内,<0在平面外.
ax+by+cz+d=0,也就是P.N+D=0;
用途:=0,表示点p在平面上,>0在平面内,<0在平面外.
4.投影:
点点乘单位向量即得点在此向量上的投影值(标量)
用途:投影,坐标在不同坐标系下转换(如下)等等
点点乘单位向量即得点在此向量上的投影值(标量)
用途:投影,坐标在不同坐标系下转换(如下)等等
5.矩阵:
即行列式,在游戏中一般用来记录新坐标系下的各轴向以及负位置(
即行列式,在游戏中一般用来记录新坐标系下的各轴向以及负位置(
偏移值).一个点乘上一个矩阵,相当于点乘各轴并加上偏移值.
6.空间转换:
一个点在各不同空间中的转换其实就是点转换到各不同坐标系下,
我们先把新坐标系移到原点,然后只需将点点乘新坐标系各轴向,即求得在其坐标轴上的各分量投影值.
然后再将新坐标系移回,即再减去新坐标系的位置.就可得出此点在新坐标系下的坐标.
用途:obj space to world space to view space to project space等等.
一个点在各不同空间中的转换其实就是点转换到各不同坐标系下,
我们先把新坐标系移到原点,然后只需将点点乘新坐标系各轴向,即求得在其坐标轴上的各分量投影值.
然后再将新坐标系移回,即再减去新坐标系的位置.就可得出此点在新坐标系下的坐标.
用途:obj space to world space to view space to project space等等.
7.视矩阵:
只需求出U, V, N各轴向以及相机位置即可,其中V可暂定为朝上,N即视线方向,
只需求出U, V, N各轴向以及相机位置即可,其中V可暂定为朝上,N即视线方向,
而U则由V叉乘N得来.这样视矩阵中各轴向为U,V,N.而偏移为负的相机位置.
当一个点要由世界坐标变换到视坐标系下,只需将点乘上该视矩阵.反之,要将一个
点由视坐标系变换到世界坐标系,只需将点乘上该视矩阵的逆,即 M*M的逆=1, 其它
空间的变换对于正逆矩阵的操作也同理.
当一个点要由世界坐标变换到视坐标系下,只需将点乘上该视矩阵.反之,要将一个
点由视坐标系变换到世界坐标系,只需将点乘上该视矩阵的逆,即 M*M的逆=1, 其它
空间的变换对于正逆矩阵的操作也同理.
8.物体朝向旋转:
只需朝向目标的向量作为z轴,再分别求出其它各轴得到一偏移值为0新坐标系,然后
对其转置(transpose),最后物体位置点乘上此新坐标系即可.
用途:如billboard,lookat等.
只需朝向目标的向量作为z轴,再分别求出其它各轴得到一偏移值为0新坐标系,然后
对其转置(transpose),最后物体位置点乘上此新坐标系即可.
用途:如billboard,lookat等.
9. 射线与平面交点距离:
例: 照相机观察方向到与平面相交点距离,
设X为所求,D为照相机到平面垂直距离(D = camera.xyz dot plane's normal + d)
N为平面法线, V为观察方向(即camera.z),那么
V * X = 从照相机位置出发的观察方向的向量,长度为此方向上与平面相交点的距离.
(V * X) dot N = 观察方向上到平面相交点的向量在法线上的投影(即D)
于是,(V*X) dot N = -D,
交换一下:
X = -D/(V dot N)
|
|
| / V
| /
|___/ N
| D
|
plane
用途:碰撞检测等
10. 反射线:
如:
反射光线: R = 2(N.L)N-L
反射视线: R = 2(N.V)N-V
原理:
L N R
/ | /^
/ | / |
/ | / |
/|/ |
---------/-------------
O / |M
/ |
/ |
/|
T
原理:
L N R
/ | /^
/ | / |
/ | / |
/|/ |
---------/-------------
O / |M
/ |
/ |
/|
T
OR = OT+TR = -L + TR = -L + (TM+MR) = -L + 2(MR) = -L + 2(N.L*N) = 2(N.L)N-L
用途:
反射光照: (V.R)的平方,(一般取经验模型: V.R = N.H, 其中H=(L.V)/2)),
环境纹理映射 (一般环境纹理映射方式可用反射/法线/质心朝向)
等等
======================================================
有不懂的自己查资料,我不能面面具到啊!!