Форум программистов, компьютерный форум CyberForum.ru

графика си++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
03.05.2009, 18:57     графика си++ #1
Помогите пожалуйста. Нужно написать программу в обычном Borland си+ 3.11 аналогичную виндовской заставке сквозь вселенную.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2009, 18:57     графика си++
Посмотрите здесь:

C++ графика в c
C++ Графика
C++ Графика[c++]
C++ [C++] Графика
Графика C++
C++ Графика на c++
Графика в С++ C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
03.05.2009, 20:56     графика си++ #2
там в хелпе есть все,что нужно про graphics.h
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
03.05.2009, 22:53  [ТС]     графика си++ #3
Я разделил экран на четверти. Написал прогу для 2 четверти. Только звезды лажово летят. Раньше они у меня по очереди летели, было все норм. А когда переписал код, чтобы все вместе, получидась туфта, так как они мигают, а не двигаются ,это наверно из-за delay. Плюс ко всему, звезды нужно рисовать не точками, а через circle, типо увеличиваться должны и скорость еще увеличиваться тоже(это вообще не догоняю). В инете искал, нашел только в визуалСи с использованием OpenGl, но это не катит=((. Помогите плиз, код ниже представил. Еще мне кажется, что использовать goto это не есть правильно, но как написать условие по которому он будет пробегать цикл снова и снова не придумал. Помогите кто сможет, пожалуйста, а то курсач сдавать скоро, а я его уже 3 неделю мучаю.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
#include <graphics.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <dos.h>
#define  KOLI4ESTVO 10
 
 
void main ()
 
{
 
   int gdriver = DETECT, gmode, errorcode;
   int z_c[1000],dx[1000],dy[1000],nomer_zv,xmid,ymid;
   double s,x,y,b,q,ygol[1000],koef[1000],x_c[1000],y_c[1000];
 
   initgraph(&gdriver, &gmode, "");
 
 
   errorcode = graphresult();
 
 
   if (errorcode != grOk)
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
 
      exit(1);
   }
 
   cleardevice();
 
   xmid=getmaxx()/2;
   ymid=getmaxy()/2;
 
   for(nomer_zv=1;nomer_zv<KOLI4ESTVO;nomer_zv++)
   {
      x=random(xmid)-1;
      y=random(ymid)+1;
 
      if(x>320,y>240)
      {
     x=random(xmid)-1;
     y=random(ymid)+1;
      }
 
      s=(ymid-y)/(xmid-x);
      b=((ymid-y)*x-(xmid-x)*y)/(xmid-x);
      ygol[nomer_zv]=s;
      koef[nomer_zv]=b;
      x_c[nomer_zv]=x;
      y_c[nomer_zv]=y;
 
   }
 
      a:
 
      for(nomer_zv=1;nomer_zv<KOLI4ESTVO;nomer_zv++)
 
      {
       x=x_c[nomer_zv];
       y=y_c[nomer_zv];
       s=ygol[nomer_zv];
       b=koef[nomer_zv];
 
       x--;
 
       if(x>0)
 
       {
          y=s*x-b;
          x_c[nomer_zv]=x;
          y_c[nomer_zv]=y;
 
          if(x>0 && y>0)
          {
          putpixel(x,y,WHITE);
          delay(30);
          putpixel(x,y,BLACK);
 
          }
 
          else
          {
          x=random(xmid);
          y=random(ymid);
          x_c[nomer_zv]=x;
          y_c[nomer_zv]=y;
          s=(ymid-y)/(xmid-x);
          b=((ymid-y)*x-(xmid-x)*y)/(xmid-x);
 
          }
       }
 
       else
       {
          x=random(xmid);
          y=random(ymid);
          x_c[nomer_zv]=x;
          y_c[nomer_zv]=y;
          s=(ymid-y)/(xmid-x);
          b=((ymid-y)*x-(xmid-x)*y)/(xmid-x);
 
 
       }
 
      }
 
 
 nomer_zv=0;
 goto a;
 
}
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
03.05.2009, 22:54     графика си++ #4
Гоогле => "c++ flying stars"
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
03.05.2009, 22:59  [ТС]     графика си++ #5
За сводку на гуугл спс. А что нить более по проще можно придумать?!?
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
03.05.2009, 23:15     графика си++ #6
Evgenii Rublev,
попроще можно, но будет некрасиво, наверное (:
из области в центре экрана формируешь точки, которые движутся по прямой к краям. В качестве уравнения прямой можно применить алгоритм Брезенхема.
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
03.05.2009, 23:35  [ТС]     графика си++ #7
Окей. Еще раз спс ... попробую. Я ,наверно, все таки этот код перепишу по проще.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
03.05.2009, 23:49     графика си++ #8
Evgenii Rublev,используйте функции и структуры. Они созданы чтобы облегчить жизнь,а не усложнить....
Вот немного псевдокода.
Код
 
struct Point { 
int x;
int y;
}
void MovePoint(int dx,int dy,Point * point) {
     PutPixel(point->x,point->y,BLACK);
     point->x+=dx;
     point->y+=dy;
     PutPixel(point->x,point->y,WHITE);
};
int CountDeltaX(Point * point,int CentreX) {
       return sign((point->x - CentreX)) ;
};
int CountDeltaY(Point * point,int CentreX) {
       return sign((point->y - CentreY)) ;
};
Код
for(int i=0;i<numberOfPoints;i++)
  MovePoint(CountDeltaX(&points[i],CentreX),CountDeltaY(...),&points[i]);
Это не готовое решение,просто пример структуры программы. Намного проще выглядит,чем ваш код.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2009, 00:00     графика си++
Еще ссылки по теме:

Графика в С++ C++
Графика C++
C++ С++, Графика
Графика в Си++ C++
Графика на си C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
04.05.2009, 00:00  [ТС]     графика си++ #9
Спс. Я позже хотел все в функции переписать, просто столкнулся с проблемами ,вот и заступорился, и полез сюда.
Yandex
Объявления
04.05.2009, 00:00     графика си++
Ответ Создать тему
Опции темы

Текущее время: 13:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru