Войти

Показать полную графическую версию : Графика в С++


mask
18-04-2003, 23:23
Как в С++ рисовать. В частности, надо нарисовать эллипсоид?

mar
21-04-2003, 09:00
mask а OS, какая, лаконичный ты наш? и заодно каким пакетом (С++) ты пользуешься? :o

mask
22-04-2003, 00:15
Система WIN ME. Компилятор TURBO C++ v.3.0

Crew
22-04-2003, 01:07
турбо с я только под дос видел, а это под win или как?

mask
23-04-2003, 00:11
под дос

Crew
24-04-2003, 00:22
Жаль, помочь не могу, в Borland 3.0 если все делать как в примерах, то графическая библиотека не находилась, надо было в опциях самого Borland поставить включать графическую библиотеку, вот таким двойным лечилось объявлением, может в Турбо так же?

AT
24-04-2003, 00:45
обычно в каждом C есть графическая библиотечка
наверняка она инклудиться как
#include <graph.h>
или как-нибудь аналогично, но тоже тривиально

и скорее всего её можно найти, поискав "графические" слова (line, fill...) в папке с инклудами (*.h)

и вообще ! там что, хелпы нет?

mask
20-05-2003, 00:47
#include <graphics.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>

const w=240, l=100, xc=319, yc=239;

void main(int argc, char *argv[])
{
  int gdriver = DETECT, gmode, errorcode;
  initgraph(&gdriver, &gmode, "");
  float zoom=20,x,y,z,i,j;
  int a,b,c;
  a=atoi(argv[1]);
  b=atoi(argv[2]);
  c=atoi(argv[3]);
  setcolor(11);

  for (i=-w; i<w; i++) {
      x=i/zoom;
      for (j=-l; j<l; j++) {
  y=j/zoom;
  if ((1-(x*x)/(a*a)-(y*y)/(b*b))*c*c>0) {
     z=sqrt((1-(x*x)/(a*a)-(y*y)/(b*b))*c*c);
  putpixel(xc+y*zoom+i,yc-z*zoom-i,14);
     z=-sqrt((1-(x*x)/(a*a)-(y*y)/(b*b))*c*c);
  putpixel(xc+y*zoom+i,yc-z*zoom-i,14);
     }
  }
      }
  line(0,yc,639,yc);
  line(xc,0,xc,479);
  line(xc+240,0,xc-240,479);

  getch();
  closegraph();
  }

netmax
22-05-2003, 07:29
mask
А в чем проблема?

mask
27-05-2003, 00:57
уже не в чем

B o s s
28-05-2003, 18:11
Кстати, у меня тоже есть проблема с Borland C++ 3.1 for DOS.
Беру какой нибудь исходник из examples, запускаю, а компилятор мне говорит:

Undefined symbol _initgraph

или

Undefined symbol _closegraph

или еще етому подобное, хотя таких слов, да еще с знаком подчеркивания в проге нет.

Чего оно хочет?

shurikan
29-05-2003, 02:12
B o s s
Символ подчёркивания перед каждым глобальным именем всатвляет сам компилятор... Ну, а хочет он, чтобы ты в начале своего модуля добавил строку:
#include <graphics.h>
Это если компилятор говорит. А если это говорит линкер, то в проекте надо добавить использование Graphics. Это в меню, кажется, Options->Linker.

B o s s
29-05-2003, 22:03
shurikan


Код:#include <graphics.h>

ето есть,
но
Options->Linker.
еще попробую



Добавлено:

shurikan


Код:#include <graphics.h>

ето есть,
но
Options->Linker.
еще попробую

mask
29-05-2003, 23:54
Еще может быть он не находит файлы bgi. Надо указать на них путь в функции подключения графики.

Crew
03-06-2003, 00:02
Borland 3.0 если все делать как в примерах, то графическая библиотека не находилась, надо было в опциях самого Borland поставить включать графическую библиотеку, вот таким двойным лечилось объявлением,
В опциях пошарьте, я ж написал :(

D1g174LM4n14c
04-06-2003, 19:51
Зачем так мучаться? Ведь есть GDI если вы под Виндовхом... А можно (для продвинутых) OpenGL юзать...




© OSzone.net 2001-2012