
3D数学
文章平均质量分 58
pizi0475
这个作者很懒,什么都没留下…
展开
-
矩阵
英文名Matrix(矩阵)本意是子宫、母体、孕育生命的地方,同时,在数学名词中,矩阵用来表示统计数据等方面的各种有关联的数据。这个定义很好地解释了Matrix代码制造世界的数学逻辑基础。 数学上,矩阵就是由方程组的系数及常数所构成的方阵。把用在解线性方程组上既方便,又直观。例如对于方程组。 a1x+b1y+c1z=d1 a2x+b2y+c2z=d2 a3x+b3y+c3z=转载 2009-06-02 09:30:00 · 2353 阅读 · 0 评论 -
矩阵旋转入门
首先,需要知道一个物体现有的宽度,高度和深度 —— 换句话讲,它是三个轴上每个轴分量的大小。当然可以建立一个 3×1 的矩阵:w h d我们知道 w, h, d 代表宽度(width),高度(height)和深度(depth)。下面需要缩放这个矩阵:sx 0 00 sy 00 0 sz首先,需要知道一个物体现有的宽度,高度和深度 —— 换句话讲,它是三个轴上每个轴分量的大小。当然可以建立一个 3×转载 2010-02-04 14:45:00 · 3086 阅读 · 2 评论 -
浅谈Ogre的四元数与旋转
简介:如果你在Ogre中处理完对象,发现它们不像你想象的那样旋转。那么,此时阅读这篇文章,大概会有些勉强。当我刚接触Ogre时,我用了很长的时间才理解了向量(vector)。在学习矩阵(matrix)时,那时我还不懂四元数,矩阵的某些知识点搞得我非常迷茫。这篇文章是针对Ogre中四元数旋转的实际运用,其中没有介绍相关的数学知识。 必备知识:在学习四元数之前,让我们回顾一下欧拉角、矩阵和向量数学这些转载 2010-03-08 15:26:00 · 5582 阅读 · 1 评论 -
理解矩阵
前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教学中应用转载 2010-04-01 09:25:00 · 2044 阅读 · 0 评论 -
计算几何算法概览
http://blog.sina.com.cn/s/blog_4cb9953f0100aa7z.html 矢量的概念: 如果一条线段的端点是有次序之分的,我们把这种线段成为有向线段(directed segment)。如果有向线段p1p2的起点p1在坐标原点,我们可以把它称为矢量(vector)p2。 矢量加减法: 设二维矢量P = ( x1, y1 ),Q = (转载 2010-04-01 12:59:00 · 1902 阅读 · 0 评论 -
矩阵的转置与矩阵的逆
矩阵的转置 设 <!--NAMO_EQN__ 160 1A=(a_{ij})--> 是一个<!--NAMO_EQN__ 160 1m/times n--> 矩阵, 将 <!--NAMO_EQN__ 160 1A--> 的行与列互换, 得到的一个 <!--NAMO_EQN__ 160 1n/times m--> 矩阵<!--NAMO_EQN__ 160转载 2010-04-15 17:18:00 · 6864 阅读 · 0 评论 -
3D数学---矩阵
Jim Peng 的 3D数学---矩阵矩阵是3D数学的重要基础,它主要用来描述两个坐标系间的关系,通过定义一种运算而将一个坐标系中的向量转换到另一个坐标系中。在线性代数中,矩阵就是以行和列形式组织的矩形数字块,向量是标量的数组,矩阵是向量的数组。 矩阵的维度和记法矩阵的维度被定义为它包含了多少行多少列,一个 r x c 矩阵有r行c列。用黑体大写字母表示矩阵,如:M、A、R。需要转载 2010-04-03 09:10:00 · 3912 阅读 · 2 评论 -
3D数学知识简介
前言(Preface)前段时间有些朋友在论坛里问到一些关于3D数学的知识,就想为大家写点这方面的文章。由于之前比较忙,又遇到过春节,所以最近才着笔写了这篇文章,希望大家喜欢。这些内容主要是一些理论知识,看上去难免有些枯燥,之后的文章我会加入一些实例进行讲解的。如果内容存在错误和不全,就请你来更正和添加了。 三维坐标系(3D Coordinate System)三转载 2010-04-03 09:07:00 · 2015 阅读 · 1 评论 -
3D数学 ---- 矩阵的更多知识
矩阵的行列式在任意方阵中都存在一个标量,称作该方阵的行列式。 线性运算法则方阵M的行列式记作|M|或“det M”,非方阵矩阵的行列式是未定义的。n x n阶矩阵的行列式定义非常复杂,让我们先从2 x 2,3 x 3矩阵开始。公式9.1给出了2 x 2阶矩阵行列式的定义:注意,在书写行列式时,两边用竖线将数字块围起来,省略方括号。下面的示意图能帮助记忆公式9.1,将转载 2010-04-03 09:09:00 · 4127 阅读 · 1 评论 -
四元数与欧拉角互转
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系: 图1 3D Cartesian coordinate System (from wikipedia) 定义分别为绕Z轴、Y轴、X轴的旋转角度,如果用Tait-Bryan angle表示,分别为Yaw、Pitch、转载 2010-05-12 23:22:00 · 3803 阅读 · 1 评论 -
欧拉角转成四元数的公式
这两天看MDL模型的显示代码,参考《3D数学基础:图形与游戏开发》中的公式,发现欧拉角转成四元数的公式和书中提到的公式不一致,狂晕!~~~void AngleQuaternion(const vec3_t Angles, vec4_t Quaternion) { float Angle = Angles[0] * 0.5f; float Si转载 2010-05-12 23:26:00 · 5104 阅读 · 1 评论 -
四元数,欧拉角,矩阵的相互转换
网上太多的将转换的了,翻来覆去转载没有意义。。奉上源码,TC下直接编译即可~~在附上编译好了的exe可以直接下载运行~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~不华丽的分割~~以下是源码~~~~~~~~~~~~~~~~~~~~~~/* 输入欧拉角,能看到四元数,以及再转换回去成欧拉角 Yaw范围(-180~180) Pi转载 2010-05-12 23:40:00 · 3387 阅读 · 2 评论 -
深入探索正交投影变换
在具体研究之前我觉得有必要把平面投影的分类简单介绍一下,目的是为了让大家有一个总体的认识,从而更好的理解这个知识体系。请看下图:平面投影分为平行投影和透视投影两种类型,后者我们在前两篇文章中介绍了。平行投影则是具有矩形观察体的投影方式(透视投影则是视锥观察体),它不会根据物体离视点的远近缩放物体(透视投影则会)。平行投影可以分成侧投影和正交投影两种类型。这两种类型如何区分呢?我们继续看图吧:上图中,v是投影平面,n是它的法线。p和q是平面外两点,p’和q’分别是它们在平面上的投影点。q的投影方向向量为Q =转载 2010-06-09 21:56:00 · 5689 阅读 · 1 评论 -
深入探索透视投影变换
<br />-Twinsen编写<br />-本人水平有限,疏忽错误在所难免,还请各位数学高手、编程高手不吝赐教<br />-email: popyy@netease.com<br /><br /> <br />透视投影是3D固定流水线的重要组成部分,是将相机空间中的点从视锥体(frustum)变换到规则观察体(Canonical View Volume)中,待裁剪完毕后进行透视除法的行为。在算法中它是通过透视矩阵乘法和透视除法两步完成的。<br /> <br />透视投影变换是令很多刚刚进入3D图形领域的转载 2010-06-09 22:34:00 · 4544 阅读 · 2 评论 -
插值与样条函数
首先了解数值逼近。1、代数插值 在有目标函数的情况下,找一个插值函数与目标函数进行逼近,这个过程就是逼近的过程。原有的函数点叫插值节点。逼近的方法比较确定,设定一个逼近的方法,设得逼近的方程,将逼近点代入,求未知系数的值,那么逼近函数就有了。用目标函数与插值函数进行作差,这样就可以知道逼近的误差有多少,通过这个误差的值的变化趋势,我们可以了解到我们所设定的逼近方法是不是一个收敛的方法,如果是的话,这个插值的方法对于当前问题来说就是可行的。 最基本的插值方法就是线性插值,利用两个点之间的斜率信息就可转载 2011-03-17 15:47:00 · 4219 阅读 · 0 评论 -
三次样条插值
第三章 插值法3.7 三次样条插值3.7.1 三次样条函数 分段低次插值的优点是具有收敛性与稳定性,缺点是光滑性较差,不能满足实际需要.例如高速飞机的机翼形线、船体放样形值线、精密机械加工等都要求有二阶光滑度,即二阶导数连续,通常三次样条(Spline)函数即可满足要求. 定义7.1 设上给出一组节点,若函数s(x)满足条件 (1) ; (2) s(x)在每个小区间上是三次多项式.则称s(x)是节点上的三次样条函数.若s(x)在节点上还满足插值条件 (3) (3.7.1)则称s(x)为上的三次样条转载 2011-03-17 15:53:00 · 8828 阅读 · 1 评论 -
四元数
<br /><br />四元数是最简单的超复数。 复数是由实数加上元素 i 组成,其中i^2 = -1 /,。 相似地,四元数都是由实数加上三个元素 i、j、k 组成,而且它们有如下的关系: i^2 = j^2 = k^2 = ijk = -1 /, 每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi + cj + dk /,。性质与特点 四元数(Quaternions)是由威廉·卢云·哈密顿(William Rowan Hamilton, 1805-1865)在1843年转载 2011-03-19 20:10:00 · 7052 阅读 · 0 评论 -
四元数的优点和缺点
四元数有一些其他角位移表示方法所没有的优点:<br />1.平滑插值:slerp和squad提供了方位间的平滑插值,没有其他方法能提供平滑插值。<br />2.快速连接和角位移求逆:四元数叉乘能将角位移序列转换为单个角位移,用矩阵做同样的操作明显会慢一些。四元数共轭提供了一种有效计算反角位移的方法,通过转置矩阵也能达到同样的目的,但不如四元数来得容易。<br />3.能和矩阵形式快速转换:四元数和矩阵的转换比欧拉角与矩阵之间的转换稍微快一些。<br />4.仅用四个数:四元数仅包含四个数,而矩阵用了9个数,转载 2011-03-19 20:06:00 · 5993 阅读 · 0 评论 -
旋转矩阵、欧拉角、四元数比较
<br />旋转矩阵、欧拉角、四元数主要用于:<br />向量的旋转、坐标系之间的转换、角位移计算、方位的平滑插值计算<br />各方法比较<br />任务/性质<br />旋转矩阵<br />欧拉角<br />四元数<br />在坐标系间(物体和惯性)旋转点<br />能<br />不能(必须转换到矩阵)<br />不能(必须转换到矩阵)<br />连接或增量旋转<br />能,但经常比四元数慢,小心矩阵蠕变的情况<br />不能<br />能,比矩阵快<br />插值<br />基本上不能<br />能转载 2011-03-25 18:14:00 · 8349 阅读 · 1 评论 -
用定点坐标求,多边形面积
<br />從醉月湖的面積談起<br />向量微積分簡介(第 2 頁)<br />蔡聰 <br />2.多邊形的面積公式<br />多邊形仍然太複雜,我們再退到三角形的特例,探尋完成後,再進到多邊形。這種處理問題時退、進之道很值得留意。<br /> 問題3:已知三角形三個頂點的坐標為 A= (x1, y1), B = (x2, y2), C = (x3, y3), 如何求其面積? <br />我們進一步退到三個頂點為 O=(0,0), B=(x2, y2), C=(x3, y3) 之更特殊三角形。令 OB转载 2011-04-03 20:14:00 · 2893 阅读 · 0 评论 -
求多边形面积(已知坐标)
<br />方法一:<br />float area_of_polygon(int vcount,float x[],float y[]) <br />{ <br /> int i; <br /> float s; <br /> if (vcount <3) return 0; <br /> s=y[0]*(x[vcount-1]-x[1]); <br /> for (i=1;i <vcount;i++) <br />转载 2011-04-03 20:15:00 · 2599 阅读 · 0 评论 -
海伦公式
<br /><br /> <br />海伦公式又译作希伦公式、海龙公式、希罗公式、海伦-秦九韶公式,传说是古代的叙拉古国王 希伦 (Heron,也称海龙)二世发现的公式,利用三角形的三条边长来求取三角形面积。但根据Morris Kline在1908年出版的著作考证,这条公式其实是阿基米德所发现,以托希伦二世的名发表(未查证)。<br /> <br />原理简介 我国宋代的数学家秦九韶也提出了“三斜求积术”,它与海伦公式基本一样。 <br /> 假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面转载 2011-04-03 21:25:00 · 4271 阅读 · 0 评论 -
几何中的著名定理
1、勾股定理(毕达哥拉斯定理) 2、射影定理(欧几里得定理) 3、三角形的三条中线交于一点,并且,各中线被这个点分成2:1的两部分 4、四边形两边中心的连线的两条对角线中心的连线交于一点 5、间隔的连接六边形的边的中心所作出的两个三角形的重心是重合的。 6、三角形各边的垂直一平分线交于一点。 7、从三角形的各顶点向其对边所作的三条垂线交于一点 8、设三角形ABC的外心为O,垂心为H,从O向BC边引垂线,设垂足不L,则AH=2OL 9、三角形的外心,垂心,重心在同一条直线上。 10、(九点圆或欧拉圆或费尔巴赫转载 2011-04-03 21:40:00 · 2878 阅读 · 1 评论 -
一生受用的数学公式
<br />一生受用的数学公式<br /> 作者:Tangxianyang编辑<br /> 坐标几何<br />一对垂直相交于平面的轴线,可以让平面上的任意一点用一组实数来表示。轴线的交点是 (0, 0),称为<br />原点。水平与垂直方向的位置,分别用x与y代表。<br /> 一条直线可以用方程式y=mx+c来表示,m是直线的斜率(gradient)。这条直线与y轴相交于 (0,<br />c),与x轴则相交于(–c/m, 0)。垂直线的方程式则是x=k,x为定值。<br /> 通过(x0,转载 2011-04-03 21:47:00 · 3937 阅读 · 0 评论 -
理解计算机3D图形学中的坐标系变换
<br /> 要谈坐标系变换,那么坐标系有哪些呢?依次有:物体坐标系,世界坐标系,相机坐标系,投影坐标系以及屏幕坐标系.我要讨论的就是这些坐标系间的转换。<br /> 这些坐标系不是凭空而来,他们都是为了完成计算机3D图形学最最最基本的目标而出现.<br /> 计算机3D图形学最最最基本的目标就是:将构建好的3D物体显示在2D屏幕坐标上.<br /> 初看好像就是将最初的物体坐标系转换到屏幕坐标系就可以了呀,为什么多出了世界坐标系,相机坐标系,投影坐标 系。这是因为:在一转载 2011-04-27 09:33:00 · 8298 阅读 · 1 评论 -
判断点是否处于多边形内的三种方法
1. 叉乘判别法(只适用于凸多边形)想 象一个凸多边形,其每一个边都将整个2D屏幕划分成为左右两边,连接每一边的第一个端点和要测试的点得到一个矢量v,将两个2维矢量扩展成3维的,然后将 该边与v叉乘,判断结果3维矢量中Z分量的符号是否发生变化,进而推导出点是否处于凸多边形内外。这转载 2011-07-18 17:21:19 · 2155 阅读 · 0 评论 -
齐次坐标
所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。 实数。显然一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标[8,4,2]、[4,2,1]表示的都是二维点[4,2]。 那么引进齐次坐标有什么必要,它有什么优点呢?转载 2011-08-10 09:30:15 · 1403 阅读 · 0 评论 -
齐次坐标的理解
一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算转载 2011-08-10 09:31:05 · 1480 阅读 · 0 评论 -
齐次
齐次简介 “齐次”从词面上解释是“次数相等”的意思。是微积分中一个比较常用的概念。例证 微分方程中有两个地方用到“齐次”的叫法: 1、形如y'=f(y/x)的方程称为“齐次方程”,这里是指方程中每一项关于x、y的次数都是相等的,例如x^2,xy,y^2都算是二次项,而y/x算0次项,方程y'=1+y/x中每一项都是0次项,所以是“齐次方程”。 2、形如y''+p转载 2012-02-08 23:02:22 · 1731 阅读 · 0 评论 -
范数
设X是数域K上线性空间,称║˙║为X上的范数(norm)。 范数的定义 若范数满足:1. 正定性:║x║≥0,且║x║=0 x=0;2. 齐次性:║cx║=│c│║x║;3. 次可加性(三角不等式):║x+y║≤║x║+║y║。4. ||AB||≤||A|| ||B|| 注意到║x+y║≤║x║+║y║中如令y=-x,再利用║-x║=║x║可以得到║x║≥转载 2012-07-05 12:48:37 · 3596 阅读 · 0 评论 -
矩阵理论的发展史简介
根据世界数学发展史记载,矩阵概念产生于19世纪50年代,是为了解线性方程组的需要而产生的。然而,在公元前我国就已经有了矩阵的萌芽。在我国的《九章算术》一书中已经有所描述,只是没有将它作为一个独立的概念加以研究,而仅用它解决实际问题,所以没能形成独立的矩阵理论。1850年,英国数学家西尔维斯特 (SylveSter,1814--1897)在研究方程的个数与未知量的个数不相同的转载 2012-07-05 13:01:35 · 19939 阅读 · 0 评论 -
线性代数发展史
简介 由于研究关联着多个因素的量所引起的问题,则需要考察多元函数。如果所研究的关联性是线性的,那么称这个问题为线性问题。历史上线性代数的第一个问题是关于解线性方程组的问题,而线性方程组理论的发展又促成了作为工具的矩阵论和行列式理论的创立与发展,这些内容已成为我们线性代数教材的主要部分。最初的线性方程组问题大都是来源于生活实践,正是实际问题刺激了线性代数这一学科的诞生与发展。另外,近现代数学分转载 2012-07-05 12:58:08 · 4990 阅读 · 0 评论 -
Mathematics for Computer Graphics数学在计算机图形学中的应用
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer GraphicsMathematics for Computer Graphics数学在计算机图形学中的应用Greg Turk, August 1997“学习计转载 2012-07-27 22:04:23 · 3518 阅读 · 0 评论 -
NURBS曲线与曲面
B样条方法在表示与设计自由型曲线曲面形状时显示了强大的威力,然而在表示与设计初等曲线曲面时时却遇到了麻烦。因为B样条曲线包括其特例的Bezier曲线都不能精确表示出抛物线外的二次曲线,B样条曲面包括其特例的Bezier曲面都不能精确表示出抛物面外的二次曲面,而只能给出近似表示。提出NURBS方法,即非均匀有理B样条方法主要是为了找到与描述自由型曲线转载 2010-04-08 14:31:00 · 11383 阅读 · 4 评论 -
轨迹动画演示的例子
这里有一系列动态的曲线和曲面. 你或者可以直接观察, 或者可以将它们录入到菜单然后运行 (例如, 改变参数和选项).逐步推进的平面曲线. (摆线)展示. 将它的方程录入到菜单.摆线是在直线上滚动的圆上一点的运动轨迹. 这里你能精确地看见摆线是如何生成的.展示. 将它的方程录入到菜单.由同样的原理, 星形线 (cos^3(t),sin^3(t)转载 2012-08-18 07:30:18 · 2555 阅读 · 0 评论 -
常用运动轨迹的算式
闲着无聊,于是也来发一个教程吧……新手向的,关于常用运动轨迹的算式……这里只讨论算式,不讨论多人化、排泄以及应用……1.直线运动:单位沿ang度的方向移动速度为(b/触发器周期)(最基础的运动方式)算法1事件时间 - 每当游戏逝去0.03秒条件动作设置 point1 = (从((马甲)的位置)开始,距离为b,方向为ang度的位移处)单位 - 设置(马转载 2012-08-18 07:48:24 · 10028 阅读 · 3 评论 -
Pro/E 各种曲线方程集合
本文主要介绍了proe中常用的97种曲线方程及所使用的坐标系和生成曲线的图例。 每一页的曲线类型如下:第1页:碟形弹簧、葉形线、螺旋线(Helical curve)、蝴蝶曲线和渐开线;第2页:螺旋线、对数曲线、球面螺旋线、双弧外摆线和星行线;第3页:心脏线、圆内螺旋线、正弦曲线、太阳线和费马曲线(有点像螺纹线);第4页:Talbot 曲线、4叶线、Rho转载 2010-06-07 21:48:00 · 5021 阅读 · 0 评论 -
Ogre Demo_BezierPatch 贝塞尔曲线
1. 用顶点数组在创建Bezier Patch的步骤 1) 调用硬件缓存管理器创建顶点声明, 查看需要哪些元素 HardwareBufferManager::getSingleton().createVertexDeclaration(); 而后用addElement方法添加元素 2) 填充一段内存的数据用于硬件缓存, 注意数据紧密贴近, V转载 2010-03-12 11:51:00 · 3369 阅读 · 0 评论 -
NURBS曲线 与 Rhinoceros曲面之王
NURBS (Non-Uniform Rational B-Spline):即为非均匀有理B样条曲线。曲线通常是由几个点定义而成,而且从一条没有任何在角度上突变的直线路径推导而来;曲线也常被称为样条,因为它们看起来就像物理样条:即一个长长的木头或者金属条,所有的样条都有一个共同的特征:即它们都是从定义一个多边形产生的,由于这个共同的特征,所以将样条称为受控曲线。NURBS曲线中Non-Unif转载 2010-04-08 14:35:00 · 4317 阅读 · 1 评论 -
根据模型的顶点位置坐标和纹理坐标计算顶点的法线、切线和副法线
http://www.cnitblog.com/luckydmz/archive/2011/04/21/73393.html 如何根据模型的顶点位置坐标和纹理坐标计算顶点的法线、切线和副法线?我们把顶点数据记作P(x,y,z,u,v),(x,y,z)是位置坐标,(u,v)纹理坐标三角形的3个顶点就可以表示成P0(x0,y0,z0,u0,v0)P1(x1,y1,z1,u1,v转载 2012-08-29 06:32:21 · 4220 阅读 · 0 评论