IPB
ЛогинПароль:

> Занимательная графика
BlackShadow
сообщение 21.05.2004 13:32
Сообщение #1


Гость






В этой теме приведены исходники, отрисовывающие следующие фигуры:
  1. "Архимедова спираль" (ниже в этом же сообщении)

  2. Прикрепленное изображение
    Исходник для Турбо Паскаля (процедуры)
    Исходник для Турбо Паскаля (ООП)
    Отрисовка только прямыми линиями

  3. Прикрепленное изображение
    Исходник для FPC

  4. Прикрепленное изображение

  5. Прикрепленное изображение

  6. Прикрепленное изображение

  7. Прикрепленное изображение
    Фрактальные деревья

  8. "Фигуры Лиссажу"
  9. Пример RGB графики в режиме 13h
Архимедова спираль

Цитата
Параметрическое представление спирали: x = r cos t , y = r sin t, r = t/2

Если количество витков = n, то T пробегает от 0 до n*2*pi. r растёт от 0 до R_max (данный внешний радиус), и пропорционален T. Тогда r = T/(n*2*pi)*R_max.

Uses Graph, Crt;

Const
r_max = 200;
n = 7;
Var
gr, gm: Integer;
i, k: Integer;
ZeroX, ZeroY: Integer;
x, y, r, t: Double;

begin
gr := Detect;

InitGraph(gr, gm, '');
k := n * 140;

ZeroX := Round(GetMaxX/2);
ZeroY := Round(GetMaxY/2);
{MoveTo(ZeroX, ZeroY);}
For i := 1 To k Do
Begin
T := (n * 2 * Pi) * i / k;
r := T / (n * 2 * Pi) * r_max;
x := r * Cos(T);
y := r * Sin(T);
PutPixel(ZeroX + Round(x), ZeroY - Round(y), White)
End;
ReadKey;
CloseGraph;
end.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 22.12.2004 22:24
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Код
Uses crt, graph;
var
k:real;
gd,gm:Integer;
x,y,z:Longint;
Begin
gd:=detect; {gm:=VgaHi;} InitGraph(Gm,GD,'');
randomize;
k:=0.00000;
repeat
 for x:=1 to  getMaxX do
  for y:=1 to GetMaxY do
  begin
   If keypressed then halt;
   z:=sqr(x)+Sqr(y);{ 10+random(5);}
   If odd(trunc(z*k)) then putpixel(x,y,15) else  putpixel(x,y,7);
  end;
  k:=k+0.1;
until keypressed;
CloseGraph;
end.


Эскизы прикрепленных изображений
Прикрепленное изображение

--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.06.2025 20:15
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"