ВНИМАНИЕ! На форуме начался конкурс - астрофотография месяца ОКТЯБРЬ!
0 Пользователей и 2 Гостей просматривают эту тему.
L:= i * 90 / Rf + 90{(Fz)} ;
for ug:=0 to 360 do
procedure TForm_Terminator.Button3Click(Sender: TObject);vari,j,R,xm,ym,x1,y1,ug:integer;Rf,L:Double;Color:TColor; begin // НАЧАЛО КОДА ПРОЦЕДУРЫ R:=70; xm:=40; ym:=40; for j:= -R to R do begin // ЦИКЛ ПО j ОТКРЫТ for i:= -R to R do begin // ЦИКЛ ПО i ОТКРЫТ if (i *i + j *j) < (R *R) then begin // БЛОК УСЛОВИЯ ОТКРЫТ Rf:= Sqrt(R*R - j*j); L:= i * 90 / Rf + 90{(Fz)} ; if L>360 then L:=L-360 ; if L<0 then L:=L+360; if (L <= 90) or (L >= 270) then Color:= clBlack else Color:=clWhite; x1:= i + xm; y1:= -j + ym; Form_Terminator.Image1.Canvas.Pixels[x1, y1]:=Color; end; // БЛОК УСЛОВИЯ ЗАКРЫТ end; // ЦИКЛ ПО i ЗАКРЫТ end; // ЦИКЛ ПО j ЗАКРЫТ// Тут вставить рисование окружности с черным контуром радиусом R с центром в точке (xm,ym)end; // ОКОНЧАНИЕ КОДА ПРОЦЕДУРЫ
kress, а вы солнечные часы победили, или забили на это дело?
Form_Terminator.Image1.Canvas.Pixels[x1, y1]:=Color;
if Color= clBlack then Form_Terminator.Image1.Canvas.Pixels[x1, y1]:=Color;
Да я тоже так же думал и пробовал , но не работает корректно. Что то либо в условии не так, либо с графической частью нужно по другому, а то получается , что допустим растущая луна , полнолуние, а потом бах и все черным, или еще не дошло до полнолуния, а потом шарах следующая тень лезет, в общем надо разобраться.