艾宾浩斯错觉-Scratch视错觉编程作品

艾宾浩斯错觉-51scratch
艾宾浩斯错觉-Scratch视错觉编程作品
此内容为付费资源,请付费后查看
9.9
限时特惠
19.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费资源

什么是艾宾浩斯错觉

艾宾浩斯错觉是一种对实际大小知觉上的错视,在最著名的错觉图中,两个完全相同大小的圆放置在一张图上,其中一个围绕较大的圆,另一个围绕较小的圆;围绕大圆的圆看起来会比围绕小圆的圆还要小。

艾宾浩斯错觉动图
艾宾浩斯错觉动图

这一发现便以发现者的名字来命名,发现者为德国心理学家赫尔曼·艾宾浩斯。这告诉我们“眼见不一定全为实”,你的眼睛也会欺骗你。

作品简介

今天要给大家分享的Scratch作品就是《艾宾浩斯错觉》,这是一款动画模拟作品,模拟了艾宾浩斯错觉效果。

点击绿旗,运行程序,首先介绍了什么是艾宾浩斯错觉,点击舞台下方的小手,进入动画模拟,在舞台左右各有一个橙色的圆点,其中左侧的圆点周围有6个较大的灰色圆点,而右侧的圆点周围是8个较小的灰色圆点,此时,看起来似乎右边的橙色圆点更大一些。5秒之后,所有的灰色圆点均消失,只剩下两个橙色圆点了,并且它们会向舞台中间移动,直至完全重合,这是,可以发现,原来两个橙色圆点大小完全一样。3秒之后,两个橙色圆点又滑行到各自的初始位置,并重新出现周围的灰色圆点,然后重复上述过程。

作品效果

Scratch艾宾浩斯错觉作品的效果如视频所示:

Scratch艾宾浩斯错觉作品效果

作品解读

Scratch艾宾浩斯错觉作品一共有6个角色,如图所示:

Scratch艾宾浩斯错觉角色列表
Scratch艾宾浩斯错觉角色列表

各角色功能和效果简单说明如下:

  • 说明:对艾宾浩斯错觉的说明,当点击绿旗时,显示;
  • point:手指角色,点击手指角色,进入动画模拟页面;
  • 橙色圆点:橙色圆点角色,有两个,大小完全一样,一个在左边,一个在右边;
  • 灰色圆点:灰色圆点角色,有两个,通过克隆得到多个灰色圆点,围绕在橙色圆点的周围。

这个作品本身并不难,重点是如何实现灰色圆点克隆体微软着橙色圆点的效果,下面对这一功能实现做一个详细说明。

要实现灰色圆点克隆体绕着橙色圆点,有两种方法:

  • 使用三角函数
  • 利用圆的特点结合移动指令

1.使用三角函数

这是最常规的一种方式,只不过需要用到三角函数,具体来说就是cos函数和sin函数,同时还需要结合私有变量,以区分不同的克隆体。

首先,定义一个自制积木用于生成克隆体,其代码如下:

克隆圆点
克隆圆点

注意:这里的大球id,是一个私有变量,每克隆一个,id加1,从而确保每个克隆体都有一个id,其值从1到6

然后,每个克隆体在启动时,通过圆和半径的关系,利用三角函数,计算出每个克隆体的x和y坐标即可,代码如下图所示:

计算每个克隆体的坐标并定位
计算每个克隆体的坐标并定位

2.利用圆的特点结合移动指令

我们可以将灰色圆点移到橙色圆点位置,旋转一个角度,如果要克隆8个,则旋转 360 / 8 = 45,然后移动55步,生成一个克隆体,再重复这个过程,其代码如下:

克隆灰色圆点
克隆灰色圆点

相对于第一种方法,这个方法就更加简单了,只是要充分理解克隆体的特点,即克隆体在克隆时和本体特征完全一致,包括大小、造型、位置、显示和隐藏等特征,然后对本体进行移动处理,从而实现克隆体的定位。

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容