计算机图形学实验五——简单动画的实现(代码片段)

大灬白 大灬白     2022-12-25     568

关键词:

【实验名称】 简单动画的实现
【实验目的】
(1)指定图形运动轨迹,实现物体的移动过程和移动速度控制;
【实验原理】
1)简单动画的原理:显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动。
【实验内容】
1.图形的移动
显示两个图形,然后移动其中一个图形.当被移动的图形超出屏幕范围时,输
出错误信息“Coordinate out of range”并结束。

【源代码】

#include<graphics.h>
#include<stdio.h>
#include<conio.h>

void delay()//控制图形移动的速度

	for(int i=0;i<300;i++)
		for(int j=0;j<300;j++)
			for(int k=0;k<300;k++);


int main()

	IMAGE w;
	int driver=DETECT,mode;
	initgraph(&driver,&mode,"");
	setbkcolor(GREEN);
	getimage(&w,1,1,100,100);
	for(int i=1;i<400;i++)
	
		putimage(i+20,100,&w,0);/*清除当前矩形*/
		putimage(i+20,100,&w,1);/*在新位置显示矩形*/
		if(i>=400)
		
			printf("Coordinate  out  of  range\\n");
			return 0;
		
		setcolor(YELLOW);//将未移动的图形的边框置为黄色
		rectangle(100,100,200,200);
		delay();
		cleardevice();
	
	getch();
	closegraph();
    return 0;

【实验截图】

【小结或讨论】
本次实验是简单动画的实现。该实验的原理为:显示一个对象,然后把它抹去,把这个图形进行变换后,再在新位置予以显示.当上述过程重复执行时,在视觉上便产生了运动。
在本次实验中,使用了一个delay函数,用以控制图形的移动速度。使用了两个putimage(x,y,p,op)函数,当op=0时,清除当前矩形;op=1时,显示新位置图形。
总体来说,此次实验比较简单,主要就是各类函数的使用。通过此次实验,我对图形运动有了更加深刻地理解,但代码的实现还需要多加练习。

计算机图形学实验六——线型和线宽(代码片段)

【实验名称】线型和线宽【实验目的】通过实验,进一步理解和掌握线型和线宽的处理。【实验原理】线型包括实线、虚线和点线。线型的显示在扫描转换算法中可通过像素段方法实现,即对各种虚线和点线,画线程... 查看详情

计算机图形学实验二——二维图形几何变换及裁剪(代码片段)

【实验名称】二维图形几何变换及裁剪【实验目的】1.通过实验,进一步理解和掌握二维几何图形的基本变换及复合变换的原理;2.理解和掌握cohen-sutherland裁剪算法的基本思想。【实验原理】1.平移变换、... 查看详情

计算机图形学实验四——投影变换(代码片段)

这里写目录标题一级目录一级目录【实验名称】投影变换【实验目的】理解并掌握形体的投影变换的原理;【实验原理】绘制一点透视图的变换矩阵:T=1 0 0 00 1 0 00 0 0 1/dL m n 1+n/d得变换后的点坐标为... 查看详情

计算机图形学实验一——基本图素的生成算法和图形填充(代码片段)

【实验名称】基本图素的生成算法和图形填充【实验目的】1、通过实验,进一步理解和掌握DDA和中点Bresenham算法;2、掌握填充算法的基本原理;【实验原理】1.给定直线两端点A(xA,yA)和B(xB,yB),画出该直线。&... 查看详情

201752082018-2019-实验五网络编程与安全(代码片段)

...缀表达式,虽然符合我们的数学计算习惯,但是并不符合计算机运算的方式后缀表达式严格按 查看详情

简单的图形学——光源(代码片段)

参考自:用JavaScript玩转计算机图形学(二)基本光源-MiloYip-博客园,主要讲述三种最基本的光源——平行光、点光源、聚光灯,其实就是三种数学模型。代码的调整先前的代码中,颜色是由几何物体自身计算得出,因此使用很有限... 查看详情

[图形学]基于opengles3.0的高效目标变形动画(代码片段)

...mationUsingOpenGLES3.0JamesL.Jones介绍    移动平台上对高质量图形渲染的需求推进了GPU和图形API的发展,例如OpenGLES3.0;这些硬件/API上的进步使得程序员能够编写更加简洁、高效的图形学算法实现。其中的一个受益领域就是... 查看详情

视觉高级篇18#如何生成简单动画让图形动起来?(代码片段)

说明【跟月影学可视化】学习笔记。动画的三种形式固定帧动画:预先准备好要播放的静态图像,然后将这些图依次播放,实现起来最简单,只需要为每一帧准备一张图片,然后循环播放即可。增量动画:... 查看详情

计算机图形学第一次实验

步骤一:查找相关函数,了解其功能和调用https://blog.csdn.net/hebbely/article/details/69951068https://blog.csdn.net/beibiannabian/article/details/77534803https://blog.csdn.net/su20145104009/article/details/50216979中点画线法简单 查看详情

java实验五正式报告(代码片段)

实验五图形化应用程序开发(实验报告)姓名:XXX      班级:XXX      学号:XXX一、实验目的  1.通过图形化界面设计相关类、接口等,实现用户图形化应用程序的开发  2.进一步巩固JD... 查看详情

计算机图形学第四章练习——画饼图(代码片段)

计算机图形学第四章后边示例代码里有一段画饼图的练习,画出来是这样的中间有一段中心画圆法未实现,搜集了网上资料补全并执行了这段代码,作为openGL的学习练习 #include<GL/glut.h>#include<stdlib.h>#include<math.h>G... 查看详情

计算机图形学六面体旋转并实时切换虚线实线-代码实现(代码片段)

第一章作业背景1.1作业要求  编程实现一个多面体的旋转。在多面体的旋转过程中,对于不可见的线,用虚线表示;对于可见的线,用实线表示。1.2开发技术  本次作业采用前端技术实现,主要有:htm... 查看详情

编译原理实验二简单计算器的设计与实现(代码片段)

实验二 简单计算器的设计与实现 一、实验目的  综合运行词法分析器、语法分析器等原理实现一个具有加、乘功能的简单计算器,该计算器满足乘法优先级高于加法优先级,且仅处理非负整数。二、实验内容  1.... 查看详情

如何用opengl实现计算机图形学中的平移动画

参考技术A平移,是指在平面内,将一个图形上的所有点都按照某个直线方向做相同距离的移动,这样的图形运动叫做图形的平移运动,简称平移。平移不改变图形的形状和大小。图形经过平移,对应线段相等,对应角相等,对... 查看详情

20175308实验五《网络编程与安全》实验报告(代码片段)

20175308实验五《网络编程与安全》实验报告实验内容任务一任务要求两人一组结对编程:参考http://www.cnblogs.com/rocedu/p/6766748.html#SECDSA结对实现中缀表达式转后缀表达式的功能MyBC.java结对实现从上面功能中获取的表达式中实现后缀... 查看详情

计算机图形学(代码片段)

  【Define】图像的二值化就是在一定范围内突出图像的一些信息,让不太黑的或者不太白的变得更白(对于单通道而言),其他通道也可以根据这样的不同进行实现     其中A和B是像素的取值范围,当然,这个分段函... 查看详情

计算机系统实验五cache实验(代码片段)

计算机系统(2)实验五Cache实验一、实验目标:二、实验环境:三、实验内容与步骤四、实验结果及分析五、实验总结与体会一、实验目标:了解Cache对系统性能的影响二、实验环境:个人电脑(IntelCPU... 查看详情

计算机图形学动画

计算机图形学动画关键帧动画物理模拟质点弹簧系统粒子系统运动学正向运动学反向动力学梯度下降解法Rigging关键帧动画animator创建关键帧助手负责补充其他帧的图片主要技术就是插值知道两个点的信息,通过插值得到中间... 查看详情