Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Здравствуйте, Ильгиз. Математика - царица наук (Карл Гаусс). Изучение математики начинается с детского сада, когда нас учат считать и выполнять простые арифметические операции. Любой, даже самый простейший алгоритм будет связан с арифметическими...
Я хотел узнать математика это обязательно в программирование. Пять лет назад просто из любопытства я увлекся HTML потом изучил CSS и JvaScript потом изучил PHP и Java. Как то не задумывался и начал смотреть форумы и узнал что без математики не...
Все верно, но так же необходимо зайти в: Компоновщик -> Ввод -> Дополнительные зависимости Здесь необходимо нажать изменить и в Дополнительные зависимости прописать это: SDL2.lib SDL2main.lib SDL2test.lib Без этого не заработает. (MVS 2015)
Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)

Счетчики и рейтинг

Яндекс.Метрика Рейтинг@Mail.ru
Скриншот к примеру
Среда программирования: 
PascalABCNET
Статья по теме: 

Программа построения множества Аполлона, используя нелинейные преобразования.

Код программы: 

uses CRT, GraphABC;
var 
    x, y, a, b: Real;
    r: Real;
    a0, b0: Real;
    a1, b1, a2, b2: Real;
    f1x, f1y: Real;
    x1, y1: Real;
 
begin
    setwindowcaption('Фракталы: Аполлониево Множество');
  setwindowsize(650, 500);
  clearwindow;
    x := 0.2;
    y := 0.3;
    a := 0;
    b := 0;
    Randomize;
    r := Sqrt(3);
    while not KeyPressed do 
    begin
        a := Random;
        a0 := 3*(1+r-x)/(sqr(1+r-x)+sqr(y))-(1+r)/(2+r);
        b0 := 3*y/(sqr(1+r-x)+sqr(y));
        if (a <= 1/3) and (a>=0) then 
        begin
            x1 := a0;
            y1 := b0;
        end;
        a1 := -1/2;
        b1 := r/2;
        a2 := -1/2;
        b2 := -r/2;
        f1x := a0/(sqr(a0)+sqr(b0));
        f1y := -b0/(sqr(a0)+sqr(b0));
        if (a <= 2/3) and (a > 1/3) then 
        begin
            x1 := f1x*a1-f1y*b1;
            y1 := f1x*b1+f1y*a1;
        end;
        if (a <= 3/3) and (a > 2/3) then 
        begin
            x1 := f1x*a2-f1y*b2;
            y1 := f1x*b2+f1y*a2;
        end;
        x := x1;
        y := y1;
        PutPixel(320+Round(x*50), 240+Round(y*50), clRed);
    end;
    ReadKey 
end.

Прикрепленный файлРазмер
Код на языке PascalABC1.69 кб