openGL
Janus_V
这个作者很懒,什么都没留下…
展开
-
计算机图形学の算法整合(期末用)
三种画直线算法:DDA:中点画线法:这里就是只取当前点右上方或右方的像素点, 看下头的例子会更清楚一点后头这部分就是对程序的优化了Bresenham画线法:基本思想就这么简单, 后头都是对程序的优化Bresenham 画圆:8对称性是通过X, Y轴对称, y=x 对称来直接由已知点坐标得到其他7点坐标的方法多边形填充算法:逐点判断法:Y-X扫描线填充:种子填充:直接看这个博客:https://blog.csdn.原创 2020-12-17 16:17:08 · 1056 阅读 · 1 评论 -
计算机图形学考点汇总
题型:预计会按照百度上那些期末题来整, 说是从PPT里出, 但是我觉得没那么好所以基本策略是:从百度上找考点, 然后回PPT中定位, 整理, 背诵更快的方法是直接背试卷的答案……题目汇总:这里仅仅记录名词解释, 计算题基本上是实验中的算法全要简答题:Ch.1:Ch.4:Ch.5:Ch.8综合(计算题):...原创 2020-12-15 18:53:14 · 980 阅读 · 0 评论 -
计算机图形学の万能模板(考试专用)
我想个法子做点防伪再发原创 2020-11-03 09:20:37 · 219 阅读 · 0 评论 -
计算机图形学の二维纹理映射(openGL)
二维纹理映射:其实就是往画的二维几何图形上贴贴图显示效果:随便找了个Gayhub的Logo转成了bmp当贴图\后期会补上详细的源码分析啥的, 顺便转成板子方便考试用源码:main.cpp#define NDEBUG#ifndef GLUT_DISABLE_ATEXIT_HACK#define GLUT_DISABLE_ATEXIT_HACK#endif#include <windows.h>#include <gl/glut.h>#include &l原创 2020-10-31 19:49:10 · 1046 阅读 · 0 评论 -
计算机图形学の二维几何变换(openGL)
二维图形变换:基础:矩阵计算啥的就不提了这里看一下齐次坐标:用n+1维向量表示n维向量, 主要解决透视空间的问题, 在OpenGL中, 使用的都是齐次坐标:具体的可以参考这片博客:https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/95228010二维图形变换:基础的三种图形变换:平移缩放旋转其余的变换通常都能转化为这三种最基础的变换感觉二维变换中无法使用glut提供的三个3D矩阵变换函数来进行变换, 最终还是得手算矩原创 2020-10-29 22:41:21 · 2459 阅读 · 0 评论 -
计算机图形学の三维几何变换&材质光照(OpenGL)
OpenGL三维几何变换 & 材质光照显示效果:源码:#define NDEBUG#ifndef GLUT_DISABLE_ATEXIT_HACK#define GLUT_DISABLE_ATEXIT_HACK#endif#include <windows.h>#include <gl/glut.h>#include <math.h>#include <stdio.h>#include <vector>using原创 2020-10-23 17:30:00 · 979 阅读 · 0 评论 -
计算机图形学の多边形裁剪算法(openGL)
二维图形裁剪算法:参考博客:https://blog.csdn.net/m0_46359746/article/details/106392352Liang-Barsky 线段裁剪算法://Liang-Barsky 线段裁剪算法class wcPt2D {public: GLfloat x,y;public: /*Default Constructor:initalize position 48(0.0,0.0).*/ wcPt2D(){ x=y=0.0; } wc原创 2020-10-09 13:01:57 · 2676 阅读 · 0 评论 -
计算机图形学のY-X扫描线算法
Y-X扫描线算法:今日白嫖1/∞ ???? 直接上源码后序在补上详解#define NDEBUG#ifndef GLUT_DISABLE_ATEXIT_HACK#define GLUT_DISABLE_ATEXIT_HACK#endif#include <windows.h>#include <gl/glut.h>#include <cmath>#include <vector>#include <algorithm>原创 2020-09-24 15:03:22 · 1205 阅读 · 5 评论 -
计算机图形学の三种经典画直线算法
各种画直线:DDA:void lineDDA (int x0, int y0, int xEnd, int yEnd){ int dx=xEnd-x0,dy=yEnd-y0,steps,k; float xIncrement,yIncrement,x=x0,y=y0; if(fabs(dx)> fabs(dy)){ steps = fabs(dx); }else { steps = fabs(dy); } xIncrement = float(dx)/float(steps);原创 2020-09-18 18:59:41 · 3672 阅读 · 0 评论