博客园 首页 联系 管理

随笔分类 -  [专题]OpenGL

永远的OPENGL,永远的Carmark!
摘要:我们已经了解点和向量的关系和计算公式,以及矩阵的计算公式,接下来看看如何进行具体的坐标变换。 1. 平移矩阵 平移矩阵是最简单的矩阵,通过它可以帮助我们理解矩阵是如何参与几何图形变换的,其实只要将平移的各偏移量填入单位矩阵中就是一个平移矩阵。通过之前我们说的点与矩阵相乘的公式即可计算出几何图形位移后 阅读全文
posted @ 2012-06-18 02:20 CodeBlove 阅读(685) 评论(0) 推荐(0)

摘要:应gis for net朋友要求,发布一下以前写的相机类源码,这些代码没有经过优化,很粗糙。而且时间很长了,我根据记忆写了一点简单说明,详细的我也忘记了,见谅。// Camera.cpp: implementation of the CCamera class.////////////////////////////////////////////////////////////////////////#include "stdafx.h"#include "GLCamera.h"#include "math.h"////////// 阅读全文
posted @ 2011-08-10 22:01 CodeBlove 阅读(3844) 评论(0) 推荐(0)

摘要:二、 矩阵运算1. 什么是矩阵矩阵就是由多组数据按方形排列的阵列,在3D运算中一般为方阵,即M*N,且M=N,使用矩阵可使计算坐标3D坐标变得很方便快捷。下面就是一个矩阵的实例:看似没什么特殊的,可是后面你可以看到矩阵的魅力,为什么矩阵这么有效,我也不知道,这个由数学家去论述,我们只要可以用就是了。2. 向量的点乘和叉乘向量的点乘和叉乘与矩阵一样是数学定义,点乘在矩阵运算中起到很重要的作用,称为内积,叉乘称为外积,通过叉乘运算可以计算出一个向量,该向量垂直于由两个向量构成的平面,该向量也称为该平面的法线。这两个计算方法在3D运算中的作用就是向量计算工具。l 点乘公式其实就是两个向量的各分量相乘 阅读全文
posted @ 2010-02-20 21:11 CodeBlove 阅读(10687) 评论(12) 推荐(1)

摘要:经过一年多的断断续续的研究学习,终于有点像样的了,从学习计算机那天就在想,有朝一日我也能独立编一个可以让自己在其中自由畅游的空间的梦想,也算是开了个头,所花费的时间也算没有白费,学习思路和方向找对了,我感到很高兴很满意。让我来把这一刻记录下来。创建了一个空间,一个40*40*40的空间点矩阵,每点相距10个单位,在其中有一个平面,平面上树立了一个由2个拉长的三角形以十字交叉组成的树木模型。现在摄像机可以通过键盘和鼠标在空间自由漫游。目前已经建立了齐次坐标类、矩阵运算类、摄像机类、GL窗口类,矩阵类还需要进行补充三轴对齐矩阵设置函数,准备做一些整理后建一个模型类,好让外部程序很轻松地操作模型。为 阅读全文
posted @ 2008-10-25 22:13 CodeBlove 阅读(1867) 评论(2) 推荐(0)

摘要:1. 点和向量的区别点是三维空间中的某个坐标,是绝对的,它的值是参照原点的,而向量用于表示力和速度等具有方向和大小的量, 通常用具有长度和方向的线段来表示,虽然他们都具有三个分量,但对于向量,如果将向量放在坐标系中的任何位置(平移),都不会改变其性质,因为向量表示的是方向和大小,与位置距离无关,它的值是相对与基准点的。下图是三维顶点和向量的数学符号或称为列矩阵。在二维平面中只要将c和z设置为0即可2. 向量的获取使用两个点的坐标就可以计算向量,假设有两点P1和P2,以P1作为基准点,向量V=P2-P1,假如以P2作为基准点,则向量V=P1-P2,总之V=P-Pb,Pb为基准点。V=P-Pb=. 阅读全文
posted @ 2008-10-25 21:07 CodeBlove 阅读(15560) 评论(2) 推荐(2)