随笔分类 -  Computer Graphics

摘要:世界坐标中的一个点乘以一个四维矩阵,可以实现平移,旋转和缩放等等。 平移就是,旋转和缩放就是(M分别是对应的旋转缩放矩阵) 当中为0时,是向量,为1时,是坐标。 平移, 旋转, 缩放, 世界坐标中的一个点乘以一个四维矩阵,可以实现平移,旋转和缩放等等。 平移就是,旋转和缩放就是(M分别是对应的旋转缩 阅读全文
posted @ 2016-09-18 19:16 clairvoyant 阅读(12173) 评论(0) 推荐(0)
摘要:glBegin中的参数可以改为绘制点-GL_POINTS,也可以改为绘制线条-GL_LINES。颜色值也可以随机设定。 总体来说,就是设定一个步长,每次随机的在上下左右绘制。当到达边界时,回到初始点。 阅读全文
posted @ 2016-06-02 20:06 clairvoyant 阅读(237) 评论(0) 推荐(0)
摘要:一、OpenGL像素阵列函数:OpenGL中有两个函数可用于定义矩阵阵列的形状图案。一个是位图,另一个是像素图。 (1).OpenGL位图函数 函数中的参数width和height分别给出阵列bitmap的列数和行数。bitmap的每一元赋值为0或1。值为1表示对应像素用前面设定的颜色显示;否则,对 阅读全文
posted @ 2016-06-01 21:53 clairvoyant 阅读(1678) 评论(0) 推荐(0)
摘要:若要定义该对象的六个面需要调用六次glBegin(GL_POLYGON)或glBegin(GL_QUADS)。而且每个面的顶点顺序必须符合从立方体外部对其观察时为逆时针次序。 为了简化,OpenGL提供顶点数组,只是使用少量的函数调用。 glEnableClientState(GL_VERTEX_A 阅读全文
posted @ 2016-06-01 16:22 clairvoyant 阅读(865) 评论(0) 推荐(0)
摘要:识别简单对象如凸多边形(向量叉积)、圆或椭圆的内部通常是一件很容易的事。但有时识别有相边的复杂填充区,需要一些特殊的方法。奇偶规则和非零环绕规则是识别平面图形内部区域的两种常用方法。 奇偶规则,该规则从任意位置P到对象坐标范围以外的远点画一条概念上的直线(射线),并统计沿该射线与各边的交点数目。假如 阅读全文
posted @ 2016-06-01 13:37 clairvoyant 阅读(566) 评论(0) 推荐(0)
摘要:椭圆与圆不同,不能八分只能四分。中点椭圆算法将分成两部分应用于第一象限。在斜率绝对值小于1的区域内在x方向取单位步长,在斜率绝对值大于1的区域内在y方向取单位步长。 取,可定义椭圆函数为 即决策参数。 从开始,在方向取单位步长直到区域1和区域2的界限处,然后转还为方向的单位步长,再覆盖第一象限中剩余 阅读全文
posted @ 2016-05-29 18:38 clairvoyant 阅读(4271) 评论(0) 推荐(0)
摘要:如同光栅画线算法,每步都以间隔单位取样并确定离指定圆最近的像素位置。为了减少计算量,可以将圆八分,根据Bresenham画线算法。我们首先给出点位置函数: 即可得知:(1), 位于圆边界内;(2),位于圆边界上;(3), 位于圆边界外。 第一象限中,假设在绘制了像素点,下一步需要确定绘制的位置是,还 阅读全文
posted @ 2016-05-25 18:30 clairvoyant 阅读(5027) 评论(0) 推荐(0)
摘要:一、数字微分分析仪(digital differential analyzer, DDA)方法是一种线段扫描转换算法。在一个坐标轴上以单位间隔对线段取样,从而确定另一个坐标轴上最靠近线路径的对应整数值。主要是根据直线公式y = kx + b来推导出来的,其关键之处在于如何设定单位步进,即一个方向的步 阅读全文
posted @ 2016-05-24 14:59 clairvoyant 阅读(8335) 评论(0) 推荐(0)