错觉图片生成实验 - 钻石阴影错觉
这学期的线下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();
}
总结体会:
团队合作很重要
代码思路准确找
学习知识不可少
钻石错觉自明了
错觉图片生成实验 - 钻石阴影错觉相关推荐
- 错觉图片生成实验 - 大小圆圈错觉
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 简单的错觉画_错觉图片生成实验 - 正方形错觉
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 旋转花
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 椭圆的艺术
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 平行线(黑林错觉)
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 正方形错觉
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 会动的吃豆人
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - Go forward together
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
- 错觉图片生成实验 - 平行的线
(图书介绍:童晶:<C和C++游戏趣味编程>新书预告) 这学期的线下C语言课程,大一同学们学完旋转蛇案例后(童晶:第4章 旋转蛇(<C和C++游戏趣味编程>配套教学视频)),布 ...
最新文章
- datatable与SqlDataReader
- dbcontext mysql_mysql – ‘DbContextOptionsBuilder’不包含’UseSqlServer’的定义
- java 调用服务器文档,JAVA远程调用服务器端方法
- Windows 10 2022 年更新来了!
- React实现图片自适应
- 东师2016年秋季计算机基础,东师2016年秋季《计算机基础》期末考核答案(1).doc
- 在尝试重新安装一个服务时遇到这样的错误:指定服务已标记为删除
- Akari谜题(关灯问题)的开灯解法
- 关于数据分析师的4个你问我答,你曾有过这些困扰吗?
- IPIP.net状告阿里云抄袭侵权
- 绘制流程图的基本规则
- 关于区块链及其数据溯源的学习笔记
- 完美解决:*.vmx是由VMware产品创建,但该产品与此版VMware workstation不兼容因此无法使用…
- 我的第一个html网页(完整代码)
- 集束搜索(beam search)和贪心搜索(greedy search)
- 禁止多人使用同一账号在系统上进行操作[踢人操作]
- html给下拉菜单设置背景色,如何更改下拉菜单活动背景的颜色(即。tk.列表框)在一个ttk.组合框...
- 一个JAVA渣渣的校招成长记,附BAT美团网易等20家面经总结
- bzoj1787.紧急集合(倍增LCA)
- PEX8796等设计资料
热门文章
- [转帖]从平台到中台【下】
- css怎么设置图片的对比度?
- ROS向节点传递参数的方法总结(rosrun,launch) + (参数服务器,main函数参数)
- datagridview序号左对齐_winform DataGridView数据导出到excel中
- PPR热熔接水龙头,与程序员的未来
- FEA和CFD仿真和分析软件的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 小米iot业务_小米集团组织变革:新设三大部门推进“手机X AIOT”战略落地
- 解决.NET Core/Standard 2.0编译时报“CS0579: Duplicate 'Assem
- C++程序员可以监控电脑流量?原来是掌握了这个监控术!
- 日记侠:高端卖茶人的朋友圈生意经