错觉图片生成实验 - 旋转花

本文介绍了大一学生使用C语言实现旋转花程序的过程,通过逐步添加小球运动、多球跳跃及颜色变化等功能,展示了简单的物理模拟。学生们在仅学习了一个月C语言的情况下,利用基本语法创作了趣味编程实验,体验了编程解决问题的乐趣和挑战。
摘要由CSDN通过智能技术生成

(图书介绍:童晶:《C和C++游戏趣味编程》新书预告

这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(《C和C++游戏趣味编程》配套教学视频)),布置了一次错觉图片生成实验的PBL,给了大家5天时间分组完成代码、ppt报告。

这次,介绍张昊翔、邹烨、谢欣然、蒋稷康同学实现的旋转花(spinning flower)。由于同学们学习C语言刚一个月,还没有正式学习数组、函数等语法知识,因此代码可能不够完善。以下提供了分步骤的实现思路、代码,大家可以参考。

首先是同学们调研的目标效果:

v2-1c104e822d2fcd69ffdc371907b39ff0_b.gif

看起来三瓣花瓣在旋转,实际上组成花瓣的每个小球都只是在直线上运动。

1、画出一个小球,标记内圆与外圆

v2-001c1651a01013d6d3acc803e9b0e8c0_b.jpg
#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<math.h>
int main()
{
     
	int width=500,height=500;
	initgraph(width,height);//初始化画布

	int radius1=20;
	int radius2=220;
	int centerx=250,centery=250;//关于两个标记圆的相关变量

	//画出两个标记圆
	setlinecolor(GREEN);
	circle(centerx,centery,radius1);
	circle(centerx,centery,radius2);

	//实验,画出一个圆
	int ball_radius=5;
	int ballx=250,bally=230;
	setfillcolor(RGB(255,0,0));//设置填充颜色
	fillcircle(ballx,bally,ball_radius);
	setlinecolor(RGB(255,0,0));
	circle(ballx,bally,ball_radius);
	
	_getch();
	return 0;
}

2、赋予这一个小球运动,引入关于速度的变量

#include<stdio.h>
#include<graphics.h>
#include<conio.h>
#include<math.h>
int main()
{
     
	int width=500,height=500;
	initgraph(width,height);//初始化画布

	int radius1=20;
	int radius2=220;
	int centerx=250,centery=250;//关于两个标记圆的相关变量

	//画出两个标记圆
	setlinecolor(GREEN);
	circle(centerx,centery,radius1);
	circle(centerx,centery,radius2);


	//实验,画出一个圆
	int ball_radius=5;
	int ballx=250,bally=230;
	setfillcolor(RGB(255,0,0));//设置填充颜色
	fillcircle(ballx,bally,ball_radius);
	setlinecolor(RGB(255,0,0));
	circle(ballx,bally,ball_radius);

	//并赋予这个圆速度上的变化
	float vx=0;
	float vy=0;
	float vy1;
	float g=0.3;
	double distance;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值