用旋转迭代扫描法制作五角星Koch迭代图

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用旋转迭代扫描法制作五角星Koch迭代图
重庆市万州第二高级中学向忠
下图为五角星Koch迭代图,本文介绍用旋转迭代技术扫描实现的几何画板制作方法。

一、迭代原理
4次旋转和平移
变换得到4个较小红色五角星,并连同原玫瑰色五角星,组成第一级迭代象如左图;
后,分别作旋转和平移变换,并以玫瑰色五角星分
别覆盖到四个红色五角星位置,如右图所示得到组成第二级迭代象;……;最后把所得图形的方框内的部分,复制并旋转到蓝色空心五角星位置,得到五角星Koch迭代图。

二、制作方法
1.作五角星陷阱
如下左图,作中心为B,BA为半径的五角星形的多边形,过任意点Z作射线BZ,作射线BZ与多边形第一交点C,求B、C、Z三点比m1=BZ/BC,计算S=m1*(1-sgn(trunc(m1))),V=(1-S)^0.1*sgn(S),新建参数H=1,若对Z进行HSV着色,可以扫描成下右图。

2.制订旋转迭代格式
2.1分区
如下图把作图区域均分为编号为0、1、2、3、4的五个区块,为判断像素点P所在的区块的编号,先用标记工具标记∠EBP,并在属性中设标记角为“逆时针”,度量∠EBP,设系统角度单位为“弧度”,计算P的区块编号loc=trunk(2.5∠EBP/π)(这里所带单位忽略);
2.2作1~4区块小圆到大圆B的扫描变换
为了能通过一次迭代得到上图灰色部分效果图,可以将外围四个灰色小圆分别旋转到白色小圆D后,再位似变换到中心圆B。

如上图以B为比,缩放点A得点D;计算角度θ=-0.4π*loc,把每个区块1、2、3、4内的点像素点P以B为中心,顺时针方向旋转θ,得到区块0的相
应位置的点P´后,依次选中D、A、B,标记为比,标记P´为中心,缩放A得A´,则A´即为P´的位似变换点,这样变换P→A´就可以将四个灰色小圆变换成中心圆B。

为仅使灰色小圆内部的像素点P点落入中心圆B后停止迭代,先求P关于中心圆B和区块0的外部真值if1和if2。

度量距离PB和AB,计算if1=sgn(1+sgn(PB-AB))和if2=sgn(loc),标记P为中心、if1为比缩放点A´得A´´,标记if1为比缩放点A´´得A´´´,则P→A´´´就是1~4区块小圆到大圆B的扫描变换。

2.3五角星Koch迭代图
新建参数n=7、t0=0,计算t0+(1-if1),h=t0/n,作线段FG,在FG上值为h的点T,作深度为n、{P,t0}→{A´´´,t}的迭代,作A´´´和T的迭代像的终点Z、iT,度量iT 在线段FG是的点值,记为H。

合并两个Z点,如果以这个H和S、V对P着色,即可扫描出下左图
为补齐区块1的图形,把区块1的图形旋转到区块1。

为此再作像素点pixel,作pixel→pixel´的变换:当pixel在区块1时,以B为中心将pixel逆时针方向旋转2π/5弧度得pixel´;当pixel不在区块1时pixel´重合于pixel。

依次选中点B、A、P和if2
作自定义工具,并用此工具依次匹配点B、A、pixel得计算值m5,计算0.4π弧度*(1-m5)并标记角度,标记中心B,旋转点pixel得pixel´。

将P合并到pixel´后,对点pixel进行HSV着色,扫描得五角星Koch迭代图(上右图)。

相关文档
最新文档