|
Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalar universiteti va raqamli texnologiyalar vazirligi
|
bet | 1/2 | Sana | 18.11.2023 | Hajmi | 389,45 Kb. | | #101019 |
Bog'liq Kompyuter grafikasi amliy ish 2
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALAR UNIVERSITETI VA RAQAMLI TEXNOLOGIYALAR VAZIRLIGI
MUSTAQIL ISH
Guruh: CPR003-2
Bajardi: Mardonov Serobboy
Tekshirdi: Ibodullayev Sardor
6-variant.
Mavzu: Fazodagi almashtirishlar.
Ishning maqsadi: Fazodagi almashtirishlar bilan tanishish.
Biz bu topshiriqda 3 o’lchovli matritsalardan foydalanib Titanik kemasini 3 o’lchovli obyekt shaklida yaratib ko’rdik va fazodagi almashtirishlarni amalga oshirdik. Endi birinchi bo’lib kemani linelar yordamida chizib ko’ramiz. Tartib bilan ishlash uchun birinchi bo’lib Titanik kemasini 2 o’lchovli obyektini chizib olamiz.Keyin shu obyektni proyeksiyalab o’zini ko’chirib qo’yamiz.
Quyidagi kod kemani 2d obyekti uchun:
#include
#include
#include
double k3[120][3];
double k2[120][2];
int k2i[120][2];
double l_kabine = 1/2.;
double alfa = M_PI/4;
void initprism()
{
k3[1][1]=50; k3[1][2]=300; k3[1][3]=0;
k3[2][1]=300; k3[2][2]=600; k3[2][3]=0;
k3[3][1]=1100; k3[3][2]=600; k3[3][3]=0;
k3[4][1]=1350; k3[4][2]=300; k3[4][3]=0;}
void kabine()
{
int i;
for(i=1;i<=120;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<=120;i++)
k2i[i][j]=int(k2[i][j]);
}
}
void perenos(int x,int y)
{
int i;
for(i=1;i<=120;i++)
{
k2i[i][1]=k2i[i][1]+x;
k2i[i][2]=k2i[i][2]+y;
}
}
void lineprism()
{
setcolor(BLUE);
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[1][1],k2i[1][2]);
int main()
{
initwindow(800, 800);
initprism();
kabine();
relation();
lineprism();
getch();
cleardevice();
perenos(300,200);
lineprism();
getch();
closegraph();}
1-rasm. Kema 2 o’lchovli obyekt ko’rinishida.
Endi shu ko’rinishda kemaning qolgan qismlarini ham yaratamiz.:Endi 2 o’lchovli obyektni o’zini ko’chirib olamiz.
Void lineprism ()
{
setcolor(YELLOW);
line(k2i[5][1],k2i[5][2],k2i[6][1],k2i[6][2]);
line(k2i[6][1],k2i[6][2],k2i[7][1],k2i[7][2]);
line(k2i[7][1],k2i[7][2],k2i[8][1],k2i[8][2]);
line(k2i[8][1],k2i[8][2],k2i[5][1],k2i[5][2]);}
2-rasm. 2 o’lchovli obyekt shaklni o’zi ko’chirildi.
Endi kemani aylanalari(tuynuklarini) yasab olamiz. Uning dastur kodi:
Void lineprism ()
{setcolor(LIGHTBLUE);
/* Aylana chizish*/
circle(360,420,20); circle(360,470,20);
circle(410,420,20); circle(410,470,20);
circle(460,420,20); circle(460,470,20);
circle(510,420,20); circle(510,470,20);
circle(660,420,20); circle(660,470,20);
circle(710,420,20); circle(710,470,20);
circle(760,420,20); circle(760,470,20);
circle(810,420,20); circle(810,470,20);
circle(960,420,20); circle(960,470,20);
circle(1010,420,20); circle(1010,470,20);
circle(1060,420,20); circle(1060,470,20);
circle(1110,420,20); circle(1110,470,20);}
3-rasm. Kemani aylana(tuynuklari).
Kemani ustidagi to’rtburchak tomonlari. Uning dastur kodi:
void initprism()
{ /* Kichik turtburchak*/
k3[9][1]=50; k3[9][2]=300; k3[9][3]=0;
k3[10][1]=50; k3[10][2]=270; k3[10][3]=0;
k3[11][1]=200; k3[11][2]=270; k3[11][3]=0;
k3[12][1]=220; k3[12][2]=300; k3[12][3]=0;
k3[17][1]=300; k3[17][2]=300; k3[17][3]=0;
k3[18][1]=300; k3[18][2]=270; k3[18][3]=0;
k3[19][1]=1100; k3[19][2]=270; k3[19][3]=0;
k3[20][1]=1100; k3[20][2]=300; k3[20][3]=0;
k3[25][1]=1350; k3[25][2]=300; k3[25][3]=0;
k3[26][1]=1350; k3[26][2]=270; k3[26][3]=0;
k3[27][1]=1200; k3[27][2]=270; k3[27][3]=0;
k3[28][1]=1180; k3[28][2]=300; k3[28][3]=0;
k3[33][1]=330; k3[33][2]=300; k3[33][3]=0;
k3[34][1]=330; k3[34][2]=240; k3[34][3]=0;
k3[35][1]=1070; k3[35][2]=240; k3[35][3]=0;
k3[36][1]=1070; k3[36][2]=300; k3[36][3]=0;
void lineprism()
{/*Kichik turtburchak*/
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[9][1],k2i[9][2]);
line(k2i[17][1],k2i[17][2],k2i[18][1],k2i[18][2]);
line(k2i[18][1],k2i[18][2],k2i[19][1],k2i[19][2]);
line(k2i[19][1],k2i[19][2],k2i[20][1],k2i[20][2]);
line(k2i[20][1],k2i[20][2],k2i[17][1],k2i[17][2]);
line(k2i[25][1],k2i[25][2],k2i[26][1],k2i[26][2]);
line(k2i[26][1],k2i[26][2],k2i[27][1],k2i[27][2]);
line(k2i[27][1],k2i[27][2],k2i[28][1],k2i[28][2]);
line(k2i[28][1],k2i[28][2],k2i[25][1],k2i[25][2]);
line(k2i[33][1],k2i[33][2],k2i[34][1],k2i[34][2]);
line(k2i[34][1],k2i[34][2],k2i[35][1],k2i[35][2]);
line(k2i[35][1],k2i[35][2],k2i[36][1],k2i[36][2]);
line(k2i[36][1],k2i[36][2],k2i[33][1],k2i[33][2]);}
4-rasm. Kemaning to’rtburchak shakllari 2 o’lchovli obyekt shakli.
Kemaning ustida chiqib turgan shaklari. Uning dastur kodi:
Void lineprism ()
{
line(k2i[41][1],k2i[41][2],k2i[42][1],k2i[42][2]);
line(k2i[42][1],k2i[42][2],k2i[43][1],k2i[43][2]);
line(k2i[43][1],k2i[43][2],k2i[44][1],k2i[44][2]);
line(k2i[44][1],k2i[44][2],k2i[41][1],k2i[41][2]);
line(k2i[49][1],k2i[49][2],k2i[50][1],k2i[50][2]);
line(k2i[50][1],k2i[50][2],k2i[51][1],k2i[51][2]);
line(k2i[51][1],k2i[51][2],k2i[52][1],k2i[52][2]);
line(k2i[52][1],k2i[52][2],k2i[49][1],k2i[49][2]);
line(k2i[57][1],k2i[57][2],k2i[58][1],k2i[58][2]);
line(k2i[58][1],k2i[58][2],k2i[59][1],k2i[59][2]);
line(k2i[59][1],k2i[59][2],k2i[60][1],k2i[60][2]);
line(k2i[60][1],k2i[60][2],k2i[57][1],k2i[57][2]);
line(k2i[65][1],k2i[65][2],k2i[66][1],k2i[66][2]);
line(k2i[66][1],k2i[66][2],k2i[67][1],k2i[67][2]);
line(k2i[67][1],k2i[67][2],k2i[68][1],k2i[68][2]);
line(k2i[68][1],k2i[68][2],k2i[65][1],k2i[65][2]);
}
5-rasm. Kemani ustidagi to’rtburchak shaklni 2 o’lchovli obyekt shakli.
Endi kemani yelkanlarini 2 o’lchovli obyektini chizib olamiz.
void lineprism()
{ line(k2i[73][1],k2i[73][2],k2i[74][1],k2i[74][2]);
line(k2i[74][1],k2i[74][2],k2i[75][1],k2i[75][2]);
line(k2i[75][1],k2i[75][2],k2i[76][1],k2i[76][2]);
line(k2i[76][1],k2i[76][2],k2i[73][1],k2i[73][2]);
line(k2i[81][1],k2i[81][2],k2i[82][1],k2i[82][2]);
line(k2i[82][1],k2i[82][2],k2i[83][1],k2i[83][2]);
line(k2i[83][1],k2i[83][2],k2i[84][1],k2i[84][2]);
line(k2i[84][1],k2i[84][2],k2i[81][1],k2i[81][2]);
line(k2i[89][1],k2i[89][2],k2i[90][1],k2i[90][2]);
line(k2i[90][1],k2i[90][2],k2i[91][1],k2i[91][2]);
line(k2i[91][1],k2i[91][2],k2i[92][1],k2i[92][2]);
line(k2i[92][1],k2i[92][2],k2i[89][1],k2i[89][2]);
line(k2i[97][1],k2i[97][2],k2i[98][1],k2i[98][2]);
line(k2i[98][1],k2i[98][2],k2i[99][1],k2i[99][2]);
line(k2i[99][1],k2i[99][2],k2i[100][1],k2i[100][2]
}
6-rasm. Kemani yelkanlarini ko’rinishi 2 o’lchovli obyektda.
Endi Kemani to’laqonli 3 o’lchovli obyekt shaklida tasvirlash uchun unga ikki tasvir o’rtasida bog’lovchi chizilardan foydalanamiz va umumiy natijani ekranda hosil qilamiz. Dasturimning to’liq kodi quyidagicha:
#include
#include
#include
double k3[55][3];
double k2[55][2];
int k2i[55][2];
double l_kabine = 1/2.;
double alfa = M_PI/4;
void initprism()
{ k3[1][1]=50; k3[1][2]=300; k3[1][3]=0;
k3[2][1]=300; k3[2][2]=600; k3[2][3]=0;
k3[3][1]=1100; k3[3][2]=600; k3[3][3]=0;
k3[4][1]=1350; k3[4][2]=300; k3[4][3]=0;
k3[5][1]=50; k3[5][2]=300; k3[5][3]=80;
k3[6][1]=300; k3[6][2]=600; k3[6][3]=80;
k3[7][1]=1100; k3[7][2]=600; k3[7][3]=80;
k3[8][1]=1350; k3[8][2]=300; k3[8][3]=80;
/* Kichik turtburchak*/
k3[9][1]=50; k3[9][2]=300; k3[9][3]=0;
k3[10][1]=50; k3[10][2]=270; k3[10][3]=0;
k3[11][1]=200; k3[11][2]=270; k3[11][3]=0;
k3[12][1]=220; k3[12][2]=300; k3[12][3]=0;
k3[13][1]=50; k3[13][2]=300; k3[13][3]=80;
k3[14][1]=50; k3[14][2]=270; k3[14][3]=80;
k3[15][1]=200; k3[15][2]=270; k3[15][3]=80;
k3[16][1]=220; k3[16][2]=300; k3[16][3]=80;
k3[17][1]=300; k3[17][2]=300; k3[17][3]=0;
k3[18][1]=300; k3[18][2]=270; k3[18][3]=0;
k3[19][1]=1100; k3[19][2]=270; k3[19][3]=0;
k3[20][1]=1100; k3[20][2]=300; k3[20][3]=0;
k3[21][1]=300; k3[21][2]=300; k3[21][3]=80;
k3[22][1]=300; k3[22][2]=270; k3[22][3]=80;
k3[23][1]=1100; k3[23][2]=270; k3[23][3]=80;
k3[24][1]=1100; k3[24][2]=300; k3[24][3]=80;
k3[25][1]=1350; k3[25][2]=300; k3[25][3]=0;
k3[26][1]=1350; k3[26][2]=270; k3[26][3]=0;
k3[27][1]=1200; k3[27][2]=270; k3[27][3]=0;
k3[28][1]=1180; k3[28][2]=300; k3[28][3]=0;
k3[29][1]=1350; k3[29][2]=300; k3[29][3]=80;
k3[30][1]=1350; k3[30][2]=270; k3[30][3]=80;
k3[31][1]=1200; k3[31][2]=270; k3[31][3]=80;
k3[32][1]=1180; k3[32][2]=300; k3[32][3]=80;
k3[33][1]=330; k3[33][2]=300; k3[33][3]=0;
k3[34][1]=330; k3[34][2]=240; k3[34][3]=0;
k3[35][1]=1070; k3[35][2]=240; k3[35][3]=0;
k3[36][1]=1070; k3[36][2]=300; k3[36][3]=0;
k3[37][1]=330; k3[37][2]=300; k3[37][3]=80;
k3[38][1]=330; k3[38][2]=240; k3[38][3]=80;
k3[39][1]=1070; k3[39][2]=240; k3[39][3]=80;
k3[40][1]=1070; k3[40][2]=300; k3[40][3]=80;
k3[41][1]=455; k3[41][2]=240; k3[41][3]=0;
k3[42][1]=455; k3[42][2]=120; k3[42][3]=0;
k3[43][1]=515; k3[43][2]=120; k3[43][3]=0;
k3[44][1]=515; k3[44][2]=240; k3[44][3]=0;
k3[45][1]=455; k3[45][2]=240; k3[45][3]=80;
k3[46][1]=455; k3[46][2]=120; k3[46][3]=80;
k3[47][1]=515; k3[47][2]=120; k3[47][3]=80;
k3[48][1]=515; k3[48][2]=240; k3[48][3]=80;
k3[49][1]=580; k3[49][2]=240; k3[49][3]=0;
k3[50][1]=580; k3[50][2]=120; k3[50][3]=0;
k3[51][1]=640; k3[51][2]=120; k3[51][3]=0;
k3[52][1]=640; k3[52][2]=240; k3[52][3]=0;
k3[53][1]=580; k3[53][2]=240; k3[53][3]=80;
k3[54][1]=580; k3[54][2]=120; k3[54][3]=80;
k3[55][1]=640; k3[55][2]=120; k3[55][3]=80;
k3[56][1]=640; k3[56][2]=240; k3[56][3]=80;
k3[57][1]=705; k3[57][2]=240; k3[57][3]=0;
k3[58][1]=705; k3[58][2]=120; k3[58][3]=0;
k3[59][1]=765; k3[59][2]=120; k3[59][3]=0;
k3[60][1]=765; k3[60][2]=240; k3[60][3]=0;
k3[61][1]=705; k3[61][2]=240; k3[61][3]=80;
k3[62][1]=705; k3[62][2]=120; k3[62][3]=80;
k3[63][1]=765; k3[63][2]=120; k3[63][3]=80;
k3[64][1]=765; k3[64][2]=240; k3[64][3]=80;
k3[65][1]=830; k3[65][2]=240; k3[65][3]=0;
k3[66][1]=830; k3[66][2]=120; k3[66][3]=0;
k3[67][1]=890; k3[67][2]=120; k3[67][3]=0;
k3[68][1]=890; k3[68][2]=240; k3[68][3]=0;
k3[69][1]=830; k3[69][2]=240; k3[69][3]=80;
k3[70][1]=830; k3[70][2]=120; k3[70][3]=80;
k3[71][1]=890; k3[71][2]=120; k3[71][3]=80;
k3[72][1]=890; k3[72][2]=240; k3[72][3]=80;
k3[73][1]=220; k3[73][2]=300; k3[73][3]=0;
k3[74][1]=230; k3[74][2]=300; k3[74][3]=0;
k3[75][1]=230; k3[75][2]=50; k3[75][3]=0;
k3[76][1]=220; k3[76][2]=50; k3[76][3]=0;
k3[77][1]=220; k3[77][2]=300; k3[77][3]=80;
k3[78][1]=230; k3[78][2]=300; k3[78][3]=80;
k3[79][1]=230; k3[79][2]=50; k3[79][3]=80;
k3[80][1]=220; k3[80][2]=50; k3[80][3]=80;
k3[81][1]=1180; k3[81][2]=300; k3[81][3]=0;
k3[82][1]=1170; k3[82][2]=300; k3[82][3]=0;
k3[83][1]=1170; k3[83][2]=50; k3[83][3]=0;
k3[84][1]=1180; k3[84][2]=50; k3[84][3]=0;
k3[85][1]=1180; k3[85][2]=300; k3[85][3]=80;
k3[86][1]=1170; k3[86][2]=300; k3[86][3]=80;
k3[87][1]=1170; k3[87][2]=50; k3[87][3]=80;
k3[88][1]=1180; k3[88][2]=50; k3[88][3]=80;
k3[89][1]=70; k3[89][2]=270; k3[89][3]=0;
k3[90][1]=220; k3[90][2]=50; k3[90][3]=0;
k3[91][1]=220; k3[91][2]=100; k3[91][3]=0;
k3[92][1]=70; k3[92][2]=270; k3[92][3]=0;
k3[93][1]=70; k3[93][2]=270; k3[93][3]=80;
k3[94][1]=220; k3[94][2]=50; k3[94][3]=80;
k3[95][1]=220; k3[95][2]=100; k3[95][3]=80;
k3[96][1]=70; k3[96][2]=270; k3[96][3]=80;
k3[97][1]=1330; k3[97][2]=270; k3[97][3]=0;
k3[98][1]=1180; k3[98][2]=50; k3[98][3]=0;
k3[99][1]=1180; k3[99][2]=100; k3[99][3]=0;
k3[100][1]=1330; k3[100][2]=270; k3[100][3]=0;
k3[101][1]=1330; k3[101][2]=270; k3[101][3]=80;
k3[102][1]=1180; k3[102][2]=50; k3[102][3]=80;
k3[103][1]=1180; k3[103][2]=100; k3[103][3]=80;
k3[104][1]=1330; k3[104][2]=270; k3[104][3]=80;
}
void kabine()
{
int i;
for(i=1;i<=120;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<=120;i++)
k2i[i][j]=int(k2[i][j]);
}
}
void perenos(int x,int y)
{
int i;
for(i=1;i<=120;i++)
{
k2i[i][1]=k2i[i][1]+x;
k2i[i][2]=k2i[i][2]+y;
}
}
void lineprism()
{
setcolor(BLUE);
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[1][1],k2i[1][2]);
/*Kichik turtburchak*/
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[9][1],k2i[9][2]);
line(k2i[17][1],k2i[17][2],k2i[18][1],k2i[18][2]);
line(k2i[18][1],k2i[18][2],k2i[19][1],k2i[19][2]);
line(k2i[19][1],k2i[19][2],k2i[20][1],k2i[20][2]);
line(k2i[20][1],k2i[20][2],k2i[17][1],k2i[17][2]);
line(k2i[25][1],k2i[25][2],k2i[26][1],k2i[26][2]);
line(k2i[26][1],k2i[26][2],k2i[27][1],k2i[27][2]);
line(k2i[27][1],k2i[27][2],k2i[28][1],k2i[28][2]);
line(k2i[28][1],k2i[28][2],k2i[25][1],k2i[25][2]);
line(k2i[33][1],k2i[33][2],k2i[34][1],k2i[34][2]);
line(k2i[34][1],k2i[34][2],k2i[35][1],k2i[35][2]);
line(k2i[35][1],k2i[35][2],k2i[36][1],k2i[36][2]);
line(k2i[36][1],k2i[36][2],k2i[33][1],k2i[33][2]);
line(k2i[41][1],k2i[41][2],k2i[42][1],k2i[42][2]);
line(k2i[42][1],k2i[42][2],k2i[43][1],k2i[43][2]);
line(k2i[43][1],k2i[43][2],k2i[44][1],k2i[44][2]);
line(k2i[44][1],k2i[44][2],k2i[41][1],k2i[41][2]);
line(k2i[49][1],k2i[49][2],k2i[50][1],k2i[50][2]);
line(k2i[50][1],k2i[50][2],k2i[51][1],k2i[51][2]);
line(k2i[51][1],k2i[51][2],k2i[52][1],k2i[52][2]);
line(k2i[52][1],k2i[52][2],k2i[49][1],k2i[49][2]);
line(k2i[57][1],k2i[57][2],k2i[58][1],k2i[58][2]);
line(k2i[58][1],k2i[58][2],k2i[59][1],k2i[59][2]);
line(k2i[59][1],k2i[59][2],k2i[60][1],k2i[60][2]);
line(k2i[60][1],k2i[60][2],k2i[57][1],k2i[57][2]);
line(k2i[65][1],k2i[65][2],k2i[66][1],k2i[66][2]);
line(k2i[66][1],k2i[66][2],k2i[67][1],k2i[67][2]);
line(k2i[67][1],k2i[67][2],k2i[68][1],k2i[68][2]);
line(k2i[68][1],k2i[68][2],k2i[65][1],k2i[65][2]);
line(k2i[73][1],k2i[73][2],k2i[74][1],k2i[74][2]);
line(k2i[74][1],k2i[74][2],k2i[75][1],k2i[75][2]);
line(k2i[75][1],k2i[75][2],k2i[76][1],k2i[76][2]);
line(k2i[76][1],k2i[76][2],k2i[73][1],k2i[73][2]);
line(k2i[81][1],k2i[81][2],k2i[82][1],k2i[82][2]);
line(k2i[82][1],k2i[82][2],k2i[83][1],k2i[83][2]);
line(k2i[83][1],k2i[83][2],k2i[84][1],k2i[84][2]);
line(k2i[84][1],k2i[84][2],k2i[81][1],k2i[81][2]);
line(k2i[89][1],k2i[89][2],k2i[90][1],k2i[90][2]);
line(k2i[90][1],k2i[90][2],k2i[91][1],k2i[91][2]);
line(k2i[91][1],k2i[91][2],k2i[92][1],k2i[92][2]);
line(k2i[92][1],k2i[92][2],k2i[89][1],k2i[89][2]);
line(k2i[97][1],k2i[97][2],k2i[98][1],k2i[98][2]);
line(k2i[98][1],k2i[98][2],k2i[99][1],k2i[99][2]);
line(k2i[99][1],k2i[99][2],k2i[100][1],k2i[100][2]);
line(k2i[100][1],k2i[100][2],k2i[97][1],k2i[97][2]);
setcolor(YELLOW);
line(k2i[5][1],k2i[5][2],k2i[6][1],k2i[6][2]);
line(k2i[6][1],k2i[6][2],k2i[7][1],k2i[7][2]);
line(k2i[7][1],k2i[7][2],k2i[8][1],k2i[8][2]);
line(k2i[8][1],k2i[8][2],k2i[5][1],k2i[5][2]);
/*Kichik turtburchak*/
line(k2i[13][1],k2i[13][2],k2i[14][1],k2i[14][2]);
line(k2i[14][1],k2i[14][2],k2i[15][1],k2i[15][2]);
line(k2i[15][1],k2i[15][2],k2i[16][1],k2i[16][2]);
line(k2i[16][1],k2i[16][2],k2i[13][1],k2i[13][2]);
line(k2i[21][1],k2i[21][2],k2i[22][1],k2i[22][2]);
line(k2i[22][1],k2i[22][2],k2i[23][1],k2i[23][2]);
line(k2i[23][1],k2i[23][2],k2i[24][1],k2i[24][2]);
line(k2i[24][1],k2i[24][2],k2i[21][1],k2i[21][2]);
line(k2i[29][1],k2i[29][2],k2i[30][1],k2i[30][2]);
line(k2i[30][1],k2i[30][2],k2i[31][1],k2i[31][2]);
line(k2i[31][1],k2i[31][2],k2i[32][1],k2i[32][2]);
line(k2i[32][1],k2i[32][2],k2i[29][1],k2i[29][2]);
line(k2i[37][1],k2i[37][2],k2i[38][1],k2i[38][2]);
line(k2i[38][1],k2i[38][2],k2i[39][1],k2i[39][2]);
line(k2i[39][1],k2i[39][2],k2i[40][1],k2i[40][2]);
line(k2i[40][1],k2i[40][2],k2i[37][1],k2i[37][2]);
line(k2i[45][1],k2i[45][2],k2i[46][1],k2i[46][2]);
line(k2i[46][1],k2i[46][2],k2i[47][1],k2i[47][2]);
line(k2i[47][1],k2i[47][2],k2i[48][1],k2i[48][2]);
line(k2i[48][1],k2i[48][2],k2i[45][1],k2i[45][2]);
line(k2i[53][1],k2i[53][2],k2i[54][1],k2i[54][2]);
line(k2i[54][1],k2i[54][2],k2i[55][1],k2i[55][2]);
line(k2i[55][1],k2i[55][2],k2i[56][1],k2i[56][2]);
line(k2i[56][1],k2i[56][2],k2i[53][1],k2i[53][2]);
line(k2i[61][1],k2i[61][2],k2i[62][1],k2i[62][2]);
line(k2i[62][1],k2i[62][2],k2i[63][1],k2i[63][2]);
line(k2i[63][1],k2i[63][2],k2i[64][1],k2i[64][2]);
line(k2i[64][1],k2i[64][2],k2i[61][1],k2i[61][2]);
line(k2i[69][1],k2i[69][2],k2i[70][1],k2i[70][2]);
line(k2i[70][1],k2i[70][2],k2i[71][1],k2i[71][2]);
line(k2i[71][1],k2i[71][2],k2i[72][1],k2i[72][2]);
line(k2i[72][1],k2i[72][2],k2i[69][1],k2i[69][2]);
line(k2i[77][1],k2i[77][2],k2i[78][1],k2i[78][2]);
line(k2i[78][1],k2i[78][2],k2i[79][1],k2i[79][2]);
line(k2i[79][1],k2i[79][2],k2i[80][1],k2i[80][2]);
line(k2i[80][1],k2i[80][2],k2i[77][1],k2i[77][2]);
line(k2i[85][1],k2i[85][2],k2i[86][1],k2i[86][2]);
line(k2i[86][1],k2i[86][2],k2i[87][1],k2i[87][2]);
line(k2i[87][1],k2i[87][2],k2i[88][1],k2i[88][2]);
line(k2i[88][1],k2i[88][2],k2i[85][1],k2i[85][2]);
line(k2i[93][1],k2i[93][2],k2i[94][1],k2i[94][2]);
line(k2i[94][1],k2i[94][2],k2i[95][1],k2i[95][2]);
line(k2i[95][1],k2i[95][2],k2i[96][1],k2i[96][2]);
line(k2i[96][1],k2i[96][2],k2i[93][1],k2i[93][2]);
line(k2i[101][1],k2i[101][2],k2i[102][1],k2i[102][2]);
line(k2i[102][1],k2i[103][2],k2i[103][1],k2i[103][2]);
line(k2i[103][1],k2i[103][2],k2i[104][1],k2i[104][2]);
line(k2i[104][1],k2i[104][2],k2i[101][1],k2i[101][2]);
setcolor(LIGHTBLUE);
/* Aylana chizish*/
circle(360,420,20); circle(360,470,20);
circle(410,420,20); circle(410,470,20);
circle(460,420,20); circle(460,470,20);
circle(510,420,20); circle(510,470,20);
circle(660,420,20); circle(660,470,20);
circle(710,420,20); circle(710,470,20);
circle(760,420,20); circle(760,470,20);
circle(810,420,20); circle(810,470,20);
circle(960,420,20); circle(960,470,20);
circle(1010,420,20); circle(1010,470,20);
circle(1060,420,20); circle(1060,470,20);
circle(1110,420,20); circle(1110,470,20);
setcolor(RED);
line(k2i[1][1],k2i[1][2],k2i[5][1],k2i[5][2]);
line(k2i[2][1],k2i[2][2],k2i[6][1],k2i[6][2]);
line(k2i[3][1],k2i[3][2],k2i[7][1],k2i[7][2]);
line(k2i[4][1],k2i[4][2],k2i[8][1],k2i[8][2]);
line(k2i[9][1],k2i[9][2],k2i[13][1],k2i[13][2]);
line(k2i[10][1],k2i[10][2],k2i[14][1],k2i[14][2]);
line(k2i[11][1],k2i[11][2],k2i[15][1],k2i[15][2]);
line(k2i[12][1],k2i[12][2],k2i[16][1],k2i[16][2]);
line(k2i[17][1],k2i[17][2],k2i[21][1],k2i[21][2]);
line(k2i[18][1],k2i[18][2],k2i[22][1],k2i[22][2]);
line(k2i[19][1],k2i[19][2],k2i[23][1],k2i[23][2]);
line(k2i[20][1],k2i[20][2],k2i[24][1],k2i[24][2]);
line(k2i[25][1],k2i[25][2],k2i[29][1],k2i[29][2]);
line(k2i[26][1],k2i[26][2],k2i[30][1],k2i[30][2]);
line(k2i[27][1],k2i[27][2],k2i[31][1],k2i[31][2]);
line(k2i[28][1],k2i[28][2],k2i[32][1],k2i[32][2]);
line(k2i[33][1],k2i[33][2],k2i[37][1],k2i[37][2]);
line(k2i[34][1],k2i[34][2],k2i[38][1],k2i[38][2]);
line(k2i[35][1],k2i[35][2],k2i[39][1],k2i[39][2]);
line(k2i[36][1],k2i[36][2],k2i[40][1],k2i[40][2]);
line(k2i[41][1],k2i[41][2],k2i[45][1],k2i[45][2]);
line(k2i[42][1],k2i[42][2],k2i[46][1],k2i[46][2]);
line(k2i[43][1],k2i[43][2],k2i[47][1],k2i[47][2]);
line(k2i[44][1],k2i[44][2],k2i[48][1],k2i[48][2]);
line(k2i[49][1],k2i[49][2],k2i[53][1],k2i[53][2]);
line(k2i[50][1],k2i[50][2],k2i[54][1],k2i[54][2]);
line(k2i[51][1],k2i[51][2],k2i[55][1],k2i[55][2]);
line(k2i[52][1],k2i[52][2],k2i[56][1],k2i[56][2]);
line(k2i[57][1],k2i[57][2],k2i[61][1],k2i[61][2]);
line(k2i[58][1],k2i[58][2],k2i[62][1],k2i[62][2]);
line(k2i[59][1],k2i[59][2],k2i[63][1],k2i[63][2]);
line(k2i[60][1],k2i[60][2],k2i[64][1],k2i[64][2]);
line(k2i[65][1],k2i[65][2],k2i[69][1],k2i[69][2]);
line(k2i[66][1],k2i[66][2],k2i[70][1],k2i[70][2]);
line(k2i[67][1],k2i[67][2],k2i[71][1],k2i[71][2]);
line(k2i[68][1],k2i[68][2],k2i[72][1],k2i[72][2]);
line(k2i[73][1],k2i[73][2],k2i[77][1],k2i[77][2]);
line(k2i[74][1],k2i[74][2],k2i[78][1],k2i[78][2]);
line(k2i[75][1],k2i[75][2],k2i[79][1],k2i[79][2]);
line(k2i[76][1],k2i[76][2],k2i[80][1],k2i[80][2]);
line(k2i[81][1],k2i[82][2],k2i[85][1],k2i[85][2]);
line(k2i[82][1],k2i[82][2],k2i[86][1],k2i[86][2]);
line(k2i[83][1],k2i[83][2],k2i[87][1],k2i[87][2]);
line(k2i[84][1],k2i[84][2],k2i[88][1],k2i[88][2]);
line(k2i[89][1],k2i[89][2],k2i[93][1],k2i[93][2]);
line(k2i[90][1],k2i[90][2],k2i[94][1],k2i[94][2]);
line(k2i[91][1],k2i[91][2],k2i[95][1],k2i[95][2]);
line(k2i[92][1],k2i[92][2],k2i[96][1],k2i[96][2]);
line(k2i[97][1],k2i[97][2],k2i[101][1],k2i[101][2]);
line(k2i[98][1],k2i[98][2],k2i[102][1],k2i[102][2]);
line(k2i[99][1],k2i[99][2],k2i[103][1],k2i[103][2]);
line(k2i[100][1],k2i[100][2],k2i[104][1],k2i[104][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();}
7-rasm. Kemaning to’iq ko'rinishi.
Endi Kemaning masshtablagandagi ko’rinishi. Dastur kodi quyidagicha:
void mashtab()
void perenos(int x,int y)
{
int i;
for(i=1;i<=130;i++)
{
k2i[i][1]=k2i[i][1]/x;
k2i[i][2]=k2i[i][2]/y;//kichiklashtirish
}
void perenos(int x,int y)
{
int i;
for(i=1;i<=130;i++)
{
k2i[i][1]=k2i[i][1]*x;
k2i[i][2]=k2i[i][2]*y;//kattalashtirish
}
}
int main()
{
initwindow(800, 800);
initprism();
kabine();
relation();
lineprism();
getch();
cleardevice();
perenos(300,200);
lineprism();
getch();
closegraph();}
Xulosa
Men bu amaliy mashg’ulot orqali kemani oldin 2 o’lchovli obyektini qanday chizishni va fazoda 3 o’lchovli obyektlar ustida almashtirishlar , proyeksiyalash qandayy amalga oshirishni bilib oldim
Mavzu: Геометрик объектларни нур билан кесишиш алгоритми
|
| |