Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
5 / 5 / 0
Регистрация: 18.03.2010
Сообщений: 48
1

Цилиндрический треугольник

10.10.2011, 13:30. Показов 2086. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне необходимо сделать треугольник из тонких цилиндров с освещением, который можно вращать с помощью мыши на C++. Долго не мог понять, даже то, как начать делать этот проект и как задействовать билиотеки. Но начинаю осваиваться. Сейчас для меня это еще очень сложно. Этот треугольник на неделе надо уже показывать. Но я не успеваю разобраться. Прошу помощи с кодом этого треугольника.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.10.2011, 13:30
Ответы с готовыми решениями:

Цилиндрический сосуд высоты h погружен в воду на глубину h0
Цилиндрический сосуд высоты h погружен в воду на глубину h0. В дне сосуде площади S появилось...

Выяснить поместится ли вода в цилиндрический стакан высотой h и радиусом r
Срочно нужна помощь. Ввести значение V - некий объем воды. Выяснить поместится ли он в...

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - ...

В Paintbox вписать в круг треугольник, потом квадрат, и равнобедренный треугольник
Int a=StrToInt (Edit1->Text); PaintBox->Canvas->Ellipse(200-a/2,200-a/2,200+a/2,200+a/2);нарисовал...

10
247 / 52 / 1
Регистрация: 21.05.2011
Сообщений: 297
10.10.2011, 14:32 2
Эм ... может я глупость скажу ... но что такое цилиндрический треугольник ?
0
5 / 5 / 0
Регистрация: 18.03.2010
Сообщений: 48
10.10.2011, 14:52  [ТС] 3
Да не... не глупость. Эт я чушь сморозил) Я имею ввиду, чтобы линии треугольника были с какой-нибудь толщиной. Не знаю, как правильно сказать.
0
247 / 52 / 1
Регистрация: 21.05.2011
Сообщений: 297
10.10.2011, 14:57 4
ААА , элементарно ! =) Функция glLineWidth(...); вам в помощь =)
0
5 / 5 / 0
Регистрация: 18.03.2010
Сообщений: 48
10.10.2011, 15:50  [ТС] 5
для меня эта функция как отдельное слово в китайском языке, к сожалению. Вы не могли бы показать полный код программы?
0
247 / 52 / 1
Регистрация: 21.05.2011
Сообщений: 297
10.10.2011, 16:04 6
Вы на чем собираетесь кодить ? Glut? SDL ? WINAPI ? (для начала советовал бы glut) =)
0
5 / 5 / 0
Регистрация: 18.03.2010
Сообщений: 48
11.10.2011, 08:24  [ТС] 7
Glut. О другом даже не слышал.
0
247 / 52 / 1
Регистрация: 21.05.2011
Сообщений: 297
11.10.2011, 12:08 8
Вот вам пример:
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
using namespace std;
int ax = NULL;
int ay = NULL;
double red = 1.0,green = 1.0,blue = 1.0;
int angle = 40;
void Motion(int x,int y)
{
ax = x;
ay = y;
 
}
void Keyboard(unsigned char key,int x,int y)
{
switch(key)
{
case 'r':
angle += 1;
break;
case 'R':
angle -= 1;
}
}
void Draw()
{
 
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity();
glPushMatrix();
glRotated(angle,0.1,0.0,0.0);
glBegin(GL_TRIANGLES);
 
glColor3d(red,green,blue);
glVertex2d(ax,ay);
glVertex2d(ax + 80, ay + 120);
glVertex2d(ax,ay + 80);
glVertex2d(ax,ay + 40);
glEnd();
glPopMatrix();
 
glutWireSphere(100,45,15);//рисуется типа баранка =)
 
glutSwapBuffers();
}
void initial()
{
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0,800.0,600.0,0.0,-10000.0,10000.0);
glMatrixMode(GL_MODELVIEW);
glClearColor(0.0,0.0,0.0,0.0);
glPointSize(10);
}
 
void Timer(int time = 0)
{
 
Draw();
red += 0.1;
if(red >= 1.0)
{
red = 0.1;
}
green += 0.1;
if(green >= 1.0)
{
blue = 0.1;
}
 
blue += 0.1;
if(blue >= 1.0)
{
blue = 0.1;
}
std::cout << "x: " <<ax << " "  << "y: "<< ay;
system("cls");
glutPostRedisplay();
glutPassiveMotionFunc(Motion);
glutTimerFunc(50,Timer,0);
}
 
int main(int argc,char **argv)
{
 
glutInit(&argc,argv);
 
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
 
glutInitWindowSize(800,600);
glutInitWindowPosition(40,143);
glutCreateWindow("Spheres");
initial();
glutDisplayFunc(Draw);
glutKeyboardFunc(Keyboard); 
Timer();
glutMainLoop();
return 0;
}
Написал на быструю руку , камни не кидайте если что-то не так ) Так еще кружочек сделал )
0
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
11.10.2011, 18:48 9
Я думаю ему что то типо этого надо:
Миниатюры
Цилиндрический треугольник  
0
247 / 52 / 1
Регистрация: 21.05.2011
Сообщений: 297
12.10.2011, 02:38 10
Тогда пускай смотрит сюда Увеличение объекта
0
5 / 5 / 0
Регистрация: 18.03.2010
Сообщений: 48
19.10.2011, 15:00  [ТС] 11
Большое спасибо. Треугольник уже построил. Теперь делаю более сложное задание.
0
19.10.2011, 15:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2011, 15:00
Помогаю со студенческими работами здесь

Построить треугольник с заданными координатами вершин. Треугольник должен медленно падать вниз.
Построить треугольник с координатами вершин: А (0,0), В (80, 0), С (0, 100). Треугольник должен...

Треугольник задан длинами сторон A,B,C. Разработать схему алгоритма,определяющую,существует ли данный треугольник
Треугольник задан длинами сторон A,B,C. Разработать схему алгоритма,определяющую,существует ли...

Процедура позволяет рисовать треугольник по координатам вершин трёх точек. Нарисовать прямоугольный треугольник, и равнобедренный
помогите пожалуйста решить, срочно нужно на экзамен...жду вашей помощи) 1)Процедура позволяет...

Класс треугольник с произвольным классом - равнобедренный треугольник
Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки...

В один массив переслать по строкам верхний треугольник матрицы, включая элементы главной диагонали, в другой – нижний треугольник
Дана целочисленная квадратная матрица размером n на m. Написать программу, формирующую два...

Сформировать два одномерных массива. В один переслать по строкам верхний треугольник матрицы, включая главную диагональ, в другой - нижний треугольник
Задана матрица А размером n*n. Сформировать два одномерных массива. В один переслать по строкам...


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

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