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

这次,介绍韦思航、郑天翼、孙东伟同学实现的钻石阴影错觉。由于同学们学习C语言刚一个月,还没有正式学习数组、函数等语法知识,因此代码可能不够完善。以下提供了分步骤的实现思路、代码,大家可以参考。

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

每个菱形颜色是一样的,但看上去却有颜色由深到浅渐变的视错觉。

最终实现效果:

依次实现步骤:

1 创建一个渐变菱形单元

2 创建一行菱形单元

3 创建行列菱形

4 填补空白菱形

5 设置背景与完善

最终代码:

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

int main()
{initgraph(800,123.1*6);float a=40,b=123.1,i;float x1,x,y,k=b/a,h;setbkcolor(WHITE);cleardevice();for(int p=0;p<=2;p++){for(i=0;i<=10;i++){for(y=0;y<=123;y++){h=y+p*2*b;x1=(y-b-b*i*2)/(-k);setcolor(RGB(y,y,y));line(x1,h,80+160*i-x1,h);}for(y=124;y<=246;y++){h=y+p*2*b;x1=(y-3*b-b*i*2)/(-k);setcolor(RGB(y,y,y));line(x1,h,80+160*i-x1,h);}}   } for(int p=-1;p<=1;p++){for(i=0;i<=10;i++){for(y=0;y<=123;y++){h=y+p*2*b+b;x1=(y-b-b*i*2)/(-k)-a;setcolor(RGB(y,y,y));line(x1,h,160*i-x1,h);}for(y=124;y<=246;y++){h=y+p*2*b+b;x1=(y-3*b-b*i*2)/(-k)-a;setcolor(RGB(y,y,y));line(x1,h,160*i-x1,h);}}   } getch();
}

总结体会:

团队合作很重要

代码思路准确找

学习知识不可少

钻石错觉自明了

错觉图片生成实验 - 钻石阴影错觉相关推荐

  1. 错觉图片生成实验 - 大小圆圈错觉

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  2. 简单的错觉画_错觉图片生成实验 - 正方形错觉

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

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

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  4. 错觉图片生成实验 - 椭圆的艺术

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  5. 错觉图片生成实验 - 平行线(黑林错觉)

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  6. 错觉图片生成实验 - 正方形错觉

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  7. 错觉图片生成实验 - 会动的吃豆人

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  8. 错觉图片生成实验 - Go forward together

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

  9. 错觉图片生成实验 - 平行的线

    (图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...

最新文章

  1. datatable与SqlDataReader
  2. dbcontext mysql_mysql – ‘DbContextOptionsBuilder’不包含’UseSqlServer’的定义
  3. java 调用服务器文档,JAVA远程调用服务器端方法
  4. Windows 10 2022 年更新来了!
  5. React实现图片自适应
  6. 东师2016年秋季计算机基础,东师2016年秋季《计算机基础》期末考核答案(1).doc
  7. 在尝试重新安装一个服务时遇到这样的错误:指定服务已标记为删除
  8. Akari谜题(关灯问题)的开灯解法
  9. 关于数据分析师的4个你问我答,你曾有过这些困扰吗?
  10. IPIP.net状告阿里云抄袭侵权
  11. 绘制流程图的基本规则
  12. 关于区块链及其数据溯源的学习笔记
  13. 完美解决:*.vmx是由VMware产品创建,但该产品与此版VMware workstation不兼容因此无法使用…
  14. 我的第一个html网页(完整代码)
  15. 集束搜索(beam search)和贪心搜索(greedy search)
  16. 禁止多人使用同一账号在系统上进行操作[踢人操作]
  17. html给下拉菜单设置背景色,如何更改下拉菜单活动背景的颜色(即。tk.列表框)在一个ttk.组合框...
  18. 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结
  19. bzoj1787.紧急集合(倍增LCA)
  20. PEX8796等设计资料

热门文章

  1. [转帖]从平台到中台【下】
  2. css怎么设置图片的对比度?
  3. ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)
  4. datagridview序号左对齐_winform DataGridView数据导出到excel中
  5. PPR热熔接水龙头,与程序员的未来
  6. FEA和CFD仿真和分析软件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  7. 小米iot业务_小米集团组织变革:新设三大部门推进“手机X AIOT”战略落地
  8. 解决.NET Core/Standard 2.0编译时报“CS0579: Duplicate 'Assem
  9. C++程序员可以监控电脑流量?原来是掌握了这个监控术!
  10. 日记侠:高端卖茶人的朋友圈生意经