2008年12月16日 星期二

GD:葉形線


require "gd"
n = 3.1;
m = 20;
size = 200;
im = gd.createTrueColor(size+1,size+1);
white = im:colorResolve(255,255,255);
red   = im:colorResolve(255,  0,  0);
green = im:colorResolve(  0,255,  0);
blue  = im:colorResolve(  0,  0,255);
offset = { x=size/2 , y=size/2 };
last = {};
for u=0, m*math.pi, 0.001 do
    r=size/2.5 * math.sin(n*u) + 10;
    new={ x = r*math.cos(u)+offset.x , y = r*math.sin(u)+offset.y};
    if last.x == nil then
        first = { x=new.x , y=new.y};
    else
        im:line(  last.x, last.y,  new.x,  new.y, green);
    end
    last= {x = new.x , y = new.y};
end
im:line(  last.x, last.y,  first.x,  first.y, green);
im:jpeg("tt.jpg",100);
-- 程式結束
Lua其實還满好用的,很快就可以得到結果了。
又因任http://bbs.luaer.cn/index.php版主,所以寫了點程式交代一下。

沒有留言:

張貼留言