Главная » Информатика » Лабораторная работа: Скручивание 3-х мерного изображения

Лабораторная работа: Скручивание 3-х мерного изображения

Кафедра ЭВМ
Компьютерная графика
Лабораторная работа №
«Скручивание 3-х мерного изображения»

Кафедра ЭВМ
Компьютерная графика
Лабораторная работа №
«Скручивание 3-х мерного изображения»

Задание:
Построить модель скручивания тела.

Текст программы:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>

int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode,a,xx1,yy1,b,xx2,yy2,xx3,xx4,yy3,yy4;
   int xh1,xh2,xh3,xh4,yh1,yh2,yh3,yh4;
   char c;
   double x,y,x2,y2,x3,x4,y3,y4,q,w;

   /* initialize graphics mode */
   initgraph(&gdriver, &gmode, \"\");

   /* read result of initialization */
   errorcode = graphresult();

   if (errorcode != grOk)  /* an error occurred */
   {
      printf(\"Graphics error: %s\\n\", grapherrormsg(errorcode));
      printf(\"Press any key to halt:\");
      getch();
      exit(1);             /* return with error code */
   }
   a=100;b=50;
    do
    {
   c=getch();
   for(x=0, q=6.24;x<=6.24 ,q>=0;x+=0.1 , q-=0.1)
   {
    cleardevice();

    x2=x+1.56;
    x3=x+3.12;
    x4=x+4.68;

    xx1=a*cos(x);
    xx2=a*cos(x2);
    xx3=a*cos(x3);
    xx4=a*cos(x4);

    xh1=a*cos(q);
    xh2=a*cos(q+1.56);
    xh3=a*cos(q+3.12);
    xh4=a*cos(q+4.68);

    for(y=0,w=6.24;y<=6.24,w>=0;y+=0.1,w-=0.1)
    {
      y2=y+2.6;
      y3=y+2.6;
      y4=y+2.6;

      yy1=b*sin(x);
      yy2=b*sin(x2);
      yy3=b*sin(x3);
      yy4=b*sin(x4);

      yh1=b*sin(q);
      yh2=b*sin(q+1.56);
      yh3=b*sin(q+3.12);
      yh4=b*sin(q+4.68);

      setcolor(4);
      line(xx1+320,yy1+240,xx2+320,yy2+240);
      setcolor(2);
      line(xx2+320,yy2+240,xx3+320,yy3+240);
      line(xx3+320,yy3+240,xx4+320,yy4+240);
      line(xx4+320,yy4+240,xx1+320,yy1+240);

      setcolor(7);
      line(xx1+320,yy1+240,xh1+320,yh1+340);
      line(xx2+320,yy2+240,xh2+320,yh2+340);
      line(xx3+320,yy3+240,xh3+320,yh3+340);
      line(xx4+320,yy4+240,xh4+320,yh4+340);

      setcolor(4);
      line(xh1+320,yh1+340,xh2+320,yh2+340);
      setcolor(3);
      line(xh2+320,yh2+340,xh3+320,yh3+340);
      line(xh3+320,yh3+340,xh4+320,yh4+340);
      line(xh4+320,yh4+340,xh1+320,yh1+340);

    }getch();
   }
  }
  while(c!=\'1\');
// }

   /* clean up */
   getch();
   closegraph();
   return 0;
}


Скачать полную версию можно по ссылке…
Скачать Лабораторная работа: Скручивание 3-х мерного изображения + 7 лаб по ЭВМ

Лабораторная работа: Скручивание 3-х мерного изображения: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

X

Pin It on Pinterest

X
Share This