计算机图形学 曲线的生成 实验报告
更新时间:2023-11-26 01:54:01 阅读量: 教育文库 文档下载
- 计算机图形学推荐度:
- 相关推荐
实验五
课程名称:计算机图形学 实验名称:曲线的生成 实验日期:2016/04/20 班级:
姓名:
学号
仪器编号:pc
一、 实验目的和要求
1、掌握B样条曲线的定义生成算法。
2、了解掌握曲面的生成算法,包括孔斯曲面、Bezier曲面、B样条曲面。
二、 实验内容
1、已知空间四点P0(-40.0,-40.0,0.0)、P1(-10.0,200.0,0.0)、P2(10.0,-200.0,0.0)、P3(40.0,40.0,0.0),参照上次Bezier曲线的程序并根据B样条曲线的定义绘制三次B样条曲线,并可修改线宽和颜色。 2、参照曲线生成方法,求xc=[1,1,2,1;4,4,4,4;7,6,7,8;10,9,10,9;]; yc=[1,3,6,9;0,3,6,10;0,3,6,9;1,4,7,10;]; zc=[3,5,5,2;4,6,7,4;4,7,6,5;2,4,5,4];构造的曲面,双三次Bezier曲面或双三次B样条曲面任选一个做。 提高题:(1)对上面的题目,实现已知控制点可以由用户自行输入。
(2)根据所学的曲面知识,编程绘制一个简单的带曲面的物品,自己设计并绘制。
三、 实验步骤
BEZk,n(t) = C(n, k)*tk*(1-t)n-k
可以得到三次Bez的基函数为 Bez1 = (1-t)3 = 1 – 3t + 3*t2 - t3 Bez2 = 3t(1-t)2 = 0 + 3t – 6*t2 + 3*t3 Bez3 = 3t2(1-t) =0 + 0 + 3*t2+ 3*t3 Bez4 = t3 = 0 + 0 + 0 + t3
//矩阵形式 t0 1 -3 3 -1 t1 0 3 -6 3 t2 0 0 3 -3 t3 0 0 0 1
四、程序清单
CPen penSolid(PS_SOLID,1,RGB(0,200,0));
CPen penRed(PS_SOLID,1,RGB(0,0,255)); CPen *pOldPen=NULL;
pOldPen=pDC->SelectObject(&penSolid);
/*graph location in screen&input matrix data file*/ w1=-320, w2=130,h1=-110; h2=479*(w2-w1)/639+h1; aa=639/(w2-w1); bb=479/(h2-h1);
read_data();/*read data to matrices x,y,z*/ /*creat matrices f&ft*/
f[0][0]=-1;f[0][1]=3;f[0][2]=-3;f[0][3]=1; f[1][0]=3;f[1][1]=-6;f[1][2]=3;f[1][3]=0; f[2][0]=-3;f[2][1]=0;f[2][2]=3;f[2][3]=0; f[3][0]=1;f[3][1]=4;f[3][2]=1;f[3][3]=0; for(i=0;i<4;i++) { for(j=0;j<4;j++)
{ ft[i][j]=f[j][i];}}/*creat axonometric transform matrix vv */ //*creat unit matrix*/ creat_unit_matrix(); th=pi/4;z0=2;
rota_x_y_z();/*rotate about z_axis*/ mult_matrix(); th=-0.73452;z0=0;
rota_x_y_z();/*rotate about x_axis*/
mult_matrix();th=pi;z0=0;rota_x_y_z();mult_matrix();th=-pi/2;z0=1;rota_x_y_z(); mult_matrix();th=-pi;z0=2;rota_x_y_z();mult_matrix(); for(i=0;i<4;i++) for(j=0;j<4;j++)
vv[i][j]=v[i][j];/*find the components of the product of matrix f&p&ft*/ for(kk=0;kk<3;kk++) { for(i=0;i<4;i++) for(j=0;j<4;j++) v[i][j]=f[i][j];
for(i=0;i<4;i++) for(j=0;j<4;j++) {switch(kk){
case 0:a[i][j]=x[i][j];break; case 1:a[i][j]=y[i][j];break; case 2:a[i][j]=z[i][j];break; default:break; }}
五、实验体会
1.上一个实验的动态绘制在交作业前都没有成功,这一周终于能够动态绘制曲线了。 2.三次B样条曲线的控制四点填入x[4]y[4]时不知道为什么就在生成面外。 3.部分曲面可以完成按下键盘上“上”、“下”、“左”、“右”箭头可观看曲面生成效果。 4.这次作业除了基本的推理演算外学习了很多网络上的编程方式,个人觉得提高很多。
正在阅读:
计算机图形学 曲线的生成 实验报告11-26
机械加工技术基础首页和教案10-21
2018~2019学年pep人教版三年级下册英语Unit 6 How many教案含作02-26
英文简历常用单词和短语06-03
管理会计试题及答案04-03
动漫专业人才培养计划04-18
良庄矿业医院抗菌药物临床应用实施细则11-15
周利华 护理查房与疑难病例讨论.pdx07-25
三彩10-04
草房子读书笔记12-11
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 曲线
- 生成
- 图形
- 实验
- 计算机
- 报告