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

график функции на OpenGL - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.74
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
24.09.2012, 20:04     график функции на OpenGL #1
приведите простую прогу, как можно нарисовать график функции f(x) с координатными осями Oxy.
Применение библиотеки glut приветствуется.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2012, 20:04     график функции на OpenGL
Посмотрите здесь:

График функции на C++ C++
график функции C++
C++ график функции
C++ График функции
C++ [C++, OpenGL, glut] передача метода класса в качестве параметра функции glutDisplayFunc()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
24.09.2012, 20:33     график функции на OpenGL #2
Для этого есть на форуме соответсвутсвующий раздел по графике, а имеено OpenGL и Dirext.
Скачайте любую книгу,например, OpenGL суперкнига 1,2,3,4 издание любое. И там всё очень прото описывается. График строится за пару минут.
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
24.09.2012, 21:03  [ТС]     график функции на OpenGL #3
я сейчас не изучаю OpenGL, мне нужно лишь простой пример проги как нужно нарисовать функцию
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
24.09.2012, 22:18     график функции на OpenGL #4
Держи, но для этого есть другие разделы:
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
#pragma comment(lib,"opengl32.lib")
#pragma comment(lib, "glu32.lib")
#pragma comment(lib, "glaux.lib")
#include <time.h>
#include <stdlib.h>
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>
#include <cmath>
 
void CALLBACK resize(int width,int height)
{
    glViewport(0,0,width,height);
    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    glOrtho(-11,11, -11,11, 2,12);   
    gluLookAt( 0,0,5, 0,0,0, 0,1,0 );
    glMatrixMode( GL_MODELVIEW );
}
void CALLBACK display(void)
{
    float x,y;
    glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
    glLineWidth(1.0f);
    glColor3f(1.0f,1.0f,1.0f);
    glBegin(GL_LINES);
    glColor3f(1.0f,0.0f,0.0f);
    //ось Y
        glVertex2f(0.0f,10.0f);
        glVertex2f(0.0f,-10.0f);
    //ось X
        glVertex2f(10.0f,0.0f);
        glVertex2f(-10.0f,0.0f);
    glEnd();
    glPointSize(2);
    glBegin(GL_POINTS);
    glColor3f(0.0f,1.0f,0.0f);
        for(int i=-10;i<=10;i++)
        {
            x=i;
            y=sin(x);
            glVertex2f(x,y); 
        }
    glEnd();
    auxSwapBuffers();
}
 
int main()
{       
    float pos[4] = {3,3,3,1};
    float dir[3] = {-1,-1,-1};
    GLfloat mat_specular[] = {1,1,1,1};
 
    auxInitPosition( 425, 100, 500, 500);
    auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE );
    auxInitWindow((LPCWSTR)"Graph");
    auxIdleFunc(display);
    auxReshapeFunc(resize);
 
    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);
    return 0;
}
jhendrix
0 / 0 / 0
Регистрация: 23.02.2010
Сообщений: 184
25.09.2012, 06:15  [ТС]     график функции на OpenGL #5
твоя прога не работает, ругается на auxInitWindow((LPCWSTR)"Graph");
ты в какой среде работаешь ? я в основном на codeblocks
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
25.09.2012, 09:49     график функции на OpenGL #6
Да какая разница в какой среде :-)
Приведенный код использует устаревшее расширение - GL Aux. Можешь скачать и собрать freeglut и попробовать с ним. Но под Windows нет никаких проблем самому создать окошко и контекст, на мой взгляд так удобнее получать именно то, что тебе нужно. Лично у меня глут отказывается создавать контекст версии выше 2.0, не смотря на то, что glGetIntegervi( GL_VERSION_MAJOR ) возвращает 4, а MINOR - 3 :-) Поэтому я написал для себя простенькую оберкут над окном и контекстом.
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
25.09.2012, 14:07     график функции на OpenGL #7
Герц, слишком крутые вещи вы для него говорите.
jhendrix. Использую MVS 2010 Ultimate.Программа должна работать даже в простом консольном приложении.(у меня работаетточно). Написал с использованием glaux, по той простой причине, что её описание точно можно везде найти, т.к. она старая и примеров куча по ней. На glut переделать пару мин.
Герц
523 / 340 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
25.09.2012, 23:34     график функции на OpenGL #8
freeglut то слишком крут? Ну, извини :-)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 00:04     график функции на OpenGL
Еще ссылки по теме:

C++ График функции
Перевести с Pascal вычисление функции на заданном промежутке и построить график этой функции C++
Написать блок-схему и программу вычисления функции на заданном промежутке и построить график этой функции C++

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

Или воспользуйтесь поиском по форуму:
Andrey.K
 Аватар для Andrey.K
338 / 259 / 15
Регистрация: 14.11.2010
Сообщений: 480
26.09.2012, 00:04     график функции на OpenGL #9
Цитата Сообщение от Герц Посмотреть сообщение
freeglut то слишком крут? Ну, извини :-)
Просто , если он не знает разницы, и не собирается даже прониктнуться, то думаю сложно будет. Поэтому вполне сойдет и на GLaux. Переделать не долго, опять повторюсь, решать ТС.
Yandex
Объявления
26.09.2012, 00:04     график функции на OpenGL
Ответ Создать тему
Опции темы

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