计算机图形学
一只睡不醒的猪
目前是吉林大学20届研究生在读
展开
-
由键盘输入任意个控制(特征)点,绘制出对应的控制(特征)多边形及Bezier曲线
请由键盘输入任意个控制(特征)点,绘制出对应的控制(特征)多边形及Bezier曲线代码已经过编译,可直接进行使用。#include<stdio.h>#include<graphics.h>#include<math.h>//进行BEN计算float BEN(int k,int n,float t){ float a=1,b=1,c=1,s; i...原创 2019-01-17 16:47:13 · 1983 阅读 · 2 评论 -
编写代码实现对多边形图案填充
编写代码实现对多边形图案填充原理如下:首先,用模板定义各种图案。然后,修改填充的扫描转换算法。在确定了区域内的一个像素后,不是马上往该像素填色而是先查询模板位图的对应位置。若是以透明方式填充图案,则当模板位图对应位置为1时,用前景色写像素;否则,不改变该像素的值。若是以不透明方式填充图案,则根据模板位图对应位置为1或0来决定是用前景色还是背景色去写像素。#include<stdio.h...原创 2019-01-17 16:50:20 · 1929 阅读 · 0 评论 -
如何使用Visual C进行画图
首先需要安装一个文件包:链接:https://pan.baidu.com/s/1zUBClJjzghRr31FJaCkL7A提取码:diq3进行解压之后点击最下方的Setup打开之后会显示一个窗口,点击下一步:然后选择自己电脑里已有的Visual C版本进行安装安装成功后会有提示,然后就可进行画图操作:下面举个安装之后画图的例子:#include <graphics....原创 2019-01-17 17:09:18 · 7007 阅读 · 7 评论 -
用DDA算法绘制一条直线
用数值微分法(DDA法)绘制任意一条直线;(由键盘输入直线的两端点坐标)#include<stdio.h>#include<graphics.h>void DDA(float x1,float y1,float x2,float y2){ float x,y,pp,m,n; x=x2-x1; y=y2-y1; m=x1; n=y1; if(x>y)...原创 2019-01-16 19:55:50 · 4557 阅读 · 0 评论 -
任意画一个多边形,用边缘填充算法填充
任意画一个多边形,并用边(缘)填充算法进行填充。(多边形的顶点坐标存放在数组中,坐标值由键盘输入)#include<stdio.h>#include<graphics.h>//边缘填充void draw(int a,int b){ for(int i=a;i<500;i++){ if(getpixel(i,b)==0) putpixel(i,b,W...原创 2019-01-16 19:58:55 · 5471 阅读 · 2 评论 -
编码实现Cohen-Sutherland端点编码算法(用矩形窗口裁剪一条直线段)
编码实现Cohen-Sutherland端点编码算法(用矩形窗口裁剪一条直线段)#include<stdio.h>#include<graphics.h>struct PCB{ float x0; float y0; float x1; float y1; float xl; float xr; float yl; float yu;};int...原创 2019-01-16 20:03:14 · 2940 阅读 · 3 评论 -
显示一个立方体的一点透视投影图;(用数组存放正方体的各顶点坐标)。
显示一个立方体的一点透视投影图;(用数组存放正方体的各顶点坐标)基本步骤如下:1.将三维物体平移到适当位置(l,m,n);2.令视点在z轴,进行透视变换,变换矩阵如下:3.最后,向xOy面作正投影变换,将结果变换到xOy面上。如此构造的一点透视变换矩阵为:则三维形体中任意一点(x,y,z)的一点透视变换的齐次坐标计算形式为:[x’,y’,z’,1]=代码如下:#include...原创 2019-01-16 20:08:01 · 3671 阅读 · 0 评论 -
显示一个立方体的两点透视投影图(用数组存放正方体的各顶点坐标)
如何显示一个立方体的两点透视投影图(用数组存放正方体的各顶点坐标)?#include<graphics.h>#include<stdio.h>#include<math.h>float l,m,n,d,t,g1,g2,g3;//两点透视//P为经过两点透视后的立方体坐标,q则是使画图显示出来,而对p进行的倍率扩大,x扩大100,y扩大-100...原创 2019-01-16 20:11:39 · 2075 阅读 · 0 评论 -
显示一个立方体的斜二测图(用数组存放正方体的各顶点坐标)
显示一个立方体的斜二测图(用数组存放正方体的各顶点坐标)代码已经过编译,可直接使用。#include<graphics.h>#include<stdio.h>#include<math.h>float t=0.5,b;//斜二测void twoxiece(float *p){ int i,q[24],j=0; float x,y,z; f...原创 2019-01-16 20:14:14 · 1643 阅读 · 0 评论