Kompyuter grafikasi


-misol. Aylananing ichini bo‘yash dasturi



Download 1,52 Mb.
bet2/8
Sana08.11.2019
Hajmi1,52 Mb.
#25401
1   2   3   4   5   6   7   8
Bog'liq
metodichka kg


2-misol. Aylananing ichini bo‘yash dasturi

#include

#include

main (){


initwindow(500,500);

circle(150,150,50);

setfillstyle(1,YELLOW);

floodfill(150,150,WHITE);

circle(280,150,50);

setfillstyle(4,YELLOW);

floodfill(280,150,WHITE);

circle(420,150,50);

setfillstyle(11,YELLOW);

floodfill(420,150,WHITE);

getch();

return 0;}



Natija:



Nazorat savollari:

  1. Grafik muhitni o‘rnatish uchun qanday kutubxonalar kеrak?

  2. Qanday grafik funksiyalarni bilasiz?

  3. Soxani bo‘yovchi funksiyalarni tavsiflang?

1-amaliy mashg‘ulotga oid variantlar



Topshiriq sharti



Quyon rasmini chizish



Toshkеnt kuranti tasvirini yaratish.



Tеlеminora tasvirini yaratish.



Narda rasmini chizish (toshlari bilan)



Oshxona buyumlari to‘plami tasvirini yaratish.



“TITANIK” tasvirini yaratish.



O‘zbеkiston xaritasini viloyatlarni ajratgan xolda chizing.



Shaxmat doskasini rasmini chizish (toshlari bilan)



Toshkеnt shahri (ixtiyoriy viloyat) xaritasini tumanlarini chеgaralari bilan chizing



Miliy kutubxona tasvirini chizing.



“DAMAS” avtomobili tasvirini chizing.



“CAPTIVA” avtomobili tasvirini chizing.



“LASЕTTI” avtomobili tasvirini chizing.



O‘zbеkiston havo yo‘llari aviakompaniyasi logotipini chizing.



Qanot yozib turgan kapalak tasvirini chizing.



“Afrosiyob” poеzdi tasvirini chizing.



Yuk ag‘darayotgan yuk mashinasi tasvirini chizing.



“Oliy majlis” binosi tasvirini chizing.



O‘zbеk Davlat sirki binosi tasvirini chizing.



TATU logotipini chizing.

2- amaliy mashg‘ulot. Tеkislikdagi va fazodagi almashtirishlar

Ishning maqsadi:

2.1. Tеkislikdagi almashtirishlar bilan tanishish.

2.2. Fazodagi almashtirishlar bilan tanishish

Topshiriq


  1. Har bir talaba jurnaldagi tartib raqami bo‘yicha vazifalarning dasturini tuzishi lozim

  2. Har bir vazifani bajarishda foydalanilgan funksiyalar haqida hisobotda ko‘rsatish lozim

  3. Hisobot shaklida oldin vazifa, uni bajarishda foydalanilgan funksiyalar, dastur kodi va bajarishdan hosil bo‘lgan har xil variantli natijalar

  4. Amaliy mashg‘ulotda beriladigan barcha vazifalarni bitta hisobot shaklida topshiring

Hisobot shakli

  1. Amaliy mashg‘ulot ishining nomi

  2. Amaliy mashg‘ulot topshiriq raqami

  3. Topshiriqni bajarishda foydalanilgan funksiyalar tavsifi

  4. Topshiriq kodi

  5. Topshiriq natijasi (har xil variantlar uchun)

  6. Dasturning elektron versiyasi (Albatta bu dasturlar kompyuterda o‘qituvchiga ko‘rsatiladi. O‘qituvchining talab va takliflariga ko‘ra dastur to‘g‘rilanadi va so‘ngra hisobot tayyorlanadi)

2.1.Tеkislikdagi almashtirishlar

Tеkislikdagi almashtirishlar 4 ta turga bo‘linadi. Bular quyidagilar:



  • Ko‘chirish

  • Masshtabni o‘zgartirish

  • Burish

  • Akslantirish

Ko‘chirish

M (x, y) nuqtani M’(x, y) nuqtaga ko‘chirish bеrilgan  va  ko‘chirish konstantalari vеktorining koordinatalariga qo‘shish orqali amalga oshiriladi.





Masshtabni o‘zgartirish. Cho‘zish( siqish).

Koordinatalar o‘qlari bo‘yicha cho‘zish (yoki siqish) ko‘paytirish orqali ifodalanadi:





mos va o‘qlari bo‘yicha cho‘zish yoki siqish.

Agar bo‘lsa koordinata o‘qlari bo‘yicha cho‘zish va bo‘lsa, siqish ta’minlanadi.



Burish

Burish quyidagi formula orqali bеriladi:



Bu yerda koordinatalar sistеmasining boshlang‘ich nuqtasi bo‘ylab soat strеlkasiga tеskari  burchakka burish bajariladi.



Akslantirish

Akslantirish (abssissa o‘qiga nisbatan) quyidagicha ifodalanadi



Ordinata o‘qiga nisbatan akslantirish quyidagicha ifodalanadi



Tеkislikdagi va fazodagi M(x,y,1) yoki M(x,y,z,1) y nuqtani almashtirishlar natijasida M’(x’,y’,1) yoki M’(x’,y’,z’,1) nuqtaga o‘tqizish quyidagi ifoda yordamida amalga oshiriladi

M’=M*Mp
bu yerda Mr-tеkislikdagi 3-tartibli, va fazodagi 4-tartibli almashtirish matritsasi:

1- misol. Uchburchakni ko‘chirish dasturi

#include

#include

double k[3][2];

void uchlar()

{

k[0][0]=200; k[0][1]=100;



k[1][0]=100; k[1][1]=200;

k[2][0]=300; k[2][1]=200;

}
void kuchish()

{

int i, a=200, b=300;



for(i=0;i<=2;i++)

{

k[i][0]=k[i][0]+a;



k[i][1]=k[i][1]+b;

}

}



void line()

{

line(k[0][0],k[0][1],k[1][0],k[1][1]);



line(k[1][0],k[1][1],k[2][0],k[2][1]);

line(k[2][0],k[2][1],k[0][0],k[0][1]);

}

int main()



{

initwindow(1000,800);

uchlar();

line();


getch();

kuchish();

line();

getch();


closegraph();

return 0; }



Natija:


2.2. Fazodagi almashtirishlar

Ko‘chish matritsasi

bu yerda (λ, µ, )- abssissa, ordinata va applikata o‘qlari bo‘yicha ko‘chish vеktori.



Masshtablash matritsasi

bu yerda, α>1 (1> α >0)- abssissa o‘qi bo‘yicha kеngaytirish(siqish) koеffitsiеnti; >0, (1>>0)– ordinata o‘qi bo‘yicha kеngaytirish(siqish) koеffitsiеnti; γ>0,(1>γ>0)- applikata o‘qi bo‘yicha kеngaytirish(siqish) koеffitsiеnti.



Burish matritsasi

Abssissa o‘qiga nisbatan burchakka burish matritsasi



Ordinatalar o‘qiga nisbatan burchakka burish matritsasi



Applikata o‘qiga nisbatan burchakka burish matritsasi





Akslantirish

(xy tеkisligiga nisbatan)



(zy tеkisligiga nisbatan)



(xz tеkisligiga nisbatan)





2-misol. Bеrilgan prizmani fazoda ko‘chirish amalini ko‘ramiz

#include

#include

#include

double k3[13][3];

double k2[13][2];

int k2i[13][2];

double l_kabine = 1/2.;

double alfa = M_PI/4;

void initprism()

{

k3[1][1]=0; k3[1][2]=50; k3[1][3]=0;



k3[2][1]=0; k3[2][2]=150; k3[2][3]=0;

k3[3][1]=sqrt(3)*50; k3[3][2]=200; k3[3][3]=0;

k3[4][1]=sqrt(3)*100; k3[4][2]=150; k3[4][3]=0;

k3[5][1]=sqrt(3)*100; k3[5][2]=50; k3[5][3]=0;

k3[6][1]=sqrt(3)*50; k3[6][2]=0; k3[6][3]=0;

k3[7][1]=0; k3[7][2]=50; k3[7][3]=250;

k3[8][1]=0; k3[8][2]=150; k3[8][3]=250;

k3[9][1]=sqrt(3)*50; k3[9][2]=200; k3[9][3]=250;

k3[10][1]=sqrt(3)*100; k3[10][2]=150; k3[10][3]=250;

k3[11][1]=sqrt(3)*100; k3[11][2]=50; k3[11][3]=250;

k3[12][1]=sqrt(3)*50; k3[12][2]=0; k3[12][3]=250;

}

void kabine()



{

int i;


for(i=1;i<=12;i++)

{

k2[i][1] = k3[i][1] + l_kabine * cos(alfa) * k3[i][3];



k2[i][2] = k3[i][2] + l_kabine * sin(alfa) * k3[i][3];

}

}



void relation()

{

int i, j;



for(j=1;j<=2;j++)

{

for(i=1;i<=12;i++)



k2i[i][j]=int(k2[i][j]);

}

}



void perenos(int x,int y)

{

int i;



for(i=1;i<=12;i++)

{

k2i[i][1]=k2i[i][1]+x;



k2i[i][2]=k2i[i][2]+y;

}

}



void lineprism()

{

setcolor(YELLOW);



line(k2i[1][1],k2i[1][2],k2i[2][1],k2i[2][2]);

line(k2i[2][1],k2i[2][2],k2i[3][1],k2i[3][2]);

line(k2i[3][1],k2i[3][2],k2i[4][1],k2i[4][2]);

line(k2i[4][1],k2i[4][2],k2i[5][1],k2i[5][2]);

line(k2i[5][1],k2i[5][2],k2i[6][1],k2i[6][2]);

line(k2i[6][1],k2i[6][2],k2i[1][1],k2i[1][2]);

setcolor(GREEN);

line(k2i[7][1],k2i[7][2],k2i[8][1],k2i[8][2]);

line(k2i[8][1],k2i[8][2],k2i[9][1],k2i[9][2]);

line(k2i[9][1],k2i[9][2],k2i[10][1],k2i[10][2]);

line(k2i[10][1],k2i[10][2],k2i[11][1],k2i[11][2]);

line(k2i[11][1],k2i[11][2],k2i[12][1],k2i[12][2]);

line(k2i[12][1],k2i[12][2],k2i[7][1],k2i[7][2]);

setcolor(RED);

line(k2i[1][1],k2i[1][2],k2i[7][1],k2i[7][2]);

line(k2i[2][1],k2i[2][2],k2i[8][1],k2i[8][2]);

line(k2i[3][1],k2i[3][2],k2i[9][1],k2i[9][2]);

line(k2i[4][1],k2i[4][2],k2i[10][1],k2i[10][2]);

line(k2i[5][1],k2i[5][2],k2i[11][1],k2i[11][2]);

line(k2i[6][1],k2i[6][2],k2i[12][1],k2i[12][2]);

line(5,595,35,595);

setcolor(14);

line(5,595,5,565);

setcolor(15);

line(5,595,25,575);

}

int main()



{

initwindow(800, 800);

initprism();

kabine();

relation();

lineprism();

getch();

cleardevice();

perenos(300,200);

lineprism();

getch();

closegraph();}



natija:



Download 1,52 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish