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

Вход на сайт

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

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

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

Спасибо за реализацию, она действительно быстрая. Но не все линии отрисовывает в нужную сторону... Необходимо добавить проверку для случая X-линии if(y1 "<" y0) grad=-grad; и аналогично для Y-линии if(x1 "<" x0) grad=-grad; P.S. На...
Отличные уроки(учу GL по ним), только в renderScene нужно добавить очистку буфера цвета и буфера глубины. При изменении размеров треугольники размножаются)
как исправить это , сделал все по инструкции
Timer1 - выдает ошибку. Использовал IdleTimer1, работает! unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, OpenGLContext, GL, GLU; type { TForm1 } TForm1 =...
в коде присутствуют ошибки! // Считываем координаты procedure TForm1.getCoords(Sender: TObject); var j1:longint; begin n:= StrToInt(Edit2.Text); //число точек s1:=Edit1.Text; s2:=''; i := 1; j:=1; k:=0...

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

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

Программа демонстрирующая кривую Леви.

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

uses GraphABC;
 
procedure Draw; //главная процедура
var xn, yn, rand : integer;
    f : longint;
    a, b, x, y: real;
    const satur = 100000; //задаем насыщение
begin
    xn := 250; //параметры фрактала в окне
    yn := 350;
    rand := 250;
    Randomize;
    x := 0;
    y := 0;
    for f := 0 to satur do 
 
    begin
        a := x; 
        b := Random;    
        if b <= 0.5 then 
 
        begin
            x := 0.5*x - 0.5*y;//точки излома, поворота
            y := 0.5*a + 0.5*y;
        end
 
        else
        begin
            x := 0.5*x + 0.5*y + 0.5;//рисование кривой по координатам
            y := -0.5*a + 0.5*y + 0.5;
        end;
 
        PutPixel(xn + Round(rand * x), yn - Round(rand * y), clGreen);//координаты точек и цвет
    end;
end;
 
begin
    SetWindowSize(750,600);
    ClearWindow;
    SetWindowCaption('Кривая Леви');
    Draw
end.

Прикрепленный файлРазмер
KrivayaLevi.rar113.5 кб