Регистрация ·  Логин: Пароль: Запомнить   · Забыли пароль?




Ответить на тему
Автор Сообщение

Супермодератор
Аватара пользователя

С нами: 11 лет 9 месяцев
Сообщения: 56127
Украина

Сообщение 12 окт 2013, 19:07 

[Цитировать]



Симметричные узоры
Жанр: Картинки

Количество файлов: 108

Разрешение: От 1024x1024 до 2048x2048

Формат: png, gif

Описание:

Раздача состоит из 99 калейдоскопических статичных узоров и 9 спиралей.
::Использованное программное обеспечение::
IDE Free Pascal (для записи .tga файла), FuturixImager (для просмотра полученного при помощи Паскаля и небольшого редактирования), ArcSoft PhotoStudio (это аналог Adobe PhotoShop, который применялся для более точного редактирования).
::Порядок действий::
Сначала составляется несжатый .tga файл с глубиной цвета 24 бит. Это значит, что цвет каждого пиксела описывается тремя байтами, а размер изображения составляет 3 Б*1024*1024 = 3 Мб.
Затем .tga надо сжать в .png или .gif, в зависимости от богатства палитры, присутствующей в узоре. Выходной файл величиной от несколько сотен килобайт до примерно двух мегабайт. .tga отправляется на хранение (на всякий случай), а конечный продукт — либо в раздачу, либо на редактирование (если не понравился). Бывает необходимость изменить яркость, контрастность, оттенок, насыщенность, тени, тона, повернуть или отразить.

::Получение исходного изображения::
Картинку составляла программа, написанная на языке Pascal. Она записывает 3.000.000 символов (байт) за 3 секунды. Но система координат, которая используется в форматах изображений — прямоугольная, и узоры получатся четырёхсторонними. Чтобы получить узор степени симметрии N, нужна система координат с количеством осей равным N (у декартовой их четыре, но из-за совпадения отрицательного направления оси абсцисс и третьей оси, а также отрицательного направления оси ординат и четвёртой оси последние две оси не учитывают).


Для преобразования координат родной декартовой системы в координаты N-осной системы с углом между любыми двумя осями равным PI*2 / N следует применять формулу:

> c[1] = x-y*Tan(Angle) — ось, совпадающая с осью абсцисс
> c[0] = -y/Cos(Angle) — это последняя ось (если идти против часовой стрелки от оси c[1])
> c[k] = c[k-1]*Sin(Angle)*2-c[k-2], k принимает значения от 2 до N-1.
> Angle = PI*(N-4)/(N*2). Для удобства конечной оси присвоен номер 0.


Код:
Код:
USES Crt,  / работа с файлами
     Math, / математические функции
     Dos;  / для открытия готового файла во внешней программе
CONST     N = 6;    / количество осей новой системы
      Angle = PI*(N-4)/(N*2);
       PIx2 = Pi*2; / полный угол
VAR     Width,         / ширина изображения в пикселах
       Height : Dword; / высота изображения в пикселах
         Zoom : Real;  / величина изменения масштаба узора
          TGA : Text;
        Wm,Wd,
        Hm,Hd : Byte;
    fromX,toX,
    fromY,toY,
          X,Y : Integer; / счётчики
            C : Array [0..N-1] Of Real;
        Bytes,           / счётчик байтов
        Meter : Byte;    / счётчик
      Color,k : Real;
PROCEDURE WriteInfo; / процедура записи информации
          Begin      / об изображении
           Wm:= Width Mod 256;
           Wd:= Width Div 256;
           Hm:=Height Mod 256;
           Hd:=Height Div 256;
           Write(TGA,chr($00)+chr($00)+chr($01)+chr($00)+
                     chr($00)+chr($00)+chr($00)+chr($00)+
                     chr($00)+chr($00)+chr($00)+chr($00)+
                     chr(Wm )+chr(Wd )+chr(Hm )+chr(Hd )+
                     chr($18)+chr($00));
          End;
PROCEDURE Convert; / процедура преобразования координат
          Begin
           C[0]:=(-Y/Cos(Angle))/Zoom;
           C[1]:=(X-Y*Tan(Angle))/Zoom;
           for Meter:=2 to N-1 do
            C[Meter]:=C[Meter-1]*Sin(Angle)*2-C[Meter-2];
          End;
PROCEDURE WritePixel; / процедура записи цветовой карты
          Begin
           for Bytes:=0 to 2 do / 3 байта = 1 пиксел
           begin
            Color:=0; / обнуление
            for Meter:=0 to N-1 do / в формулу включены
            begin                  / все N координат
             k:=C[(Meter+Bytes) Mod N];
             Color:=Color+Cos(k*Cos(k*Bytes));
            end;
            write(TGA,Chr(Round(Cos(Color)*255)));
           end;
          End;
BEGIN
 Width :=512;
 Height:=512;
 Zoom  :=Width/(Pi*6);
 AsSign(TGA,'C:\Sym-Metry.tga');
 ReWrite(TGA); / создаём файл и открываем его для записи
 WriteInfo;
 fromX:=(-Width-1) Div 2+1;
   toX:=Width Div 2;
 fromY:=(-Height-1) Div 2+1;
   toY:=Height Div 2;
 For Y:=fromY To toY Do
  For X:=fromX To toX Do
  Begin
   Convert;
   WritePixel;
  End;
 Close(TGA); / закрываем файл изображения
 Exec('C:\Program Files\Futurix Imager\fximager.exe',
      'C:\Sym-Metry.tga'); / открываем в просмотровщике
END.






Download
Для скачивания .torrent файлов необходима регистрация
Сайт не распространяет и не хранит электронные версии произведений, а лишь предоставляет доступ к создаваемому пользователями каталогу ссылок на торрент-файлы, которые содержат только списки хеш-сумм

Страница 1 из 1

Ответить на тему

   Похожие торренты   Торрент