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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 27, средняя оценка - 4.67
KrL^^
0 / 0 / 0
Регистрация: 01.10.2008
Сообщений: 30
#1

Вывод на экран геометрических фигур - C++

20.02.2009, 23:23. Просмотров 3608. Ответов 7
Метки нет (Все метки)

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

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

Вывод геометрических фигур - C++
Привет всем! Такая проблема: С треугольниками разобрался- могу выводить с помощю цыклов разные и в разных ракурсах. Вот код: #include...

Графические функции. Вывести на экран рисунок, состоящий из 6 разных геометрических фигур - C++
1)Вывести на экран рисунок, состоящий из 6 разных геометрических фигур. Фигуры выделить разными цветами и надписать.

HELP!!! движение геометрических фигур - C++
Нужна помощь в написании программы движения круга на экране хотя бы чтоб двигался туда сюда по одной линии, использование методов "дров" и...

Иерархия геометрических фигур - C++
Проблема с классами, никак не могу из за этого написать последнюю прогу... Помогуте если не сложно Создайте простую иерархию...

масштабирование геометрических фигур - C++
Было задание: Построить систему классов для описания плоских геометрических фигур: круг, квадрат, прямоугольник. Предусмотреть методы...

Графика - построение геометрических фигур - C++
Я что-то вообще не могу понять, как выполнять это задание. Считать данные не проблема, а как построить да ещё и с заданными углами...

7
TurboDune
22 / 22 / 1
Регистрация: 20.02.2009
Сообщений: 59
21.02.2009, 00:04 #2
Чтобы как можно было проще, тогда создаёшь визардом обычное WinAPI приложение.
Фигуры представляешь массивом точек. Вращение и масштабирование выполняется "на ура" при помощи аффинных преобразований http://ru.wikibooks.org/wiki/%D0%90%...BD%D0%B8%D1%8F.
0
KrL^^
0 / 0 / 0
Регистрация: 01.10.2008
Сообщений: 30
02.04.2009, 22:10  [ТС] #3
А можно по-подробней)
Хочу попробовать через opengl. есть где-нибудь похожие исходники?
0
KrL^^
0 / 0 / 0
Регистрация: 01.10.2008
Сообщений: 30
26.04.2009, 18:02  [ТС] #4
возникло 2 вопроса) как сделать менюшку в в вин32 приложении(в дос окне т.е.)? из нее будет выбираться фигурка.
Дальше такая мысль. Сделать для каждой фигурки свой отдельный файл. конус.с пирамида.с итд. Из менюшки выбираешь фигуру и запускается файл как это реализовать?
0
FAT
5 / 5 / 0
Регистрация: 03.03.2009
Сообщений: 18
26.04.2009, 18:16 #5
Примерно так все будет, не забудь соответствующие библиотеки подключить.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
cout<<"Сделайте выбор 1) Конус 2) Квадрат 3) Круг"<<endl;
int num;
cin>>num;
switch(num)
{
case 1:
{
system("запускаемый файл");
break;
}
case 2:
{
system("запускаемый файл");
break;
}
case 3:
{
system("запускаемый файл");
break;
}
}
0
KrL^^
0 / 0 / 0
Регистрация: 01.10.2008
Сообщений: 30
26.04.2009, 19:21  [ТС] #6
FAT, где можно по-подробней прочитать про это? Или пример работающий..
0
FAT
5 / 5 / 0
Регистрация: 03.03.2009
Сообщений: 18
26.04.2009, 19:50 #7
Прочитать можно в любой книге по C/C++ для начинающих.
0
KrL^^
0 / 0 / 0
Регистрация: 01.10.2008
Сообщений: 30
01.05.2009, 14:33  [ТС] #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
#include <windows.h>
 
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include "stdlib.h"
double R = 1, H = 2;
 
void CALLBACK Key_UP(void)
{
    R = R + 0.2;
    H = H + 0.4; //это для увеличения, ниже для уменьшения фигуры
}
void CALLBACK Key_DOWN(void)
{
    R = R - 0.2;
    H = H - 0.4;
}
void DrawCone()
{
    glPushMatrix();     // сохраняем текущие координаты
    glTranslated(0.1,0,0);  // сдвигаемся в точку (2,0,0)
    glRotated(-75, 0.1,0,0); // поворачиваем систему координат
    glColor3d(0,1,0); 
    auxWireCone(R, H);   // рисуем конус
    glPopMatrix();     // возвращаемся к старым координатам
}
 
 
 
void CALLBACK resize(int width,int height)
{
   glViewport(0,0,width,height);
   glMatrixMode( GL_PROJECTION );
   glLoadIdentity();
   glOrtho(-5,5, -5,5, 2,12);   
   gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
   glMatrixMode( GL_MODELVIEW );
}    
 
 
 
void CALLBACK display(void)
{
 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); 
 DrawCone();
 auxSwapBuffers();
}
 
 
void main()
{
float pos[4] = {3,3,3,1};
float dir[3] = {-1,-1,-1};
 
    GLfloat mat_specular[] = {1,1,1,1};
 
    auxInitPosition( 50, 10, 400, 400);
    auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
    auxInitWindow( "Glaux Template" );
    auxIdleFunc(display);
    auxReshapeFunc(resize);
 
    auxKeyFunc(AUX_UP, Key_UP);
    auxKeyFunc(AUX_DOWN, Key_DOWN);
 
 
  
    glEnable(GL_DEPTH_TEST);
 
    glEnable(GL_COLOR_MATERIAL);
 
    glEnable(GL_LIGHTING);
    glEnable(GL_LIGHT0);
 
    glLightfv(GL_LIGHT0, GL_POSITION, pos);
    glLightfv(GL_LIGHT0, GL_SPOT_DIRECTION, dir);
 
    glMaterialfv(GL_FRONT, GL_SPECULAR, mat_specular);
    glMaterialf(GL_FRONT, GL_SHININESS, 128.0);
 
 
    /*
    * Enter your cod here
    */
    auxMainLoop(display);
}
Хочу сделать такую штуку для каждой фигуры) Как их соединить в одно приложение и организовать выбор? Меняется функции CALLBACK display, CALLBACK Key_UP, CALLBACK Key_DOWN,DrawCone() - функция рисует конус, CALLBACK display. Пишется на Си в визуал студио 2005. Поподробней если можно)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2009, 14:33
Привет! Вот еще темы с ответами:

Выбор геометрических фигур из перечисления - C++
Что необходимо написать для того что бы ввести потом 1,2,3 или 4 и выбрать соответсвующую фигуру? Задача: Вычислите площадь...

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

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

Расчет веса геометрических фигур из различных материалов - C++
Условия задания таковы: &quot; Расчет веса геометрических фигур из различных материалов &quot;. Нужна помощь... сразу благодарю.


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
01.05.2009, 14:33
Ответ Создать тему
Опции темы

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