Показать сообщение отдельно
Старый 02.02.2012, 21:45   #12
NetBuilding
ПроЭктировщик
 
Аватар для NetBuilding
 
Регистрация: 07.06.2010
Сообщений: 105
Написано 5 полезных сообщений
(для 13 пользователей)
Такой вопрос

Есть прога, по формуле вычисляет, принадлежит ли точка графику косинуса, и на основе вырезанных "горбов" графика косинуса (этой самой функции) рисует круги, ну или что то похожее на круги.
Нужно чтоб эти самые круги не вылазили за пределы границ
т.е все круги были цельными
смотрите рисунок:
Нажмите на изображение для увеличения
Название: Снимок.PNG
Просмотров: 1235
Размер:	89.6 Кб
ID:	16104
вот код:
procedure TForm1.Button1Click(Sender: TObject);
var
i,j,a,ident: integer;
x,y: integer;
w,r,t,ax,bx: real;
begin
Image1.Picture:=nil;
i := StrToInt(Edit1.Text);
j := StrToInt(Edit2.Text);
a := StrToInt(Edit3.Text);
ax := a * 0.1;
bx := ax + 0.1;

if (i mod 2=0) then r:=1 else r:=-1; // типа -1 в степени i
if (j mod 2=0) then t:=1 else t:=-1;

  for x:= 0 to 600 do
   for y := 0 to 600 do
   begin
   w:= abs(cos((i*pi*x/300)-(1+r)*pi/4)*cos((j*pi*y/300)-(1+t)*pi/4));


     if (w>ax) and (w<bx) then image1.Canvas.Pixels[x, y]:=clRed;
   end;


end;

формула.rar
__________________

Юзаю Ubuntu, Юзаю Mac

Последний раз редактировалось NetBuilding, 03.02.2012 в 21:56.
(Offline)
 
Ответить с цитированием