195
nuqtalarda bo‘lgan kesma chiziladi va grafik kursor (x3, y3)
nuqtaga
o‘tadi.
Bu usullarning amalda qo‘llanishini Muntazam N burchak diago-
nallari deb nomlangan ilovada ko‘rib chiqamiz. Delphi da yangi ilova
yaratamiz
va unga bittadan Image, SpinEdit va Button ob’yektlarini
joylaymiz.
Buttonning sarlavhasini chiz, SpinEdit sarlavhasini esa N ga
o‘zgartiramiz. SpinEditning eng katta qiymati (MaxValue) ni 40, eng
kichik qiymati (MinValue) ni 3, joriy qiymati (Value) ni 7 ga teng qilib
olamiz. Image ning bo‘yi (Height) va eni (Width) ni 500
ga teng qilib
olamiz.
Button tugmasini ikki marta bosib, unga diagnallar degan buyruqni
kiritamiz. Bunday buyruq hozircha yo‘q, shuning uchun shu nomdagi
protsedurani TForm1.Button1Click protsedurasidan oldin kiritamiz:
procedure diagonallar;
var i,j,n,r:integer;
x,y: array [0..40] of integer; begin
r:=Form1.Image1.Height div 2;
Form1.Image1.Canvas.Pen.Color:=clRed;
Form1.Image1.Canvas.Rectangle(-1,-1,2*r+2,2*r+2);
n:=form1.SpinEdit1.Value; i:=1
to n do begin
y[i]:=round(r-r*cos(2*pi/n*i));
x[i]:=round(r+r*sin(2*pi/n*i)); end;
for i:=1 to n-1 do for j:=i+1 to n do begin
Form1.Image1.Canvas.MoveTo(x[i],y[i]);
Form1.Image1.Canvas.LineTo(x[j],y[j]); end; end;
Bu protsedurada oltita o‘zgaruvchi kiritamiz. i va j o‘zgaruvchilar
siklni boshqarish uchun ishlatiladi. N o‘zgaruvchida ko‘pburchakning
burchaklari soni, r o‘zgaruvchida muntazam ko‘pburchakka tashqi
chizilgan aylana radiusi saqlanadi. x va y massivlarda ko‘pburchak
uchlarining koordinatalari saqlanadi.
Protsedura tanasidagi operatorlarni uchta qismga ajratish mumkin.
Birinchi qismda to‘rtta operator bo‘lib, ulardan birinchisi aylana radiusi-
ni rasm balandligining yarmiga teng qilib oladi. Ikkinchi operator chi-
ziqlar qizil rangda chizilishini ta’minlaydi. Uchinchi operator chizishdan
196
oldin rasmni tozalab tashlaydi. To‘rtinchi operator ko‘pburchakning
nechta burchagi bo‘lishini aniqlaydi.
Ikkinchi qismda faqat bitta sikl operatori bor. Unda ko‘pburchak
uchlarining koordinatalari aniqlanadi.
Uchinchi qismda ham bitta ichma-ich
joylashgan sikl operatori
bo‘lib, u ko‘pburchakning tomonlari va diagonallarini chizadi. Ilovani
ishga tushiramiz. Avval muntazam yetti burchakni, so‘ng muntazam 28
burchakni chizamiz. Ular quyidagi rasmda ko‘rsatilgan:
Dostları ilə paylaş: