• Mavzu : Геометрик объектларни нур билан кесишиш алгоритми
  • Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalar universiteti va raqamli texnologiyalar vazirligi




    Download 389.45 Kb.
    bet1/2
    Sana18.11.2023
    Hajmi389.45 Kb.
    #101019
      1   2
    Bog'liq
    Kompyuter grafikasi amliy ish 2
    NAZORAT ISHI GEOGRAFIYA, Juraev Sardor, 7-8-Al-Xorazmiy olimpiadasi tuman (2), 5A411101 - Dorivor osimliklar yetishtirish texnologiyasi, 25071, 1EhEFbafIX0IdkMX4GCEEx2T1iNRxhgtgF9Q0q4P, 3-modulga qushimcha, 1 МАЪРУЗА, 16-маъруза, Узбекистан – Государство с великом будущим, Lyuminestsent lampalarni ulanish usullari, Kattalikning qiymati value, Ranglar-jilosida-–-ona-diyor-5-8-sinflar, MAJMUA 2023-2024 YANGI 2-KURS MO\'M MAK REP

    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: Геометрик объектларни нур билан кесишиш алгоритми
      1   2




    Download 389.45 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalar universiteti va raqamli texnologiyalar vazirligi

    Download 389.45 Kb.