#include "iostream" #include #include #define PI acos(-1) using namespace std; struct MPOINT { GLdouble x, y; MPOINT(int x, int y) { this->x = x; this... ...
分类:
其他好文 时间:
2018-05-31 20:31:33
阅读次数:
183
1.DDA算法 DDA(Digital Differential Analyer):数字微分法 DDA算法思想:增量思想 公式推导: 效率:采用了浮点加法和浮点显示是需要取整 代码: 2.中点画线法 采用了直线的一般式:Ax+By+C=0 当k在(0,1]中时,每次在x方向上加1,y方向上加1或不变 ...
分类:
编程语言 时间:
2018-05-12 22:31:21
阅读次数:
278
这世界上有很多坑,注定有些坑是要填的。下面我就用VS2017使用MFC对这个课堂实验进行填坑。 一、实验目的 (1)掌握任意斜率直线段的重点 Bresenham 扫描转换算法; (2)掌握 Cline 直线类的设计方法; (3)掌握状态栏编程方法。 二、实验步骤 首先说一下目录结构,让大家对此有个清 ...
分类:
其他好文 时间:
2018-04-12 13:41:35
阅读次数:
827
#include <cstdio> #include <cstring> #include <conio.h> #include <graphics.h> void line1(){ line(100, 100, 200, 400); line(100, 400, 200, 100); line(0 ...
分类:
其他好文 时间:
2018-04-10 15:07:21
阅读次数:
214
计算机图形学(第2版 于万波 于硕 编著)第45页的Bresenham算法有错误: 书上本来要写的是以x为阶越步长的方法,但是他写的是用一部分y为阶越步长的方法(其实也写的不对),最后以x为阶越步长的方法总结。 分析书上的算法得: l K初始值<=0 画出的是 x=0; l 0<K初始值<1 画出的 ...
分类:
编程语言 时间:
2018-03-04 19:04:31
阅读次数:
204
操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Unity2017.3 | NativeC 最近在学习 Unity tilemap Brush 自定义笔刷功能时候,看到其直线笔刷 LineBrush 是采用 Bresenham 算法实现,故借此机会在这里记录下学习过程, ...
分类:
编程语言 时间:
2017-12-31 00:40:02
阅读次数:
253
作业。。。还是多做事,少想。。与其想一些遥不可及的事情,不如把脚下的事情做好。。。 应该分几个文件好好写的。。。习惯真差。。。 DDA,Bresenham,Scanline,按照中心平移,旋转,放大缩小,变化窗口大小。。。 ubuntu 下要装freeglut。。。 #ifdef WIN32#inc ...
分类:
其他好文 时间:
2017-10-17 12:22:50
阅读次数:
137
编程环境:codeblocks+EGE库 用到的函数:putpixel(int x1,int y1,int color) 用某种颜色打亮一个坐标点。 这俩种算法都是用来在计算机上画一条直线的,那么我们为什么不直接用直线方程分别带点再打亮呢,这是因为,计算机中每个坐标点都是整数,而直线是由一个个像素点 ...
分类:
编程语言 时间:
2017-09-11 21:10:22
阅读次数:
202
改进的Bresenham算法。 采用Bresenham算法进行直线计算,并且改进该算法中的乘法运算,使得整个直线段的计算都是通过加法运算进行,可以大大降低CPU的消耗,实验结果表明该算法对比DDA算法在频繁运算时能有者非常显著的效果。以下是改进过的Bresenham算法。 算法实现步骤: 过各行各列 ...
分类:
其他好文 时间:
2017-03-29 22:10:38
阅读次数:
183
首先来看一下题目要求: 2.2 Draw a Line Implement your line rasterization algorithm in OpenGL. You can only use integer arithmetic in your code. Input: 2 2D point ...
分类:
编程语言 时间:
2017-03-27 00:19:01
阅读次数:
1004