错觉图片生成实验 - 奥尔比森错觉

大一学生在学习C语言一个月后,完成了奥尔比森错觉的图片生成实验。他们通过分组合作,使用基本的绘图函数实现了背景圆形图案和前景垂直线条的交互效果,尽管尚未学习数组和函数。同学们通过鼠标交互改变线条,用随机颜色和大小的同心圆创造出视觉错觉。在团队合作中,他们不仅提升了编程技能,还学会了问题解决和团队协作。
摘要由CSDN通过智能技术生成

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

这次,介绍张馨文、刘宗明俞、邓清、孙雅雯同学实现的奥尔比森错觉错觉。由于同学们学习C语言刚一个月,还没有正式学习数组、函数等语法知识,因此代码可能不够完善。以下提供了分步骤的实现思路、代码,大家可以参考。

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

v2-eef00ad33cf94484d349c38001995da1_b.jpg

在背景圆形图案的影响下,前景互相垂直的黑色线条似乎变得弯曲了。

最终实现效果:

依次实现步骤:

v2-16e98a8741d76735156a28d1e069b5a8_b.jpg

v2-436e4a4f2af95cee911adeeaa294d198_b.jpg

v2-db473c475b7694e89d92ddbb66760b4a_b.jpg

v2-ed047f92e321b08e24544685ce6af28d_b.jpg

最终代码:

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

int main()
{
     
	int Pi = 3.1415926;//定义圆周率
	int width, height, radius;//定义画布宽度和长度还有圆的半径
	radius = 75;//圆的半径
	width = height = 600;//画布长宽
	initgraph(width, height);//绘制画布
	setbkcolor(WHITE);//画布填色
	cleardevice();//以白色填充
	setlinestyle(PS_SOLID | PS_JOIN_BEVEL, 2);//圆轮廓粗细
	setlinecolor(RGB(48, 128, 20));//线的初始颜色
	setfillcolor(RGB(176, 224, 230));//圆的初始颜色
	int step;//定义间距
	step = 0;//间距初始数值
	float a = rand() % 40 + 190;//随机数
	float b = rand() % 40 + 190;//随机数
	float c = rand() % 40 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值