
计算机图形学基础(OpenGL)
AbornCommander
我和你一样是游戏热爱者!
展开
-
OpenGL纹理贴图
任务:绘制有桌子茶壶,墙壁地板的简单三维场景,加载图片作为纹理,注意灯光的设置和场景的旋转。#include<windows.h>#include <GL/gl.h>#include <GL/glu.h>#include <GL/glut.h>#include <stdio.h>#include <malloc.h&...原创 2019-12-27 16:47:40 · 1500 阅读 · 2 评论 -
二维复合矩阵编程实例——任意的反射轴的反射变化
二维图像的几何变化二维图形基本几何变换是指相对于坐标原点和坐标轴进行的几何变换,包括平移(Translate)、比例(Scale)、旋转(Rotate)、反射(Reflect)和错切(shear)5种变换。物体变换物体变换是通过变换物体上每一个顶点实现的,因此以点的二维基本几何变换为例讲解二维图形基本几何变换矩阵 。平移变换:比例变换:对称变换:旋转变换:错切变换:★复...原创 2019-10-23 22:32:24 · 2027 阅读 · 0 评论 -
Bresenham画线算法
Bresenham直线算法是图形学中绘制直线的一种经典算法。该算法的迭代公式:完整代码原创 2019-10-07 14:53:41 · 3265 阅读 · 3 评论 -
中点画直线算法
中点画直线算法是计算机图形学中绘制直线的一种经典算法。该算法的迭代公式:完整代码:实现0<k<1的情况(k是直线的斜率)#include<GL/glut.h>void lineMidpoint(int x1, int y1, int x2, int y2){ int dx = abs(x2 - x1); int dy = abs(y2 - y1); in...原创 2019-10-07 15:21:36 · 3197 阅读 · 4 评论 -
Bresenham画圆算法
Bresenham 画圆算法适合于生成整圆,它使用8路对称法,只计算出90°~45°内的点,移动方向为+x,-y。递推公式:完整代码:加上Sleep函数,减慢画圆速度,以便观察画圆过程。#include<GL/glut.h>#include<windows.h>void setPixel(int x, int y){ glColor3f(0.0, 0.0...原创 2019-10-07 15:57:10 · 5018 阅读 · 3 评论 -
角度离散法画画弧和椭圆
角度离散法可以利用已有的直线算法来分段绘制圆弧、椭圆弧。这种方法的优点在于可以自由控制所绘制的弧的角度范围。原创 2019-10-07 23:17:32 · 1132 阅读 · 3 评论