Scratch画分形图系列46: 另法形成在两几何面间跳舞

Scratch画分形图系列46: 另法形成在两几何面间跳舞

首页游戏大全分形梦呓更新时间:2024-04-14

Scratch画分形图系列46: 另法形成在两几何面间跳舞

上一篇介绍了巴恩斯利在《超分形》中的一个有趣的混沌游戏的例子,我们是用三个角色ABC来确定三角形ABC的位置,并用侦测模块获取顶点的坐标值,针对每一条规则,直接用运动指令描点。

本篇沿用前面IFS画分形的通用方法,建立一个通用的仿射变换函数(子积木),用6个变量Ax,Ay,Bx,By,Cx,Cy的值为坐标,确定三角形ABC的位置。并分别用这6个值生成各个规则的参数值。

(一)首先简要介绍6条规则:

在一张纸上标记四个点。将其中三个标记为A、 B 、 C ,并将剩余的点标记为X0。

将六面骰子的两个面标记为A、另外两个面记为B和其余两个面记为C,或者设计您自己的方法来生成符号A、 B和C的随机序列(本篇仍然用1~3之间随机数实现)。

前三条规则:

掷骰子,随机选择符号A、B或C。在纸上,标记X0和所选符号标记的点(A、B、C之一)之间的中点。将此中点称为X1。例如,如果掷骰子的结果是B ,那么X1就是X0和B之间的中点。再次掷骰子。绘制X1和其标签显示在骰子上的点之间的中点。将这个新点称为X2。以此类推,一次又一次地滚动骰子,...,每次都在纸上绘制一个新的中点。即:

规则 1:移动到当前位置和A之间的中间点。

规则 2:移动到当前位置和B之间的中点。

规则 3:移动到当前位置和C之间的中点。

另外两条规则描述:

规则4:移动2(B-C)。

规则5:绕点(A 5B-4C)/2 旋转180 °

在坐标平面上,A(Ax, Ay),B(Bx, By),C(Cx, Cy),利用平面解析几何的中点公式、平移公式和对称点公式,设当前点为

可见这5个规则都是满足仿射变换公式的:

因此可以用一个迭代函数实现,

在两几何面间跳舞的混沌游戏的IFS数据:

规则

a

b

c

d

e

f

1

0.5

0

0

0.5

Ax/2

Ay/2

2

0.5

0

0

0.5

Bx/2

By/2

3

0.5

0

0

0.5

Cx/2

Cy/2

4

1

0

0

1

2(Bx-Cx)

2(By-Cy)

5

-1

0

0

-1

Ax 5Bx-4Cx

Ay 5By-4Cy

游戏总规则:

当你玩游戏的时候,记住最后一次掷出的骰子是什么,记为P旧,从掷一次骰子开始,给你一个起始值。现在,每次掷骰子,混沌游戏总控制规则是:

(1)如果上次掷出A或B ,而这次掷出A ,则应用规则1;如果掷出B ,则应用规则 2 ;如果掷出C ,则应用规则4。

(2)如果上次掷的是C,这次它产生A或B ,然后应用规则3 ,但如果它产生C ,则应用规则5。

在两几何面间跳舞的混沌游戏主控程序:

描点主程序:

在这个混沌游戏中,如果你放弃最初的几个点,那么您将同时获得两个经典几何对象,一个实心平行四边形和一个三角形。遵循上述规则,你将看到,当前点将在四边形和三角形上不断跳动,有时从一个移动到另一个,有时又回到第一个......。

一个四边形和一个三角形

拓展1:写出画一般形状谢尔宾斯基三角的IFS程序。

拓展2:变换一组三角形ABC的顶点坐标值并画出三角形ABC,运行程序看看两个几何图形形状各是什么?

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved