|
6-tajriba mashg`loti
|
səhifə | 4/8 | tarix | 23.06.2023 | ölçüsü | 0,88 Mb. | | #118599 |
| 6-TAJRIBA MASHGLOTI MAVZU MUHANDISLIK MASALALARINI YECHISHDA DASTURLASH TIZIMLARI YORDAMIDA GRAFIKA VA MULTIMEDIA IMKONIYATLARIDAN FOYDALANISH.Deyarli bo‘sh oyna. Bu yerda biz xatolarni qayta ishlashni muhokama qilamiz, hamda main() funksiyasida grafikani tasvirlashga o‘tamiz:
Point tl(100,100); // oynamizning yuqori chap burchagi
Simple_window win(tl,600,400,"Canvas");
// tl oyna koordinatalari chap yuqori burchakka joy beradi
// 600*400 oyna o‘lchami // sarlavha: Canvas win.wait_for_button(); // tasvirlash!
Ekranda oyna chiqishi uchun, biz tizim boshqaruvini grafik foydalanuvchi interfeysiga beramiz. Buning uchun win.wait_for_button() funksiyasidan foydalanamiz. Natija quyidagi rasmda keltirilgan.
Koordinata o‘qlari. Koordinata o‘qlarisiz berilganlarni tasvirlab berishni iloji yo‘q. Shuning uchun bizga koordinata o‘qlari kerak bo‘ladi.
Axis xa(Axis::x, Point(20,300), 280, 10, "x axis");
// Axis obyektni yaratamiz
// Axis sinf — Shape sinfining turli ko‘rinishi
// Axis::x gorizontal o‘qni anglatadi
// o‘q boshi —(20,300) nuqtada // o‘q uzunligi — 280 piksel 10 bo‘linuvchi
// "x o‘qi" — o‘q belgisi
win.attach(xa); // xa obyektni oyna bilan bog‘laymiz win win.set_label("Canvas #2"); // oyna belgisini
o‘zgartiramiz win.wait_for_button(); // tasvirlash!
Ish ketma-ketligi shundaki: Axis sinfida obyekt yaratamiz, uni oynaga qo‘shamiz va ekranga chiqaramiz.
Natijalarni identifikasiyalash uchun Window sinfining set_label() funksiyasi yordamida "Canvas #2" satrida ekran belgisini o‘zgartirdik.
Endi u o‘qini qo‘shamiz.
Axisya(Axis::y, Point(20,300), 280, 10, "yaxis");
a.set_color(Color::cyan); // rangni tanlaymiz ya.label.set_color(Color::dark_red); // matn
rangini tanlaymiz win.attach(ya); win.set_label("Canvas #3"); win.wait_for_button(); // tasvirlash!
Ayrim imkoniyatlarni namoyish etish uchun, biz u o‘qini xavo ranga (cyan), belgini esa to‘q qizilga bo‘yadik.
Funksiya grafigi. Sinus grafigini tasvirlovchi shakl yaratamiz va uni oyna bilan bog‘laymiz.
Function sine(sin,0,100,Point(20,150),1000,50,50);
// sinus grafigi
// 1000 nuqtadan foydalanib(0,0) dan (20,150) gacha
[0:100) oraliqda sin() chizamiz v diapazone [0:100) ot
(0,0) do (20,150),
Masshtablash uchun koordinatalar 50 ga ko‘paytiriladi win.attach(sine); win.set_label("Canvas #4"); win.wait_for_button();
Bu yerda sine nomli Function sinf obyekti sin() funksiyasi standart kutubxonasidan foydalangan holda sinus grafikasini chizadi.
Ko‘pburchak. Polygon sinfi obyekti chiziqlar bilan bog‘langan nuqtalar ketma-ketligida beriladi. Birinchi chiziq birinchi nuqtani ikkinchisi bilan bog‘laydi, ikkinchi chiziq ikkinchi nuqtani uchinchisi bilan bog‘laydi, oxirgi chiziq esa oxirgi nuqtani birinchisi bilan bog‘laydi. sine.set_color(Color::blue);//sinus grafigi rangini
o‘zgartirdik
Polygonpoly; //Polygon sinfi – bu Shape sinfining turli ko‘rinishi poly.add(Point(300,200)); //uchta nuqta uchburchakni
tasvirlaydi poly.add(Point(350,100)); poly.add(Point(400,200)); poly.set_color(Color::red); poly.set_style(Line_style::dash); win.attach(poly); win.set_label("Canvas#5"); win.wait_for_button();
Quyidagi natijani olamiz.
Dostları ilə paylaş: |
|
|