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

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

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

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

Да, это снова я =)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2011, 23:15
Ответы с готовыми решениями:

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

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

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

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

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

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  [ТС]
Bers,
Как не рисуется?
А как же 3Д модели?
Как то же они делаются?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.12.2011, 00:33
Цитата Сообщение от Это_Я Посмотреть сообщение
Как то же они делаются?
А что С++ единственный язык в мире?

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

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

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

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

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

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

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

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

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

Добавлено через 42 секунды
И почему ДиректИкс не советуете?
0
186 / 186 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
04.12.2011, 21:48
Цитата Сообщение от Это_Я Посмотреть сообщение
И почему ДиректИкс не советуете?
Второе сообщение в этом топике.
0
-2 / 0 / 0
Регистрация: 27.12.2010
Сообщений: 61
04.12.2011, 21:58  [ТС]
Chelioss,
Как ОупенГЛ не советуют.
В чем разница?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2011, 21:58
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru