﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-天行健      君子当自强而不息-随笔分类-■ 3D Math Basis</title><link>http://www.cppblog.com/lovedday/category/4154.html</link><description>&lt;br&gt;【用心生活 | 没有计划的人生是失败的 | 不善于从生活与实践中学习是失败之源 | 不懂得正确思考将毁了我们的一生 | 你的生活方式决定了你的健康 |  用正确的方法解决问题】&lt;br&gt;【人生的意义在于过程 | 积极主动地解决问题 | 用行动来明白 | 人无自尊毋宁死 | 万事必有因 | 好的习惯是成功的基石 | 最大的错误是没意识到错误 | 拖延是最坏的习惯】</description><language>zh-cn</language><lastBuildDate>Fri, 29 Aug 2008 10:38:55 GMT</lastBuildDate><pubDate>Fri, 29 Aug 2008 10:38:55 GMT</pubDate><ttl>60</ttl><item><title>3D图形数学</title><link>http://www.cppblog.com/lovedday/archive/2008/03/11/44137.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 11 Mar 2008 02:25:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/11/44137.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/44137.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/11/44137.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/44137.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/44137.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 我们将讨论渲染一幅带有基本光照的单个图像的大体过程，这里不考虑动画和全局光照，如阴影和辐射度。<br><br>此外，注意这里只从概念上讲解通过图形管道的数据流，其顺序并不是固定的。实践中，我们也许会为了性能的优化而并行或乱序执行一些任务。比如，考虑到不同的渲染API，我们可能首先变换和照明所有顶点，然后才进一步的处理（进行裁剪和剔除），或者会并行处理二者，也可能在背面剔除之后再进行光照会得到更高效率。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/11/44137.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/44137.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-11 10:25 <a href="http://www.cppblog.com/lovedday/archive/2008/03/11/44137.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>三角网格</title><link>http://www.cppblog.com/lovedday/archive/2008/03/04/43656.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 04 Mar 2008 02:34:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/03/04/43656.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/43656.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/03/04/43656.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/43656.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/43656.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 最简单的情形，多边形网格不过是一个多边形列表；三角网格就是全部由三角形组成的多边形网格。多边形和三角网格在图形学和建模中广泛使用，用来模拟复杂物体的表面，如建筑、车辆、人体，当然还有茶壶等。<br><br>当然，任意多边形网格都能转换成三角网格，三角网格以其简单性而吸引人，相对于一般多边形网格，许多操作对三角网格更容易。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/03/04/43656.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/43656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-03-04 10:34 <a href="http://www.cppblog.com/lovedday/archive/2008/03/04/43656.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>几何检测</title><link>http://www.cppblog.com/lovedday/archive/2008/02/28/43378.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 28 Feb 2008 03:51:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/02/28/43378.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/43378.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/02/28/43378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/43378.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/43378.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 考虑2D中的直线L，L由所有满足p . n = d的点p组成。<br><br>其中n是单位向量，我们的目标是对任意点q，找出直线L上距q距离最短的点q'，它是q投影到L上的结果。让我们画一条经过q平行于L的辅助线 M，如图13.1所示。设nM和dM分别为直线方程的法向量和d值。因为L和M平行，所以它们的法向量相等：nM=n。又因为q在M上，所以dM为 q.n。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/02/28/43378.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/43378.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-02-28 11:51 <a href="http://www.cppblog.com/lovedday/archive/2008/02/28/43378.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D几何图元</title><link>http://www.cppblog.com/lovedday/archive/2008/02/25/43221.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Mon, 25 Feb 2008 09:53:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/02/25/43221.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/43221.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/02/25/43221.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/43221.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/43221.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 通过定义一个布尔函数f(x, y , z)，我们能够隐式表示一个图元。如果所指定的点在这个图元上，这个布尔函数就为真；对于其他的点，这个布尔函数为假。例如等式：<br><br>x2+y2+z2 = 1<br><br>对中心在原点的单位球表面上的所有点为真，隐式表示法用于测试图元是否包含某点时非常有用。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/02/25/43221.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/43221.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-02-25 17:53 <a href="http://www.cppblog.com/lovedday/archive/2008/02/25/43221.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D中的方位和角位移的C++实现</title><link>http://www.cppblog.com/lovedday/archive/2008/02/19/42958.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 19 Feb 2008 11:46:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/02/19/42958.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/42958.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/02/19/42958.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/42958.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/42958.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 处理变换是一件非常令人头疼的事，矩阵更是棘手。如果你曾经编写过关于矩阵的代码并且没有用设计良好的类，你会发现经常要处理负号、转置矩阵或翻转连接顺序以使其能正常工作。<br><br>下面这几个类正是为了消除在编程中经常遇到的这类问题而设计的。例如，很少需要直接访问矩阵或四元数中的元素，因此特意限制了可用操作的数目以避免产生迷惑，再如，对cRotationMatrix类，没有求逆和连接操作，因为如果按其本身的目的使用cRotationMatrix，这些操作是不应该出现或没有意义的。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/02/19/42958.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/42958.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-02-19 19:46 <a href="http://www.cppblog.com/lovedday/archive/2008/02/19/42958.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D中的方位和角位移</title><link>http://www.cppblog.com/lovedday/archive/2008/02/16/42801.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Sat, 16 Feb 2008 04:52:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/02/16/42801.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/42801.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/02/16/42801.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/42801.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/42801.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 直观地说，我们知道物体的“方位”主要描述的是物体的朝向。然而“方向”和“方位”并不完全一样。向量有“方向”但没有“方位”，区别在于，当一个向量指向特定方向时，可以让向量自转（如图10.1所示），但向量（或者说它的方向）却不会有任何变化，因为向量的属性只有“大小”，而没有“厚度”和“宽度”。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/02/16/42801.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/42801.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-02-16 12:52 <a href="http://www.cppblog.com/lovedday/archive/2008/02/16/42801.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title> 3D数学 ---- 矩阵的更多知识</title><link>http://www.cppblog.com/lovedday/archive/2008/01/16/41291.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 16 Jan 2008 11:06:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/01/16/41291.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/41291.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/01/16/41291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/41291.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/41291.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在任意方阵中都存在一个标量，称作该方阵的行列式。<br><br>方阵M的行列式记作|M|或“det M”，非方阵矩阵的行列式是未定义的。n x n阶矩阵的行列式定义非常复杂，让我们先从2 x 2，3 x 3矩阵开始。  &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/01/16/41291.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/41291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-01-16 19:06 <a href="http://www.cppblog.com/lovedday/archive/2008/01/16/41291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D数学 ---- 矩阵和线性变换</title><link>http://www.cppblog.com/lovedday/archive/2008/01/14/41144.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Mon, 14 Jan 2008 11:11:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/01/14/41144.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/41144.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/01/14/41144.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/41144.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/41144.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 包含平移的线性变换称作仿射变换，3D中的仿射变换不能用 3 x 3 矩阵表达，必须使用4 x 4矩阵。<br><br>一般来说，变换物体相当于以相反的量变换描述这个物体的坐标系。当有多个变换时，则需要以相反的顺序变换相反的量。例如，将物体顺时针旋转20度，扩大200%，等价于将坐标系缩小200%，再逆时针旋转20度。 &nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/01/14/41144.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/41144.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-01-14 19:11 <a href="http://www.cppblog.com/lovedday/archive/2008/01/14/41144.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D数学 ---- 矩阵的几何解释</title><link>http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 09 Jan 2008 09:16:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/40813.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/40813.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/40813.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一般来说，方阵能描述任意线性变换。线性变换保留了直线和平行线，但原点没有移动。线性变换保留直线的同时，其他的几何性质如长度、角度、面积和体积可能被变换改变了。从非技术意义上说，线性变换可能“拉伸”坐标系，但不会“弯曲”或“卷折”坐标系。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/40813.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-01-09 17:16 <a href="http://www.cppblog.com/lovedday/archive/2008/01/09/40813.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>3D数学 --- 矩阵篇</title><link>http://www.cppblog.com/lovedday/archive/2008/01/09/40798.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Wed, 09 Jan 2008 07:39:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/01/09/40798.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/40798.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/01/09/40798.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/40798.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/40798.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 矩阵的维度被定义为它包含了多少行多少列，一个 r x c 矩阵有r行c列。用黑体大写字母表示矩阵，如：M、A、R。需要引用矩阵的分量时，采用下标法，常使用对应的斜体小写字母，如下面的3 x 3矩阵所示：&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/01/09/40798.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/40798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-01-09 15:39 <a href="http://www.cppblog.com/lovedday/archive/2008/01/09/40798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个3D向量类</title><link>http://www.cppblog.com/lovedday/archive/2008/01/08/40758.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Tue, 08 Jan 2008 13:58:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2008/01/08/40758.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/40758.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2008/01/08/40758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/40758.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/40758.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 提供以下基本操作：<br><br>1.   存取向量的各分量（x, y , z）<br>2.   向量间的赋值操作<br>3.   比较两向量是否相同<br>4.   将向量置为零向量<br>5.   向量求负<br>6.   求向量的模<br>7.   向量与标量的乘除法<br>8.   向量标准化<br>9.   向量加减法<br>10. 计算两点（点用向量表示）间距离<br>11. 向量点乘<br>12. 向量叉乘<br><br>该向量的操作运算对3D点同样适合。&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2008/01/08/40758.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/40758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2008-01-08 21:58 <a href="http://www.cppblog.com/lovedday/archive/2008/01/08/40758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>向量的点积和叉积定义</title><link>http://www.cppblog.com/lovedday/archive/2007/04/26/22890.html</link><dc:creator>lovedday</dc:creator><author>lovedday</author><pubDate>Thu, 26 Apr 2007 10:34:00 GMT</pubDate><guid>http://www.cppblog.com/lovedday/archive/2007/04/26/22890.html</guid><wfw:comment>http://www.cppblog.com/lovedday/comments/22890.html</wfw:comment><comments>http://www.cppblog.com/lovedday/archive/2007/04/26/22890.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/lovedday/comments/commentRss/22890.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/lovedday/services/trackbacks/22890.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 向量的点积：<br><br>假设向量u(ux, uy)和v(vx, vy)，u和v之间的夹角为α，从三角形的边角关系等式出发，可作出如下简单推导：<br><br>  |u - v| * |u - v| = |u| * |u| + |v| * |v| - 2 * |u| * |v| * cosα   <br>&nbsp;&nbsp;<a href='http://www.cppblog.com/lovedday/archive/2007/04/26/22890.html'>阅读全文</a><img src ="http://www.cppblog.com/lovedday/aggbug/22890.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/lovedday/" target="_blank">lovedday</a> 2007-04-26 18:34 <a href="http://www.cppblog.com/lovedday/archive/2007/04/26/22890.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>