Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 29, средняя оценка - 4.79
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
#1

Какую тему выбрать для курсовой. Часть 2. - C++

04.11.2011, 17:59. Просмотров 3850. Ответов 50
Метки нет (Все метки)

Можно ли за 1,5 месяца создать программку, которая управляет ногами футболиста с мячом, а при нажатии бьет.
Трудно ли или как если ты новичок?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.11.2011, 17:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Какую тему выбрать для курсовой. Часть 2. (C++):

Какую тему выбрать для курсовой... - C++
Новичок в С++. Нужна программа для курсовой чтобы она была 3х мерной. Что, какую фигуру или вещь можно описать НОВИЧКУ? Чтоб было...

Выбрать тему для курсовой,что самое интересное по вашему мнению, на ваш взгляд? - C++
1. Хеширование Реализовать открытое, закрытое хеширование и хеширование методом цепочек. Предусмотреть несколько различных хеш-функций. ...

нужно выбрать тему курсовой! - C++
Нужно выбрать тему курсовой работы..нужно написать какое либо приложение на С++ использую принципы ООП не заню какое приложение написать......

Выбрать тему курсовой работы, которая связана с базами данных - C++
Помогите пожалуйста, нужно выбрать тему курсовой работы, которая подвязывается к базе данных(редактирование, ввод, удаление, чтение с...

Придумать тему для курсовой.. - C++
Ну в общем все сказано в названии этой темы. Тема должна быть актуальной) Программа любого вида, на любом языке. Программа может быть...

Посоветуйте тему для курсовой работы - C++
Мне нужен совет. На носу курсовая, я в программировании не сильна, а работа по Visual C++. Посоветуйте темку, чтобы и оценилась и смоглась,...

50
Bers
04.11.2011, 22:57     Какую тему выбрать для курсовой. Часть 2.
  #16

Не по теме:

Цитата Сообщение от Blood-Angel Посмотреть сообщение
А вообще стоит освоить книгу о DirectX + C++ или OpenGL + C++. Проще, имхо, будет OpenGL.
Он не осилит за 1,5 месяца...



Не по теме:

Это_Я, что такое "курсовая" - типа экзамена за весь курс предмета?
Просто любопытно, чем вы занимались весь курс?
Какова была программа обучения?

1
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.11.2011, 23:02  [ТС] #17
Название пары Компьютерная графика. Начали заниматься сразу графикой на ТС++ , кое как ускоренно пройдя то как нужно расписывать программу, т.е. с азов С++ не начинали. Курсовую нужно сдавать перед экзаменом, оценка на неё повлияет и на экзамен.
0
I2um1
Злой няш
1404 / 1102 / 142
Регистрация: 05.04.2010
Сообщений: 1,949
04.11.2011, 23:24 #18
Цитата Сообщение от Это_Я Посмотреть сообщение
В чем суть?
Суть.

Цитата Сообщение от Это_Я Посмотреть сообщение
на ТС++
Это что такое? Не слыхал. И каким тогда боком вы там графику изображаете? Если не знаете о DirectX или OpenGL?

Цитата Сообщение от Это_Я Посмотреть сообщение
И каков будет процесс написания такой программки?
Нарисовать мир: небо там голубое, травка зеленая. Потом нарисовать танк. Научить его двигаться по миру, огибать неровности. И напоследок изобразить выстрел. Еще бы сюда освещение и разные текстуры добавить и будет отлично. Хотя все зависит от поставленного технического задания.

Цитата Сообщение от Это_Я Посмотреть сообщение
Что нужно знать, какие технологии, трудно или как, понимаю тупой вопрос но все таки?
Трудно. Знать надо только C++, OpenGL, основы компьютерной графики. Не помешало бы еще уметь представлять объект в трехмерном пространстве и обладать навыками рисования.

Не по теме:

Цитата Сообщение от Bers Посмотреть сообщение
Он не осилит за 1,5 месяца...
Мне что-то так тоже кажется...
Здесь к слову пословица: хочешь жить - умей вертеться.



А и да, курсовой надо делать на протяжении учебы, а не когда уже сроки начинают поджимать.
0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.11.2011, 23:31  [ТС] #19
Turbo C++ Как не слышали =)

Добавлено через 3 минуты
Цитата Сообщение от Blood-Angel Посмотреть сообщение
Нарисовать мир: небо там голубое, травка зеленая. Потом нарисовать танк. Научить его двигаться по миру, огибать неровности. И напоследок изобразить выстрел. Еще бы сюда освещение и разные текстуры добавить и будет отлично. Хотя все зависит от поставленного технического задания.
Это понятно. Имел в виду, будет ли процесс трудным, как мне это сделать, так чтобы не трудно было. И еще без ОупенГЛ нельзя никак?

Со знаниями С++ 0,1 из 10, как быть?
0
Bers
Заблокирован
04.11.2011, 23:31 #20

Не по теме:

Это_Я, а как называется ваша специальность?

По сабжу: видимо вас обучают сейчас азам 3д-графики.
Нарисовать текстурку размещенную в пространстве с помощью опенгл по урокам Нехе любой дурак сможет. Всю грязную работу опенгл сделает.

А вот понять самому, как устроен весь конвейер - от кодирования точек, из которых состоит 3д модель, до получения её проекции в 2д пространстве - тут уже много-много всякого матана, работа с матрицами и тп.
Человеку, который решил связать свою жизнь с 3д-графикой, это знать конечно нужно.



Вот здесь: http://pmg.org.ru/nehe/
Найдите, как сделать полупрозрачный кубик, который умеет вращаться в пронстранстве. Ну или как сделать полет звездочек.
Сделать не сложно, а для вашей курсовой этого должно хватить.

ТС++ древний, как мамонт. Не рекомендую вам на него ориентироваться. Хотите изучать графику, в действительности смотрите в сторону DirectX, OpenGL
Вам придётся изучить сам с++, особенности DirectX/OpenGL, а так же кучу всякого матана связанного с матрицами, проекциями, и прочей лабудой. Наука долгая и сложная.
Зато потом, в идеале, собственные ГАПИ разрабатывать сможете.
0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.11.2011, 23:51  [ТС] #21
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
int x0=340,y0=220,x,y,xt,yt,xxt,yyt,xx,yy,k;
float fi=0,s;
int pyr[8][3],
v[8][3]={{240,320,1},{240,160,1},{400,160,1},{400,320,1},{280,280,1},{280,120,1},{440,120,1},{440,280,1}};
float tmp[8][3];
float r[8][3],tt[8][3];
int t[8][3];
int rect[8];
void recta(int i,int j,int k,int l)
{rect[0]=pyr[i][0];
rect[1]=pyr[i][1];
rect[2]=pyr[j][0];
rect[3]=pyr[j][1];
rect[4]=pyr[k][0];
rect[5]=pyr[k][1];
rect[6]=pyr[l][0];
rect[7]=pyr[l][1];
}
 
 
 
 
 
void draw(void)
{moveto(pyr[0][0],pyr[0][1]);
lineto(pyr[1][0],pyr[1][1]);
lineto(pyr[2][0],pyr[2][1]);
lineto(pyr[3][0],pyr[3][1]); 
lineto(pyr[0][0],pyr[0][1]);
lineto(pyr[4][0],pyr[4][1]);
lineto(pyr[5][0],pyr[5][1]);
lineto(pyr[6][0],pyr[6][1]);
lineto(pyr[7][0],pyr[7][1]);
lineto(pyr[4][0],pyr[4][1]);
moveto(pyr[1][0],pyr[1][1]);
lineto(pyr[5][0],pyr[5][1]);
moveto(pyr[2][0],pyr[2][1]);
lineto(pyr[6][0],pyr[6][1]);
moveto(pyr[3][0],pyr[3][1]);
lineto(pyr[7][0],pyr[7][1]);
//raskraska
 
setfillstyle(2,11);
recta(0,1,2,3);
fillpoly(4,rect);
 
setfillstyle(5,11);
recta(1,5,6,2);
fillpoly(4,rect);
 
setfillstyle(4,11);
recta(2,6,7,3);
fillpoly(4,rect);
}
 
