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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.65
Evgenii Rublev
0 / 0 / 0
Регистрация: 03.05.2009
Сообщений: 9
#1

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

03.05.2009, 18:57. Просмотров 3346. Ответов 8
Метки нет (Все метки)

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

Chart - диаграмма: изменить точность делений графика, установить центр графика в (0,0) - C#
Создал диаграмму (все прекрасно считается точки расставляются), но есть проблемыЖ 1. В случае диаграммы - "Спектр амплитуд", series2 он...

Рисование графика: обработка новых входящих данных и движение графика на форме - C#
Подскажите каким способом можно вывести график частью главного окна программы, при чем график получает данные *в живую* с устройства по...

Автоматическое изменение графика при переносе данных, формулы и графика на другой лист - MS Excel
На первом листе, на основании каких-либо вычислений строим график, а затем полностью копируем первой лист на второй, а затем изменяем...

Построение графика производной для каждого графика из 3 режимов - Matlab
Дорогие друзья, прошу помочь доделать три программы. В каждой программе выводится по одному графику и нужно чтобы каждая программа выводила...

Совмещение поточечного графика и графика построенного функцией на отрезке - Mathematica
Есть некий массив array1 = {...} и func = y /. NDslove По отдельности строю так: Plot и ListLogPlot Как их совместить? ...

Шкала графика Chart Control - Сделать так, чтобы значения графика были с 2 знаками после запятой - C# MVC
Здравствуйте! У меня такая проблема: В базе данных есть числовые данные, на основе которых рисуется график Подскажите, пожалуйста,...

Графика: построить 2 графика в одной координатной плоскости - Turbo Pascal
Нужно построить 2 графика в одной координатной плоскости, но для начала нужно протабулировать функции... С Графикой ни разу не встречалась,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
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
2359 / 1054 / 44
Регистрация: 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
2359 / 1054 / 44
Регистрация: 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
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
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     графика си++
Еще ссылки по теме:

Написать программу построения графика функции.(Графика) - Turbo Pascal
Написать программу построения графика функции y= x2 +2x-cos x на отрезке . Помогите пожалуйста)Заранее спасибо!)

Комбинированная графика - сделать два графика в одном - MS Excel
Уважаемые, форумчане, прошу совета нужно решить следующие системы и изобразить их в форме графика два в одном, подскажите как или...

Вывести на экран дисплея график функции y=( x), в заданном диапозоне изменения аргумента x от a до b с числом точек графика n. Ширину поля графика и - C++ Builder
Помогите с примером, заранее благодарен) Вывести на экран дисплея график функции y=( x), в заданном диапозоне изменения аргумента x от a...

Построение графика графика квадратичной функции - C#
Как построить график квадратичной функции? Построил только простую параболу, как ее сдвигать? int ixPrev = -1, iyPrev =...

Паскаль графика (построения графика функции) - Turbo Pascal
как поставить х и у буквами в графике и пронумеровать ось рисками от 1... подскажите пож вот пример графика мне нужно сделать...


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

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

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