图形学
文章平均质量分 82
lishichengyan
zju过气涂鸦爱好者
展开
-
【OpenGL】使用DDA算法画线
DDA(数字微分分析仪...好高大上的样子)算法其实就是利用直线方程来生成直线的算法,给定起点(x0,y0)和终点(xEnd,yEnd),这条直线就唯一确定了,它的斜率是k=(yEnd-y0)/(xEnd-x0)。对于x方向我们取增量为1,那么下一个x值,即xi+1=xi+1,这样一来,y方向的增量就是斜率k,那么yi+1=yi+k。利用这两个加粗的方程,我们就可以遍历这条直线,每到一个地方就把这原创 2017-09-26 23:35:24 · 11926 阅读 · 1 评论 -
【计算机图形学】Pov-Ray画的垃圾小车
效果:代码:#include "colors.inc"#include "metals.inc"#include "glass.inc"//相机//这个位置车子刚好落在草地上了camera { location direction z*1.5 right x*image_width/image_height look_at原创 2018-01-17 10:22:26 · 1590 阅读 · 0 评论 -
【WebGL】茶壶和纹理
实验目的是实现混合纹理以及用键盘控制纹理切换运行效果:代码:<!--Project Name: 实验6-???-???Author: ???Student ID: ???Description: 实验6的WebGL版Date: 2017.12.09--> 实验6原创 2017-12-28 21:29:55 · 1038 阅读 · 0 评论 -
【WebGL】茶壶和光照
一、实验目的和要求 在OpenGL观察实验的基础上,通过实现实验内容,掌握OpenGL中消隐和光照的设置,并验证课程中消隐和光照的内容。 二、实验内容和原理 使用WebGL完成已有代码,达到如下的效果(示意图是以GLUT完成)模型尺寸参见WebGL观察实验。要求修改代码达到以下要求:利用Three.js绘制桌子,读取teapot.obj并绘制茶壶原创 2017-12-17 19:37:57 · 2035 阅读 · 0 评论 -
【WebGL】hello WebGL
开始学习WebGL了。1、怎么创建一个canvas?canvas的含义是画布,是一个装载图形的容器,WebGL绘制的场景都装在这个容器里。它的创建很简单,我们可以先在style标签内定义它的边框属性: canvas{border:2px dotted blue;} 然后在body标签内加上: your browser does not support HTML5原创 2017-12-11 20:59:40 · 316 阅读 · 0 评论 -
【OpenGL】4个视口的拼接与同步
图形学第三次作业的内容,老师给的题目是如何用4个ipad拼起来创造一个更大的视口。问题的简化就是把4个视口拼起来,并实现它们的同步。思考+实践过后发现关键其实是四个视口必须绘制同样的东西,绘制完成后可以做一些平移变换把某些部分消隐掉(其实这些看不见的部分还在buffer里,如果后面做了旋转之类的操作它们还会再出现,所以实际上是四个相同的画面,每一时刻都只让观察者看到一部分,这四个部分加起来刚好原创 2017-11-21 21:39:55 · 2515 阅读 · 0 评论 -
【OpenGL】斯坦福兔子、显示列表
先放一下运行效果:代码:/**************************************************************Project Name: 实验4-???-???*Description: *Author: lishichengyan*Student ID: ???*Date: 2017.11.24*****************原创 2017-11-28 19:52:00 · 2376 阅读 · 0 评论 -
【OpenGL】模拟太阳系
当然是先上运行效果:再上代码:/*****************************************************Project Name: 模拟太阳系*Author: lishichengyan*Student ID: ???*Description: ???*Date: 2017.11.01************************原创 2017-11-03 21:42:49 · 5155 阅读 · 1 评论 -
【OpenGL】画一个带渲染效果的多边形
代码略。运行效果:本学期图形学的第一个实验,总体来说比较简单,但还是学到了一些东西,首先是glBegin(GL_TRIANGLE_FAN);中的GL_TRIANGLE_FAN这个参数的作用是绘制一组相连的三角形,三角形由glBegin(GL_TRIANGLE_FAN);...... glEnd();之间的顶点坐标所确定。进一步查阅资料,对OpenGL绘制多边形的几个重要参数做原创 2017-10-14 23:47:53 · 1251 阅读 · 0 评论 -
【OpenGL】几何变换的常用函数
1、glMatrixMode():如果参数是GL_MODELVIEW,表示我们加载了一个4x4的矩阵。OpenGL的几何变换都是通过矩阵来完成的。在引入了齐次坐标系后,三维空间的变换都可以用4x4矩阵来表示。2、glLoadIdentity():表示把当前的4x4矩阵变成单位矩阵,这一般用来做一些初始化操作。3、另外也可以用下面的方法加载矩阵:4、还可以做矩阵乘法:原创 2017-10-31 20:05:06 · 1187 阅读 · 0 评论 -
【OpenGL】常见的函数说明
几乎每个OpenGL程序都会涉及到这些东西,以最近做的图形学实验2为例,总结一下:int main(int argc,char *argv[]){glutInit(&argc,argv);glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE);glutInitWindowSize(640,480);glutCreateWindow("图形学实验2"原创 2017-10-29 23:20:10 · 1399 阅读 · 0 评论 -
【OpenGL】中点法画椭圆
仍然可以看成是Bresenham算法的一个应用,书上叫它“中点法”(原因是当我们不能确定取哪个坐标的时候,就用两个待定的坐标的中点代入方程来帮助判断)。Bresenham算法归根到底要解决的就是“下一个点怎么选更精确”这个问题,解决的套路是:1)先给出一个判别函数,这个函数就是所要画的曲线的方程式;2)求解这个判别函数的递推式;2)总是从像素点更密集的方向开始选点(方便起见从x开始原创 2017-09-28 16:34:13 · 6818 阅读 · 1 评论 -
Win10+VS2012配置OpenGL
参考了:http://blog.csdn.net/laojiu_/article/details/523476921)下载glut:https://www.opengl.org/resources/libraries/glut/解压后得到:2)打开VS2012安装目录,进入VC/include,新建gl文件夹,把.h文件放进去3)进入VC/lib,把lib文原创 2017-09-20 00:00:01 · 1101 阅读 · 0 评论 -
【OpenGL】用Bresenham算法画线
代码:/*使用Bresenham算法画线*/#includeusing namespace std;#include#include#includevoid myDisplay(void);void setPixel(int x,int y);int round(const float a);void ChangeSize(GLsizei w, GLsizei h);v原创 2017-09-27 16:41:20 · 1546 阅读 · 0 评论 -
【opengl复习】显示框架
在上周昆大神的图形学研究进展,害怕跟不上特地来复习一波opengl1、显示框架:/**************************************************************Project Name:*Description: *Author: lishichengyan*Student ID:*Date:*Reference:http://www.li...原创 2018-03-12 22:54:12 · 209 阅读 · 0 评论