计算机图形学第三版实验报告,计算机图形学实验报告三.pdf

计算机图形学实验报告三

实 验 报 告

课程名称: 计算机图形学

实验名称: 绘制一段三次 Bezier 曲线

班 级 学 号 040930504

学 生 姓 名 朱茵茵

指 导 教 师 戴群

日 期: 2011 年 11 月

第 1 页第 1 页

计算机图形学实验报告三

一、实验目的

熟练掌握三次 Bezier 曲线参数方程

给出三次 Bezier 曲线控制顶点能生成曲线

二、实验器材

计算机

三、实验内容

绘制一段三次 Bezier 曲线

四、实验步骤

1 了解三次Bezier 曲线方程:

2、定义法绘制曲线:

假设控制点 P P P P 已经给定,按照 Bézier 曲线的定义:

0 1 2 3

3 2 3

P(t)=(1-t) P +3t(1-t)P +3t (1-t)P +t P

0 1 2 3

选取以下两种方式中的一种即可以绘制一段完整的 Bézier 曲线。

①对参数 t 在区间[0,1]内取得足够多的值,计算曲线上点的坐标

值,然后顺序将这些点连接起来,得到折线,用折线近似画出实际曲

线。当t 的取值增多,折线和实际曲线可任意接近。

②对参数 t 在区间[0,1]内取得足够多的值,计算曲线上点的坐标

值,当t 的取值增多,离散的点可以近似看成构成连续的曲线。

3 在 VB 下编程,完成 Bézier 曲线绘制一个小动物。

五、要求

1 将绘制一段完整的 Bézier 曲线编程一个子程序,在其他事件过

程中对其调用,完成一个小动物的绘制,要求小动物身体的某些部分

由Bézier 曲线绘制;

2、上机报告;

3 源程序

#include

#include

第 2 页第 2 页

计算机图形学实验报告三

#include

using namespace std;

#define KEY_POINT_NUM 6

#define CONTROL_POINT_NUM 4

#define WinWidth 1024

#define WinHeight 768

#define DrawOneLine(x1, y1, z1, x2, y2, z2) glBegin

(GL_LINES); /

glVertex3d( (x1), (y1), (z1) ); glVertex3d( (x2),

(y2), (z2) ); glEnd();

enum DRAW_FLAG{

FIRST_LINE = 0,

SECOND_LINE = 1,

第 3 页第 3 页

计算机图形学实验报告三

END = 2

};

int g_iFlag = FIRST_LINE;

int g_Viewport[4];

bool g_bIsDown = false;

double g_ModelMatrix[16];

double g_ProjMatrix[16];

double

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值