这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(《C和C++游戏趣味编程》配套教学视频)),布置了一次图片生成实验的PBL,给了大家3天时间分组完成代码、ppt报告。
这次,介绍张馨文、刘宗明俞、邓清、孙雅雯同学实现的奥尔比森错觉错觉。由于同学们学习C语言刚一个月,还没有正式学习数组、函数等语法知识,因此代码可能不够完善。以下提供了分步骤的实现思路、代码,大家可以参考。
首先是同学们调研的目标效果:
在背景圆形图案的影响下,前景互相垂直的黑色线条似乎变得弯曲了。
最终实现效果:
依次实现步骤:
最终代码:
#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