- 95
- 0
- 约3.61千字
- 约 6页
- 2019-08-11 发布于福建
- 举报
安徽大学计算机实验教学中心PAGE
安徽大学计算机实验教学中心
PAGE 1
学号 专业 姓名
实验日期 2018.12.11 教师签字 成绩
实验报告
【实验名称】 简单动画的实现、三维图形变换
【实验目的】
指定图形运动轨迹,实现物体的移动过程和移动速度控制;
(2) 理解并掌握形体的投影变换的原理;
【实验原理】
1)简单动画的原理:显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动;了解 getimage函数和 putimage函数、imagesize函数、malloc 函数、 cleardevice函数的使用。
2)绘制一点透视图的变换矩阵:
1 0 0 0
T= 0 1 0 0
0 0 0 1/d
L m n 1+n/d
得变换后的点坐标为:
x’=(x+l)/(d+(n+z)*d)
y’=(y+m)/(d+(n+z)*d)
z’=0
设计思想
图形的移动
分别画出一个六边形和一个三角形,用两个一维数组p和A来存放其各点坐标;运用putimage(x,y,p,op)函数将六边形不断地向三角形平移,直到到达三角形的边界位置为止。
用到的函数如下:
getimage(x1,y1,x2,y2,p);将屏幕左上角(x1,y1),右下角(x2,y2)的矩形区域内的图象存到指针P所指向的内存区域中。putimage(x,y,p,op);将p所指向的内存区域的内容在屏幕上显示,左上角坐标(x,y)。
一点透视
基本步骤如下:
将三维物体平移到适当位置(l,m,n);
令视点在z轴,进行透视变换,变换矩阵如下:
最后,向xOy面作正投影变换,将结果变换到xOy面上。如此构造的一点透视变换矩阵为:
则三维形体中任意一点(x,y,z)的一点透视变换的齐次坐标计算形式为:
[x’,y’,z’,1]=;
【实验内容】
1.图形的移动显示两个图形,然后移动其中一个图形.当被移动的图形超出屏幕范围时,输
出错误信息“Coordinate out of range”并结束。
#define SHOW_CONSOLE
#includegraphics.h
#includetime.h
#includestdio.h
const int size_x=640,size_y=480;
int main()
{
PIMAGE w;
initgraph(size_x, size_y);//打开一个长640像素,宽480像素的窗口
w = newimage();
circle(100,100,50);
getimage(w,50,50,150,150);
for(int i=0;i=1000;delay_fps(60),i += 1){
if(i size_x){
outtextxy(210, 210, Coordinate out of range);
break;
}
cleardevice();
putimage(i,200,w);
circle(100,100,50);
}
getch();//让屏幕暂停一下
closegraph();//关闭绘图窗口
return 0;
}
2.显示一个立方体的一点透视投影图;(用数组存放正方体的各顶点坐标)。
(选)显示一个立方体的两点透视投影图、斜二测图;(用数组存放正方体的各顶点坐标)。
#define SHOW_CONSOLE
#include graphics.h // 引用ege图形库
#includeiostream
#includestdio.h
#includemath.h
#includealgorithm
#includevector
const int size_x=640,size_y=480;
const double eps = 1e-6;
struct Node{
int x,y,z;
//Node(int a,int b,int c){x=a,b=y,c=z;}
};
std::vectorNode co;
void input()
{
int n,x,y,z;
std::cinn;
for(int i
您可能关注的文档
- 2017年GPON试题库(附答案).doc
- 2019年中考初中物理试卷(基础巩固).docx
- 2019年春-中国石油大学房屋建筑学第三阶段在线作业.docx
- 高二数学选修1-2复习总结试题.doc
- 全国高职院校物流技能大赛仓储配送方案设计.doc
- 某科技创新研究综合服务平台建设项目申报书.docx
- 2019高考英语考前精刷卷(经典卷+模拟卷)(含2019新题-有解析):专题三十一其他类.docx
- 第4课时-人民币兑换.pptx
- 2018-2019学年度第二学期六年级语文半期考试卷.doc
- 九年级全册英语单词(汉语版).doc
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- (109页PPT)第1单元 第1课 中华文明的起源与早期国家.pptx VIP
- 神经网络第三章感知器.ppt VIP
- 汽车发动机结构与检修 第二版 项目二 曲柄连杆机构拆装与检修.ppt VIP
- 新改版教科版六年级下册科学全册知识点总结(期末复习资料).doc VIP
- 2021中国制冷展-磁悬浮压缩技术在热泵产品中的应用探索.pdf VIP
- 苯甲苯二甲苯分离过程工艺设计说明书.pdf
- GRAVINER Mk 6 油雾探测器安装使用说明书.pdf VIP
- 屋面工程施工方案(中建,58页).docx VIP
- 游戏机租赁协议.docx VIP
- 新改版教科版六年级下册科学知识点(全册汇总).docx VIP
原创力文档

文档评论(0)