Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2009, 23:07   #1
Iceman
Форумчанин
 
Регистрация: 08.07.2007
Сообщений: 154
Лампочка Создание узоров с помощю тригонометрии.

Я тут делаю презентацию нащет того, как с помощю паскаля и тригонометрии можно сделать рисунки, узоры и т.д. Пару узоров выкладываю тут.(Позже еще выложу) Был бы рад если вы бы выложили какие нибудь интересные узоры.(или картинки) Заранее спасибо

Код:
uses crt,graph;
const sx=1; sy=1;
var gd,gm,x,y,j,i:integer;
procedure col(k,xp,yp:integer);
begin
 for i:= (90*k) to 180+(90*k) do
for j:= 1 to 10 do
putpixel(xp*10+x*40+round(cos(i*pi/180)*10*sx),yp*10+j*40+round(sin(i*pi/180)*10*sy),j+5);
end;
begin
clrscr;
write('1. ili 2. var? var=');readln(y);
gd:= Detect;
InitGraph(gd, gm, '');
 if y=1 then begin
for x:= 1 to 10 do begin
 col(3,0,2);
 col(0,1,3);
 col(1,2,2);
 col(2,3,1);
 end;end else
 for x:= 1 to 10 do begin
 col(3,0,1);
 col(0,0,3);
 col(1,2,3);
 col(2,2,1);
 end;
readkey;
closegraph;
end.
Вложения
Тип файла: rar UZ.rar (410 байт, 12 просмотров)
Iceman вне форума Ответить с цитированием
Старый 01.04.2009, 00:17   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Многозаходная спираль (как семечки у подсолнуха)

Код:
procedure TForm1.PaintBox1Paint(Sender: TObject);
var x, y, d, N, i, M : integer;
    t, r, a : double;
begin
   d := 12;           // среднее раастояние между элементами
   N := 1000;         // количество элементов
   t := (1+sqrt(5)) / 2;
   M := PaintBox1.width;
   if PaintBox1.height < M
   then M := PaintBox1.height;
   for i:=1 to N do begin
      r := d * sqrt(i) / PI;      // Радиус -вектор элемента
      a := 2*PI*t*i;              // Полярный угол элемента

      x := trunc(r * sin(a)) + M div 2;
      y := trunc(r * cos(a)) + M div 2;

      PaintBox1.Canvas.Ellipse(X, Y, X + 4, Y + 4);
   end;
end;
alexBlack вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отсчет времени в pascal с помощю встроенного assemblera? Geddar Помощь студентам 2 06.03.2009 12:30
Помогите решить пример по тригонометрии !! blackstersl Свободное общение 11 25.01.2009 23:06
Работа с Socket-ом c помощю WinAPI 69 region Помощь студентам 13 11.04.2008 17:22
Организация поиска с помощю Полей со списком Ice_Juice Microsoft Office Access 1 16.03.2008 01:26
Создание формы Pilot Microsoft Office Excel 2 15.11.2007 10:35