-
大小: 3.33MB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2023-09-13
- 語言: C/C++
- 標(biāo)簽: 計(jì)算機(jī)??
資源簡介
這些程序中,有不少算法是對(duì)書上所講算法的改進(jìn)和創(chuàng)新(我們用的是北京大學(xué)出版社出版的那本《計(jì)算機(jī)圖形學(xué)》),并在實(shí)踐過程中發(fā)現(xiàn)了書上所講的某些算法是不正確的,并不能實(shí)現(xiàn)預(yù)期的效果。這些源程序在WIN-TC上運(yùn)行通過。這些源程序,無論是對(duì)學(xué)習(xí)C語言,或計(jì)算機(jī)圖形學(xué)來說都具有很高的參考價(jià)值。我搜集了6個(gè)班的實(shí)驗(yàn)源程序和實(shí)驗(yàn)報(bào)告,可以通過對(duì)比來加深對(duì)有關(guān)算法的理解。
所搜集的這些源程序上包含了計(jì)算機(jī)圖形學(xué)幾乎所有的基本算法:
簡單的二維圖形的生成
二維填充圖元的生成
二維圖形的剪裁
二維圖形一些基本變換、簡單的曲線變換
三維圖形的變換 、面的消隱、平行投影
直線生成、字符顯示和圖形變換算法;
具體內(nèi)容包括:
直線生成算法和線寬與線型處理
圓,橢圓和拋物線的生成算法
二維填充圖的生成算法
字符的生成算法
二維裁剪生成算法
線段、園、區(qū)域填充、線型線寬、字符、裁剪、等基本圖形生成算法;樣條、Bezier、等常用曲線的生成算法;Coons曲面、Bezier曲面、B樣條曲面等常用曲面的生成算法。
并
給出一些綜合應(yīng)用的例子

