3D初等数学

原创 2007年10月01日 23:43:00
1.点乘:
两向量相乘后可得一值,单位向量点乘相当于COS角.
用途:求光照(N.L),平面方程(P.N+D=0),背面消除
(V.N<0,也就是>90度,即背面),投影等等.
 
2.叉乘:
即两向量叉乘得出另一向量.
用途:一般用来求法线,坐标的第3轴等
 
3.平面方程:
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等等.
 
7.视矩阵:
 只需求出U, V, N各轴向以及相机位置即可,其中V可暂定为朝上,N即视线方向,
而U则由V叉乘N得来.这样视矩阵中各轴向为U,V,N.而偏移为负的相机位置.
当一个点要由世界坐标变换到视坐标系下,只需将点乘上该视矩阵.反之,要将一个
点由视坐标系变换到世界坐标系,只需将点乘上该视矩阵的逆,即 M*M的逆=1, 其它
空间的变换对于正逆矩阵的操作也同理.
 
8.物体朝向旋转:
只需朝向目标的向量作为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
   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)),
环境纹理映射 (一般环境纹理映射方式可用反射/法线/质心朝向)
等等
 ======================================================
有不懂的自己查资料,我不能面面具到啊!!
 
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

hdoj1211 RSA

题目: RSA Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K...

hdu_1211 RSA (扩展欧几里得)

http://acm.hdu.edu.cn/showproblem.php?pid=1211   分析: RSA公玥加密系统有两把钥匙:公钥和密钥——公钥是公开的,密钥则只有自己知道。比如A 要发...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

欧几里得算法,扩展欧几里得算法及裴蜀定理证明

最近小腐了一下数论,巩固了一些NOIP考察的数论基本知识。

数学中的初等函数

初等函数(elementary function)包括代数函数和超越函数。初等函数是实变量或复变量的指数函数、对数函数、幂函数、三角函数和反三角函数经过有限次的四则运算(有理运算)及有限次复合后所构成...

3D数学--学习笔记(三):3D中绕任意轴的旋转

3D游戏开发基础--3D中绕任意坐标轴的旋转

3D数学--学习笔记(四):缩放

3D游戏开发数学基础--学习笔记(四):缩放

3D数学基础之矩阵初探

并非每次努力都会有收获,但每次收获都必须努力 3D数学是计算机图形学的必备技能,很难学,以至于现在的我依然还是个小小白ok,开始第一篇图形学之路本人的博客保证百分百原创,因为技术水平限制,若有错误理...

【定理】算术基本定理(唯一分解定理)

大蒟蒻来水贴了!算术基本定理(唯一分解定理)

初等数论

初等数论 大佬们一个晚上讲完了n个知识点,蒟蒻只能事后默默的记下来了…… 一点点关于超级初等的数论的听课笔记,可能会有不充足或者顺序不对的地方,请见谅(毕竟我是蒟蒻嘛)…… 前言 1、求出所有...

HDU1724 - 积分

Ellipse Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)