随笔分类 -  图形学

摘要:下面是一个基于glut的OpenGL程序框架,用的是正投影,可以方便的通过参数设置Frustum的大小。通常可以用来做二维的demo,比如二维填充算法演示等等。 //迈克老狼整理,参考3D Graphics书 #include <stdlib.h> #include <stdio.h> #include <GL/glew.h> // muse be placed before glut. gkd #include <GL/glut.h> // OpenGL Graphics Utility Library // These variables c 阅读全文

posted @ 2011-12-28 15:17 Hibernate4 阅读(280) 评论(0) 推荐(0)

摘要:一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道“齐次坐标在仿射变换中非常的方便”,然后就没有了后文,今天在一个叫做“三百年 重生”的博客上看到一篇关于透视投影变换的探讨的文章,其中有对齐次坐标有非常精辟的说明,特别是针对这样一句话进行了有力的证明:“齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换。”——F.S. Hill, JR。 由于作者对齐次坐标真的解释的不错,我就原封不动的摘抄过来: 对于一个向量v以及基oabc,可以找到一组坐标(v1,v2,v3),使得v= v1a+ v2b +v3c (1)而对于一个点p,则 阅读全文

posted @ 2011-11-26 23:18 Hibernate4 阅读(262) 评论(0) 推荐(0)

摘要:前言(Preface)前段时间有些朋友在论坛里问到一些关于3D数学的知识,就想为大家写点这方面的文章。由于之前比较忙,又遇到过春节,所以最近才着笔写了这篇文章,希望大家喜欢。这些内容主要是一些理论知识,看上去难免有些枯燥,之后的文章我会加入一些实例进行讲解的。如果内容存在错误和不全,就请你来更正和添加了。三维坐标系(3D Coordinate System)三维坐标是把二维的平面坐标推广到三维空间中,在三维坐标中,点(x,y,z)的齐次坐标为(nx,ny,nz,n),其中n为任意不为0的数,规范化的齐次坐标为(x,y,z,1),与之相对应,三维变换的变换矩阵为4×4矩阵。在三维空间中 阅读全文

posted @ 2011-11-26 23:09 Hibernate4 阅读(258) 评论(0) 推荐(0)

摘要:矢量的概念: 如果一条线段的端点是有次序之分的,我们把这种线段成为有向线段(directed segment)。如果有向线段p1p2的起点p1在坐标原点,我们可以把它称为矢量(vector)p2。矢量加减法: 设二维矢量P = ( x1, y1 ),Q = ( x2 , y2 ),则矢量加法定义为: P + Q = ( x1 + x2 , y1 + y2 ),同样的,矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )。显然有性质 P + Q = Q + P,P - Q = - ( Q - P )。 矢量叉积: 计算矢量叉积是与直线和线段相关算法的核心部分。设矢... 阅读全文

posted @ 2011-09-28 17:49 Hibernate4 阅读(224) 评论(0) 推荐(0)

导航