代碼片段和文件信息
#include
#include
#include?“stdio.h“
#include?“graphics.h“
#include?“math.h“
#include“dos.h“
#define?closegr?closegraph
/*下面為掃描線填充*/
#define?MAXPOINT??5
/***********************/
#define?max?100
#define?true?1
#define?error?0
#define?false?0
/*#define?ORG_X?320?*//*定義原點(diǎn)坐標(biāo)*/
/*#define?ORG_Y?240*/
/*************************/
#define?Iterative??24
#define?Iterative2?(Iterative*Iterative)
#define?Iterative3?(Iterative2*Iterative)
#define?X?0
#define?Y?1
typedef?float?Vector[2];
/*************************/
/*#define?PATTERN_A?0
#define?PATTERN_B?1
#define?PATTERN_SOLID?-1*/
typedef?float?vector[2];
typedef?struct{
int?xy;
}Vertex;
typedef?Vertex?Edge[2];
typedef?Vertex?VertexArray[max];
/**************************************************************/
typedef?struct{
???????????????int?y_top;
???????????????float?x_int;
???????????????int?delta_y;
???????????????float?x_change_per_scan;
???????????????}EACH_ENTRY;
EACH_ENTRY?sides[MAXPOINT];
int?x[MAXPOINT]y[MAXPOINT];
int?first_slast_sscanbottomscanx_int_countside_count;
int?pattern[9][7]={111100001001000100100011100001
???????????????????100000100000010000011100000000000};??/*?定義字符掩膜的矩陣*/
/**********************************************************************/
/******************************************************************/
struct?matrix{????float?h[3][3];???};???????????????
struct?wc{????float?xy;?};??????????????????
struct?matrix?*thematrix;???????????????
float?radius(float?a)
{?return?a*3.14/180;}?
/***************************************************************/
void?initgr(void)?/*?BGI初始化?*/
{
??int?gd?=?DETECT?gm?=?0;?/*?和gd?=?VGAgm?=?VGAHI是同樣效果?*/
??registerbgidriver(EGAVGA_driver);/*?注冊(cè)BGI驅(qū)動(dòng)后可以不需要.BGI文件的支持運(yùn)行?*/
??initgraph(&gd?&gm?““);
}
/*界面函數(shù)*/
/******************************************************/
/*************************************************************/
void?drawmat(char?*matint?matsizeint?xint?yint?color)
/*依次:字模指針、點(diǎn)陣大小、起始坐標(biāo)(xy)、顏色*/
{
??int?i?j?k?n;
??n?=?(matsize?-?1)?/?8?+?1;
??for(j?=?0;?j?????for(i?=?0;?i???????for(k?=?0;k?8;?k++)
????????if(mat[j?*?n?+?i]?&?(0x80?>>?k))??/*測(cè)試為1的位則顯示*/
??????????putpixel(x?+?i?*?8?+?k?y?+?j?color);
}
/*heng*/
void?heng(int?hxint?hy)
{
?setcolor(YELLOW);
?line(hx+4hy+0hx+11hy+0);
?setcolor(WHITE);
?line(hx+3hy+1hx+12hy+1);
?setcolor(YELLOW);
?line(hx+4hy+2hx+11hy+2);
}
/*shu*/
void?shu(int?sxint?sy)
{
?setcolor(YELLOW);
?line(sx+0sy+3sx+0sy+10);
?setcolor(WHITE);
?line(sx+1sy+2sx+1sy+11);
?setcolor(YELLOW);
?line(sx+2sy+3sx+2sy+10);
}
/*############--畫0函數(shù)--##############*/
void?draw_0(int?x0int?y0)
{
?heng(x0y0);
?heng(x0y0+20);
?shu?(x0y0);
?shu?(x0+13y0);
?shu?(x0+13y0+10);
?shu?(x0y0+10);
}
/*############--畫1函數(shù)--##############*/
void?draw_1(int?x0int?
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????59005??2005-12-13?09:35??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\newmorning.c
?????文件??????59143??2005-12-13?10:53??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\信科0301\newmorning.c
?????文件??????78902??2005-12-13?10:53??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\信科0301\NEWMOR~1.EXE
?????文件??????35329??2005-12-13?10:53??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\信科0301\NEWMOR~1.OBJ
?????文件?????821760??2005-12-13?09:57??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\信科0301\計(jì)算機(jī)圖形學(xué)論文?信科0301.doc
?????文件?????821760??2005-12-13?09:57??計(jì)算機(jī)圖形學(xué)源代碼\信科0301\計(jì)算機(jī)圖形學(xué)論文?信科0301.doc
?????文件????????373??2005-12-03?00:41??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\11.c
?????文件??????24458??2005-12-03?00:36??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\11.EXE
?????文件????????441??2005-12-03?00:36??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\11.OBJ
?????文件??????79398??2005-12-13?23:51??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D.c
?????文件??????97428??2005-12-13?23:51??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D.EXE
?????文件??????72571??2005-12-13?23:51??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D.OBJ
?????文件?????100052??2005-12-04?14:35??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D02D2~1.EXE
?????文件??????75730??2005-12-04?14:35??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D02D2~1.OBJ
?????文件?????111172??2005-12-13?23:49??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D02E2~1.EXE
?????文件??????90582??2005-12-13?23:49??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D02E2~1.OBJ
?????文件?????105580??2005-12-14?00:00??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D0AD2~1.EXE
?????文件??????83491??2005-12-14?00:00??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D0AD2~1.OBJ
?????文件?????109152??2005-12-14?00:00??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D0AE2~1.EXE
?????文件??????86016??2005-12-14?00:00??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3D0AE2~1.OBJ
?????文件??????78468??2005-12-13?23:59??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3DBB18~1.EXE
?????文件??????48478??2005-12-13?23:59??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3DBB18~1.OBJ
?????文件??????84108??2005-12-13?23:58??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3DFD1C~1.EXE
?????文件??????56228??2005-12-13?23:58??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3DFD1C~1.OBJ
?????文件??????68439??2005-12-13?23:58??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics-XiaoYing.c
?????文件??????37793??2003-01-01?02:12??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics1.c
?????文件??????53020??2005-12-14?00:03??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics1_TouShi.c
?????文件??????43451??2005-12-14?00:02??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics2.c
?????文件??????86611??2005-12-14?00:01??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics4.c
?????文件??????86588??2005-12-14?00:00??計(jì)算機(jī)圖形學(xué)源代碼\信科0302\3Dgraphics5.c
............此處省略344個(gè)文件信息
- 上一篇:圖像FFT卷積
- 下一篇:C++ pca lda
評(píng)論
共有 條評(píng)論