Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/22: Рейтинг темы: голосов - 22, средняя оценка - 4.73
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
1

Как нарисовать на С++ 3D пистолет...

03.12.2011, 23:15. Показов 4414. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нарисовать на С++ 3D пистолет, который можно вращать(проверка на трехмерность), и за компанию , чтоб стрелял.
Как это написать на Visual C++?

Да, это снова я =)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.12.2011, 23:15
Ответы с готовыми решениями:

Клеевый пистолет
Какой пистолет купить? Клеить собираюсь не много. Поспрашивал, на кардачах от 40 грн. И еще, а...

Изобразить цветной пистолет
нужен не сильно замароченый рисунок писталета в паскале и желательно цветной

Световой пистолет Nintendo
Приветствую всех форумчан! У меня давно в голове вертится вопрос, почему не хочет работать...

Световой пистолет для ПК
Кто нибудь что-то слышал о световых пистолетах для ПК и про игры которые его поддерживают. Что-то...

18
1186 / 542 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
03.12.2011, 23:32 2
Цитата Сообщение от Это_Я Посмотреть сообщение
Нарисовать на С++ 3D пистолет
Да легко, сначала полгода учишь c++, потом полгода (если будешь усердно учить то хватит и шести месяцев) учишь winapi (на этом этапе ты сможешь уже нарисовать 2д пистолет) и потом ещё пол года (а в лучшем случае 182.5 дня) учишь directX и всё: пистолет стреляет и крутится, крутится и стреляет.
1
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
03.12.2011, 23:40  [ТС] 3
Цитата Сообщение от Gepar Посмотреть сообщение
Да легко, сначала полгода учишь c++, потом полгода (если будешь усердно учить то хватит и шести месяцев) учишь winapi (на этом этапе ты сможешь уже нарисовать 2д пистолет) и потом ещё пол года (а в лучшем случае 182.5 дня) учишь directX и всё: пистолет стреляет и крутится, крутится и стреляет.
Ты меня "порадовал" .

А так вопрос серьезный. С чего начать, что как сделать, сколько шагов?
0
Заблокирован
04.12.2011, 00:03 4
Это_Я, нужно отдать должное вашему упорству) Столько времени носитесь с этой идеей)
Если бы ещё был бы хоть какой то результат...

1. Лазием по этой ссылочке, И внимательно проходим один урок за другим, до тех пор, пока материал не станет слишком уж сложным:
http://pmg.org.ru/nehe/index.html

2. Понимаем, что пистолеты на с++ не рисуют. И что он нам в ближайшее время не светит, и начинаем учить с++.

3. Берём нормальную IDE, обкладываемся учебниками. Учимся-учимся-учимся.

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

5. Если хватит упорства, то через 1-2 года - профит!
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 00:21  [ТС] 5
Bers,
Как не рисуется?
А как же 3Д модели?
Как то же они делаются?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.12.2011, 00:33 6
Цитата Сообщение от Это_Я Посмотреть сообщение
Как то же они делаются?
А что С++ единственный язык в мире?

Добавлено через 3 минуты
И вообще кто такие ОНИ?
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 00:36  [ТС] 7
Chelioss,
Мне на С++ надо
Они- программки
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.12.2011, 00:40 8
Чем вам не устраивает на С++ http://pmg.org.ru/nehe/nehe01.htm ?

Добавлено через 53 секунды
Цитата Сообщение от Это_Я Посмотреть сообщение
Они- программки
Где вы видели программки с графикой на чистом С++?
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 00:50  [ТС] 9
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();
 }
Turbo C++
0
Заблокирован
04.12.2011, 00:52 10
Цитата Сообщение от Это_Я Посмотреть сообщение
Bers,
Как не рисуется?
А как же 3Д модели?
Как то же они делаются?
3д модель создаётся при помощи специализированного софта, типа 3д Макс, и тп.

В самом же целевом проекте используется так называемый "графический движок", который умеет читать файлы 3дМакса, и выводить модельку на экран, двигать камеру, и тп.

Ты можешь воспользоваться уже существующим графическим движком, который уже умеет это все делать. И с его помощью вывести свой пистолет. Но тебе в любом случае придётся изучать документацию к такому движку. Если ты ещё сам по себе с++ не знаешь, то использовать такой движок тебе будит очень трудно.

Добавлено через 2 минуты
Это_Я, турбо си использует графическую библиотеку graphics.h

Если ты решил сидеть в древней IDE с древнем компилятором, и юзать древнею graphics.h, что ж...
удачи)

Но про пистолет лучше сразу забудь
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 00:54  [ТС] 11
Bers,
То есть, можно нарисовать в 3ДМАКС и прописать его в С++ так, что бы им можно было управлять?

Добавлено через 1 минуту
И можно ли как в Турбо С++ нарисовать такую же простую программку?
0
Заблокирован
04.12.2011, 00:57 12
Это_Я, посмотри уроки nehe.
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 01:32  [ТС] 13
А кроме нехе еще что нибудь есть?
0
Заблокирован
04.12.2011, 01:39 14
Цитата Сообщение от Это_Я Посмотреть сообщение
А кроме нехе еще что нибудь есть?
Есть, но из всего, что я знаю, нехе - самый простой. Остальные требуют продвинутых знаний с++
Если ты нехе не в состоянии прожевать - забей на графику, и сосредоточься на самом языке. Значит рано тебе ещё.
1
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 01:51  [ТС] 15
Bers,
Понятно.
Периодически, по мере возникновения вопроса буду спрашивать, так что, не злитесь =)
0
5231 / 3204 / 362
Регистрация: 12.12.2009
Сообщений: 8,113
Записей в блоге: 2
04.12.2011, 09:10 16
Это_Я, я смотрю ты не отчаиваешься) Вчера вечером была такая же тема, только ее почему-то удалили.

Дельный совет - в Qt есть примеры, там есть пример вращающегося логотипа Qt. Можешь разобрать этот пример и вместо логотипа Qt прикрутить что-нибудь свое.
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 21:29  [ТС] 17
А в чем преимущество Qt над Visual C++ кроме кроссплотформенности?

Добавлено через 42 секунды
И почему ДиректИкс не советуете?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.12.2011, 21:48 18
Цитата Сообщение от Это_Я Посмотреть сообщение
И почему ДиректИкс не советуете?
Второе сообщение в этом топике.
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 21:58  [ТС] 19
Chelioss,
Как ОупенГЛ не советуют.
В чем разница?
0
04.12.2011, 21:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.12.2011, 21:58
Помогаю со студенческими работами здесь

Световой пистолет (электронный тир)
Всех приветствую. Зарегался тут с целью получения квалифицированного совета. У меня очень слабые...

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

Как нарисовать прямоугольник, изменить его координаты и нарисовать заново уже без первого прямоугольника?
Как нарисовать прямоугольник, изменить его координаты и нарисовать заного уже без первого...

Нарисовать флаг, нарисовать график y=ctg x Нарисовать анимацию
Дело таково у меня сейчас практика, где я очень не успиваю сделать все свои задания... Большая...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru