• 大小: 3.33MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-13
  • 语言: C/C++
  • 标签: 计算机  

资源简介

这些程序中,有不少算法是对书上所讲算法的改进和创新(我们用的是北京大学出版社出版的那本《计算机图形学》),并在实践过程中发现了书上所讲的某些算法是不正确的,并不能实现预期的效果。这些源程序在WIN-TC上运行通过。这些源程序,无论是对学习C语言,或计算机图形学来说都具有很高的参考价值。我搜集了6个班的实验源程序和实验报告,可以通过对比来加深对有关算法的理解。 所搜集的这些源程序上包含了计算机图形学几乎所有的基本算法: 简单的二维图形的生成 二维填充图元的生成 二维图形的剪裁 二维图形一些基本变换、简单的曲线变换 三维图形的变换 、面的消隐、平行投影 直线生成、字符显示和图形变换算法; 具体内容包括: 直线生成算法和线宽与线型处理 圆,椭圆和抛物线的生成算法 二维填充图的生成算法 字符的生成算法 二维裁剪生成算法 线段、园、区域填充、线型线宽、字符、裁剪、等基本图形生成算法;样条、Bezier、等常用曲线的生成算法;Coons曲面、Bezier曲面、B样条曲面等常用曲面的生成算法。 并 给出一些综合应用的例子

资源截图

代码片段和文件信息

#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 *//*定义原点坐标*/
/*#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);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
  initgraph(&gd &gm ““);
}


/*界面函数*/
/******************************************************/
/*************************************************************/
void drawmat(char *matint matsizeint xint yint color)
/*依次:字模指针、点阵大小、起始坐标(xy)、颜色*/
{
  int i j k n;
  n = (matsize - 1) / 8 + 1;
  for(j = 0; j < matsize; j++)
    for(i = 0; i < n; i++)
      for(k = 0;k < 8; k++)
        if(mat[j * n + i] & (0x80 >> k))  /*测试为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函数--##############*/
void draw_0(int x0int y0)
{
 heng(x0y0);

 heng(x0y0+20);

 shu (x0y0);
 shu (x0+13y0);
 shu (x0+13y0+10);
 shu (x0y0+10);
}
/*############--画1函数--##############*/
void draw_1(int x0int 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      59005  2005-12-13 09:35  计算机图形学源代码\信科0301\newmorning.c

     文件      59143  2005-12-13 10:53  计算机图形学源代码\信科0301\信科0301\newmorning.c

     文件      78902  2005-12-13 10:53  计算机图形学源代码\信科0301\信科0301\NEWMOR~1.EXE

     文件      35329  2005-12-13 10:53  计算机图形学源代码\信科0301\信科0301\NEWMOR~1.OBJ

     文件     821760  2005-12-13 09:57  计算机图形学源代码\信科0301\信科0301\计算机图形学论文 信科0301.doc

     文件     821760  2005-12-13 09:57  计算机图形学源代码\信科0301\计算机图形学论文 信科0301.doc

     文件        373  2005-12-03 00:41  计算机图形学源代码\信科0302\11.c

     文件      24458  2005-12-03 00:36  计算机图形学源代码\信科0302\11.EXE

     文件        441  2005-12-03 00:36  计算机图形学源代码\信科0302\11.OBJ

     文件      79398  2005-12-13 23:51  计算机图形学源代码\信科0302\3D.c

     文件      97428  2005-12-13 23:51  计算机图形学源代码\信科0302\3D.EXE

     文件      72571  2005-12-13 23:51  计算机图形学源代码\信科0302\3D.OBJ

     文件     100052  2005-12-04 14:35  计算机图形学源代码\信科0302\3D02D2~1.EXE

     文件      75730  2005-12-04 14:35  计算机图形学源代码\信科0302\3D02D2~1.OBJ

     文件     111172  2005-12-13 23:49  计算机图形学源代码\信科0302\3D02E2~1.EXE

     文件      90582  2005-12-13 23:49  计算机图形学源代码\信科0302\3D02E2~1.OBJ

     文件     105580  2005-12-14 00:00  计算机图形学源代码\信科0302\3D0AD2~1.EXE

     文件      83491  2005-12-14 00:00  计算机图形学源代码\信科0302\3D0AD2~1.OBJ

     文件     109152  2005-12-14 00:00  计算机图形学源代码\信科0302\3D0AE2~1.EXE

     文件      86016  2005-12-14 00:00  计算机图形学源代码\信科0302\3D0AE2~1.OBJ

     文件      78468  2005-12-13 23:59  计算机图形学源代码\信科0302\3DBB18~1.EXE

     文件      48478  2005-12-13 23:59  计算机图形学源代码\信科0302\3DBB18~1.OBJ

     文件      84108  2005-12-13 23:58  计算机图形学源代码\信科0302\3DFD1C~1.EXE

     文件      56228  2005-12-13 23:58  计算机图形学源代码\信科0302\3DFD1C~1.OBJ

     文件      68439  2005-12-13 23:58  计算机图形学源代码\信科0302\3Dgraphics-XiaoYing.c

     文件      37793  2003-01-01 02:12  计算机图形学源代码\信科0302\3Dgraphics1.c

     文件      53020  2005-12-14 00:03  计算机图形学源代码\信科0302\3Dgraphics1_TouShi.c

     文件      43451  2005-12-14 00:02  计算机图形学源代码\信科0302\3Dgraphics2.c

     文件      86611  2005-12-14 00:01  计算机图形学源代码\信科0302\3Dgraphics4.c

     文件      86588  2005-12-14 00:00  计算机图形学源代码\信科0302\3Dgraphics5.c

............此处省略344个文件信息

评论

共有 条评论