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

Курсовой проект планеты - C++

Восстановить пароль Регистрация
 
White Luna
 Аватар для White Luna
32 / 26 / 2
Регистрация: 08.09.2010
Сообщений: 402
12.12.2010, 18:01     Курсовой проект планеты #1
Создать Планетарную модель , объектное-ориентирование
у меня есть 2 начальные проги (сама писала)
1) это начало кода, так скажем его скелет - классы, т к надо делать через них
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
#include "stdafx.h"
 
class spaceObject
{
    private:
        char *name;   //  название тела
        float mass;  // масса 
        float orbitalRadius;  // орбитальный радиус
        float x; 
        float y;
        float z;
        float vx; 
        float vy;
        float vz;
    public:
        spaceObject(char*, float, float);  // метод -конструктор 
        ~spaceObject(void);  // деструктор
        void getspObj(void);  //  сведния о теле
protected:
        float V_x()    // расчет скоростей
        {
            
            return vx;
        }
        float V_y()
        {
            
            return vy;
        }
        float V_z()
        {
            
            return vz;
        }
    };
    
    //первый производный класс от "космическое тело"
class planet:public spaceObject
    {
        private:
            spaceObject *satellites[5];  // массив спутников
            int qtSatellites;   // кол-во спутников у планеты
        public:
            planet(char *pname, float pmass , float porbitalRadius, spaceObject *psatel[5], int pqtsatel);  // конструктор
            ~planet(void);  // деструктор
            void getplanet(void);   // получение сведений об объекте ( будут присылатся данныые из файла)
        };
    
    //второй производный класс от "космическое тело"
class solar:public spaceObject
    {
        private:
            planet *system[5];  //  массив планет
            int qtPlanets;   //  кол-во планет
        public:
            solar(char *solarname, float solarmass , float solarorbitalRadius, planet *solarsystem[], int solarqtplanets);  // конструктор
            ~solar(void);  // деструктор
            void getsolar(void);   // получение сведений об объекте ( будут присылатся данныые из файла)
        };
2) а вот этот код самой графики объекта - сферы, вращающейся вокруг своей оси
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
#include "stdafx.h"
 
#include <windows.h>
#pragma comment(lib, "glaux.lib") 
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "OpenGL32.lib")
#include <gl.h>
#include <glu.h>
#include <glaux.h>
void CALLBACK resize( int width, int height );
void CALLBACK display( void );
void main()
{
  auxInitDisplayMode( AUX_RGBA | AUX_DEPTH | AUX_DOUBLE );
  auxInitPosition( 50, 10, 400, 400);
  auxInitWindow( L"Лекция 2, Программа 2.1" );
  auxReshapeFunc( resize );
    glEnable( GL_ALPHA_TEST );
    glEnable( GL_DEPTH_TEST );
    glEnable( GL_COLOR_MATERIAL );
    glEnable( GL_BLEND );
    glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
    glEnable( GL_LIGHTING );
    glEnable( GL_LIGHT0 );
    float pos[4] = { 0, 5, 5, 1 };
    float dir[3] = { 0, -1, -1 };
    glLightfv( GL_LIGHT0, GL_POSITION, pos );
    glLightfv( GL_LIGHT0, GL_SPOT_DIRECTION, dir );
    auxIdleFunc( display );
    auxMainLoop( display );
}
 
 
void CALLBACK resize( int width, int height )
{
  glViewport( 0, 0, width, height );
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    glOrtho( -5, 5, -5, 5, 2, 12 );
 
 
    gluLookAt( 3,0,5, 0,0,0, 0,1,0 );
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity();
}
 
void CALLBACK display(void)
{
  // Очистка буфера кадра
  glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    static float angle = 0;
    glColor3f( 0.5, 0.5, 0 );
    glPushMatrix();
      glRotatef( angle, 0, 1, 0 );
      auxWireSphere( 1 );
    glPopMatrix();
    angle += 5;
    if ( angle > 360 )
      angle -= 360;
    // Копирование содержимого буфера кадра на экран
    glFlush();
    auxSwapBuffers();
}
у ми вот такой ? как их объединить, ну что б объектами в 1 проге были сферы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2010, 18:01     Курсовой проект планеты
Посмотрите здесь:

Курсовой проект C++
с задания на курсовой C++
C++ С++ нужна программа которая будет вращать планеты
Идея к курсовой C++
Программа для курсовой работы (проект управления холодильником) C++
C++ Создать программу "Справочник Планеты солнечной системы"
C++ Курсовой проект с темой "Локальные и глобальные переменные. Правила видимости переменных в С++"
C++ Как скопировать проект в другой проект для дальнейшей работы над новой версией (VS)?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 12:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru