Science 版 (精华区)
发信人: qpcwth (独翅鸟), 信区: Science
标 题: 《分形艺术》60
发信站: 哈工大紫丁香 (2001年11月03日18:27:26 星期六), 站内信件
第八章 实映射分形图
8.7三翅鹰映射
本节给出的映射很容易写出算法和程序,但迭代公式却不容易简单地写出,用它可
以生成带 有三个翅膀的雄鹰,所以称它三翅鹰映射。计算“三翅鹰”的程序如下:
{Feath.pas Generating animal feathers!}
uses Graph,Dos,Crt;
var
x,y,k,aa,b,c,d:real;
w,z,u,xnew,ynew:real;
Gd,Gm,i,n,p:integer;
begin
Gd:=Detect; InitGraph(Gd,Gm,'D:\PASCAL');
aa:=-0.45; b:=0.93; c:=2-2*aa;
x:=1; y:=1;
w:=aa*x+c*(x*x)/(1+x*x);
repeat
PutPixel(round(x*30)+250,200-round(y*25),15);
z:=x;
x:=b*y+w;{-x/3.5}
u:=x*x; {/2}
w:=aa*x+c*u/(1+u); {(1+u+x/4) ,or 3,5}
y:=w-z;
until KeyPressed;
CloseGraph;
end.
这个程序简单透了,但作出的图形却不一般。修改某些项,可以让翅膀细些、有波
纹等等。 这个例子给我们一个启示:我们甚至不必知道映射的具体公式,尝试一步一步
写出算法,不 断修改,便可以作出好看的图形。数学、计算机基础较好的读者可以考虑
采取“体绘制”方 法,计算并描绘出实映射的三维立体图。
用映射的办法生成高精度的图形,必须采用高分辨率的图形方式,如VGA 640×480
或者1024 ×768。必要时也可以先将数据写到文件中去,再转化为标准图形文件,那样
做的缺点是费 时间,但有时也值得试试。顺便一提,分形图的精度最好用象素个数来衡
量,而不是像通常 那样用多少DPI来衡量。只要象素足够多,分形图的质量就有保障。
--
心事浩茫连广宇,于无声处听惊雷
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.229.154]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.327毫秒