void matrix_r(float fi)
{r[0][0]=cos(fi);
r[0][1]=sin(fi);
r[0][2]=0;
r[1][0]=-sin(fi);
r[1][1]=cos(fi);
r[1][2]=0;
r[2][0]=0;
r[2][1]=0;
r[2][2]=1;
}
void matrix_t(int x,int y)
{int i,j;
for(i=0;i<=2;i++)
for(j=0;j<=2;j++)
if (i==j) t[i][j]=1;
else  t[i][j]=0;
t[2][0]=x;
t[2][1]=y;
}
 
void main(void)
{int gdriver = DETECT, gmode, errorcode,i,j,c;
char msg[80];
initgraph(&gdriver,&gmode,"");
  errorcode=graphresult();
  if (errorcode !=grOk)
  {printf("Graphics error:%s\n",grapherrormsg(errorcode));
  printf("Press any key to halt:");
  getch();exit(1);
  }
 settextstyle(0,HORIZ_DIR,2);
 setcolor(4);
 outtextxy(10,445,"\x01a   \x01b   esc   ");
 setcolor(11);
 settextstyle(1,HORIZ_DIR,4);
 outtextxy(10,430,"-right   -left   -end");
 setviewport(50,50,getmaxx()-50,getmaxx()-50,1);
 for(i=0;i<=7;i++)
 for(k=0;k<=2;k++)
 pyr[i][k]=v[i][k];
 draw();
  do
 {c=getch();
 switch(c)
 {case 77: fi-=0.15;
 break;
 case 75: fi+=0.15;
 break;
 }
 matrix_r(fi);
 matrix_t(-x0,-y0);
 for(i=0;i<=2;i++)
 for(k=0;k<=2;k++)
 {s=0;
 for(j=0;j<=2;j++)
 s=s+t[i][j]*r[k][j];
 tt[i][k]=s;}
 for(i=0;i<=7;i++)
 for(k=0;k<=2;k++)
 {s=0;
 for(j=0;j<=2;j++)
 s=s+v[i][j]*tt[j][k];
 tmp[i][k]=s;}
 matrix_t(x0,y0);
 for(i=0;i<=7;i++)
 for(k=0;k<=2;k++)
 {s=0;
 for(j=0;j<=2;j++)
 s=s+tmp[i][j]*t[j][k];
 pyr[i][k]=s;}
 clearviewport();
 //stiranie okna
 draw();
 }while(c!=27);
 closegraph();
 }
Это пример куба на Турбо С++, вращение которого осуществляется в с помощью клавиш. Мы сами его не изучаем, нам его преподают.

Добавлено через 10 минут
Мне бы, что нибудь по проще, если так трудно сделать.
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
04.11.2011, 23:54 #22
на самом деле его оформить этот код нормально, то он довольно прост. вращение фигуры осуществляется просто напросто поворотом всех точек.
0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
05.11.2011, 00:03  [ТС] #23
Можно по подробнее?
0
I2um1
Злой няш
1404 / 1102 / 142
Регистрация: 05.04.2010
Сообщений: 1,949
05.11.2011, 00:08 #24
Цитата Сообщение от Это_Я Посмотреть сообщение
Это пример куба на Турбо С++, вращение которого осуществляется в с помощью клавиш.
Ну так, разобраться в этом примере (что к чему) и сделать чего посложнее.

