3D初等数学
来源:互联网 发布:然则朱文公何以知然 编辑:程序博客网 时间:2024/04/27 14:05
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)),
环境纹理映射 (一般环境纹理映射方式可用反射/法线/质心朝向)
等等
======================================================有不懂的自己查资料,我不能面面具到啊!!
- 3D初等数学
- 初等数学概论
- 数学中的初等函数
- 初等数学导论:传球游戏
- 【数学】3D数学基础
- 3D数学---矩阵
- 3d数学--矩阵
- 3D数学 坐标系
- 3D数学基础
- 3D数学 RotationMatrix
- 3D数学总结
- 3D数学基础
- 3D数学基础
- 3D数学基础知识
- 3D数学基础
- 大数据时代的数学思维(3)-初等代数-python计算
- 100个著名初等数学问题
- 初等数学导论:最大公约数的线性组合
- 迅速返回系统桌面
- 走过四年-老过了才长大
- 在面试一个游戏编程职位前,你需要知道的东西
- dmalloc检测MLK
- 投影矩阵的实现以及如何从投影矩阵中获取各视裁体平面
- 3D初等数学
- 3D数学知识简介
- 3D数学与游戏:四元数与旋转
- DirectX10具体指什么方面
- Google的产品和服务
- Direct9到Direct10 --- 玩的就是3D图形
- 定义一个数组引用
- CSDN特别收录 --- DirectDraw中使用Lock()锁定出现的问题
- 3D图形算法基础,吐血推荐,想了解3D数学的来看看啊!