Полярная роза (pixel)

Сегодня хотел посмотреть работу нового модуля sprite в STEAD3, где встроена векторно-пиксельная графика. Взятый пример из документации Stead3 выдавал ошибку, но в результате переписки с Петром Косых, выяснилось, что в документации вместо sprite проставлен sprites. После исправления пример был выведен без ошибок.



После этого я немного повозился с этим примером изучая его, а затем решил найти программы каких-нибудь узоров на бейсике и перевести на LUA

gragics_in_visual_bas.pdf

Нашёл такой документ, там есть пример на Бэйсике составления классической кривой "Полярная роза":


У меня на Lua получилось так:

--$Name(ru):Полярная роза(pix)$
--$Author:Владимир Трофимчук(Troll)$
--$Info:R(fi) = 2*sin(4*fi)$
require "sprite"
sprite.direct(true)
declare 'pxl' (false)

function start(load)
pxl = pixels.new(800, 600, 1) -- размер окна и чанки 1х1

local f, x, y, r      -- эти переменные участвуют в процедуре прерывания

    for f = 0, 2*3.1415926, 0.001 do
r = 2*math.sin(4*f)
y = r*math.sin (f)
x = r*math.cos (f)
x = x*200+400 -- увеличиваем масштаб по х и переносим центр
y = y*150+300 -- увеличиваем масштаб по у и переносим центр
pxl:pixel(x, y, 0, 255, 255, 255) -- точку рисуем;
    end

   pxl:copy_spr(sprite.scr())  
end



Это результат работы моей программы.



Комментарии

Популярные сообщения