3D数学公式
来源:互联网 发布:哪个理财软件好 编辑:程序博客网 时间:2024/05/21 10:28
众所周知,数学中向量、矩阵(变换)、齐次坐标以及四元数的概念和规则是3D游戏编程和计算机图形学的理论基础。下面介绍开发过程中经常用到的一些数学公式。
- 直线公式
P(t) = (1-t)P1 + tP2
其中,P1和P2表示3D空间的两点向量。t可以是任意实数。P1与P2之间的线段对应于t在0到1之间的值。
- 点到直线的距离公式
- 射线公式
P(t) = P0 + tu
其中,t的值大于等于0,u表示射线方向向量。实际上,让t为任意实数,就得到三维空间直线。
- 平面公式
对应给定的3D点P0和法向量N,那么过P0且与N垂直可以唯一确定一个平面。
N.(P - P0) = 0
平面方程通常也可以表示为:
Ax + By + Cz + d = 0
其中,A,B,C是法向量N的x,y,z分量,即:
N.P+d = 0
法向量经常被规格化单位长度,因为这样等式
D = N.P +d
就可以表示平面到任意点P的带符号距离。如果D=0,则表示点P在平面上。如果d>0,则称点P在平面的正侧,因为此时P位于法向量所指的一侧。与些相反,如果d<0,那么P位于平面的负侧。
- 直线与平面相交公式
确定直线与平面的交点,是3D引擎中的一种常用计算。特别是在计算多边形裁剪的过程中会大量地用到直线与平面的求交。
设P(t)=Q+tV表示包含点Q并沿V方向延伸的直线。对于法向量为N并且距原点带符号距离为D的平面,可以通过解方程来确定直线与平面的交点。
N.P(t) + D = 0 //平面公式
推导过程就不写了,结果为
把t的值代回直线方程P(t)=Q+tV,就可以求得直线与平面的交点。如果N.V为0,那么直线与平面平行(平面法向量与直线方向向量V垂直)。这种情况下,如果N.Q+D=0,那么直线在平面上;否则,直线与平面没有交点。
- 三个平面相交公式
平面L1和平面L2的交线可以表示为P(t)=Q+tV。
- 3D数学公式
- Cf 364div2 D[数学公式推导]
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- 数学公式
- CodeForces 659 D. Bicycle Race(计算几何 + 数学公式)
- Codeforces 839D Winter is here【容斥原理+数学公式】
- 【Android开发学习08】SurfaceView显示动画效果
- iBatis 代码自动生成工具 iBator 及 Example 使用
- php:PHP自动识别字符集并完成转码
- mysql avg和limit合用
- char、varchar、text和nchar、nvarchar、ntext的区别
- 3D数学公式
- gvim中删除行
- CapturingAnImage
- 调优JVM内存,并解决OutOfMemoryError,StackOverflowError等异常问题
- js
- C#删除文件和文件夹到回收站的代码
- Splash Screen开场屏在Android中的实现(缓冲页)
- 嵌入式设备的上下文感知电源管理框架(论文阅读笔记)
- c#打开关闭CD/DVD光驱代码