Цитата Сообщение от Это_Я Посмотреть сообщение
Мне бы, что нибудь по проще, если так трудно сделать.
Какие требования? Что-то не понятно какой должен быть реализован функционал.
Из ваших слов понятно только то, что программа должна быть трехмерная, а всю эту трехмерность рисовать вручную: делать соответствующие преобразование и прочие математические ухищрения.
Вот тогда такой пример: изобразить прозрачный куб (в виде решетки к примеру) и внутри куб поменьше (цельный), который будет двигаться в этом пространстве и отталкиваться от стенок. Пользователь же может к примеру поворачивать под разным углом эту феерию, увеличить/уменьшить скорость движения внутреннего куба, задавать направление его движения или еще чего.
Того, что приведено в вашем примере за основу сгодится. Вооружаемся книжками о компьютерной графике и начинаем рисовать кубики, строить матрицы преобразования, масштабирования, поворота и т.п.. Этого вас должны были научить.

Не по теме:

Почитал пару предложений о том, что такое Turbo C++, ужаснулся и закрыл страничку.
И хочу заметить то, что преподаватель (преподает) и учитель (учит) - это разные вещи.

0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
05.11.2011, 00:13  [ТС] #25
Можно по меньше математики?


Цитата Сообщение от Blood-Angel Посмотреть сообщение
Не по теме:
Почитал пару предложений о том, что такое Turbo C++, ужаснулся и закрыл страничку.
И хочу заметить то, что преподаватель (преподает) и учитель (учит) - это разные вещи
=)
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.11.2011, 00:17 #26
Это_Я, поменьше математики не получится.
хотя если юзать готовое....

поверь ниче сложного нет в 3-х базовых операциях, формулы детские.

самое сложное - рендеринг и удаление невидимых линий, но я так понял, что тебе этого не требуется.
0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
05.11.2011, 00:23  [ТС] #27
А если изобразить стреляющий пистолет при нажатии? и когда летит пуля, показывать обзор со всех сторон?
0
Bers
Заблокирован
05.11.2011, 00:23 #28
Цитата Сообщение от Это_Я Посмотреть сообщение
Можно по меньше математики?
Можно пользоваться всем готовым.

Только вот, если вы хотите стать специалистом, вам не нужно избегать матана. А если вы не хотите быть специалистом, зачем тогда вообще учитесь?
0
Это_Я
-31 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
05.11.2011, 00:24  [ТС] #29

Не по теме:

И наконец Вижуал Студио установил



Добавлено через 59 секунд
Цитата Сообщение от Bers Посмотреть сообщение
Только вот, если вы хотите стать специалистом, вам не нужно избегать матана. А если вы не хотите быть специалистом, зачем тогда вообще учитесь?
Вы правы, надо знать, только и в математике тоже не очень.
0
OstapBender
584 / 523 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
05.11.2011, 00:25 #30
Цитата Сообщение от Это_Я Посмотреть сообщение
Не по теме:
И наконец Вижуал Студио установил
молодец

Цитата Сообщение от Bers Посмотреть сообщение
Только вот, если вы хотите стать специалистом, вам не нужно избегать матана. А если вы не хотите быть специалистом, зачем тогда вообще учитесь?
не согласен.
да и какой тут матан в конкретном данном случае? максимум линейка 1 курс 1 семестр
0
05.11.2011, 00:25
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2011, 00:25
Привет! Вот еще темы с ответами:

Посоветуйте тему для курсовой работы (C,C++,Pascal,Java,C#) - C++
Добрый день, посоветуйте тему для курсовой работы(студент 2-го курса), доступные языки программирования - C,C++,Pascal,Java,C#. Очень много...

Подскажите тему для курсовой работы по компьютерному моделированию - C++
Добрый вечер!Подскажите пожалуйста интересную тему для курсовой работы по компьютерному моделированию!Буду очень благодарна)

Какую среду разработки выбрать на Mac для С++? - C++
Добрый день! Недавно решил заняться изучением программирования на С++, однако сразу возник вопрос: какую среду разработки лучше...

Какую среду разработки выбрать для диплома - C++
Здравствуйте всем! Подошло время для диплома, с темой определился, а с какой средой разработки нет. Можете посоветовать, что лучше? Я хочу...


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

Или воспользуйтесь поиском по форуму:
30
Ответ Создать тему
Опции темы

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