Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2013, 17:28   #1
Falcao
Пользователь
 
Регистрация: 29.11.2012
Сообщений: 33
По умолчанию Диаграмма

Ребята! Помогите, СРОЧНО! Есть 2 задачи, нужно решить хотя бы 1, с помощью OpenGL.
1. Построить спираль Ферма
2. Построить столбчатую диаграмму, отражающую рост цен (в процентах) на основные продукты питания (хлеб, молоко, масло, мясо, крупы, овощи и фрукты) за прошлый год. Данные хранятся в массиве P [1 ... 6].

Кому не сложно, помогите, или ссылки дайте, очень нужно

Есть наработка, но нерабочая, по спирали

Код:
#include <GL/glut.h>
#include <math.h>


void glFermatSpiral(float a=150.0, float b=3.14/180, float thetaStart=10.0, float thetaEnd=150.0, unsigned int samples = 200 ) //скорее всего тут неверно
{
    glBegin( GL_LINE_STRIP );

    float dt = (thetaEnd - thetaStart) / (float)samples;

    for( unsigned int i = 0; i <= samples; ++i )
    {
        
        float theta = thetaStart + (i * dt);
        
        float r = sqrtf( theta );

     
        float x = r * cosf( theta );
        float y = r * sinf( theta );


        glVertex2f( x, y );

        x = -r * cosf( theta );
        y = -r * sinf( theta );

        glVertex2f( x, y );
    }

    glEnd();
}

void Initialize()
{
   glClearColor(0.0,0.0,0.0,1.0);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(-320.0,320.0,-240.0,240.0,-200.0,200.0); 

}

int main(int argc,char** argv)
{

	glutInit(&argc, argv); 
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); 
	glutInitWindowSize(640,480);
	glutInitWindowPosition(100,200); 
	glutCreateWindow("Number2");
	glutDisplayFunc(glFermatSpiral()); 
	Initialize();
	glutMainLoop();
	return 0;
}
а ошибки показывает такие:

error C2664: glutDisplayFunc: невозможно преобразовать параметр 1 из "void" в "void (__cdecl *)(void)

и из неё вытекающую

IntelliSense: аргумент типа "void" несовместим с параметром типа "void (*)()"

Надеюсь на помощь
Falcao вне форума Ответить с цитированием
Старый 04.06.2013, 17:57   #2
Falcao
Пользователь
 
Регистрация: 29.11.2012
Сообщений: 33
По умолчанию

Так ошибки нет, но при выводе - белый экран...

Код:
#include <GL/glut.h>
#include <math.h>


void FermatSpiral( )
{
    float a=150.0, b=3.14/180, thetaStart=10.0, thetaEnd=150.0, samples = 200;
	
	
	glBegin( GL_LINE_STRIP );

    float dt = (thetaEnd - thetaStart) / (float)samples;

    for( unsigned int i = 0; i <= samples; ++i )
    {
     
        float theta = thetaStart + (i * dt);
        
        float r = sqrtf( theta );

      
        float x = r * cosf( theta );
        float y = r * sinf( theta );

       
        glVertex2f( x, y );

        x = -r * cosf( theta );
        y = -r * sinf( theta );

        glVertex2f( x, y );
    }

    glEnd();
}

void Initialize()
{
   glClearColor(0.0,0.0,0.0,1.0);
   glMatrixMode(GL_PROJECTION);
   glLoadIdentity();
   glOrtho(-320.0,320.0,-240.0,240.0,-200.0,200.0); 

}

int main(int argc,char** argv)
{
 
	glutInit(&argc, argv); 
	glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); 
	glutInitWindowSize(640,480);
	glutInitWindowPosition(100,200); 
	glutCreateWindow("Number2"); 
	glutDisplayFunc(FermatSpiral); 
	Initialize();
	glutMainLoop();
	return 0;
}
Falcao вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
диаграмма Артл Microsoft Office Excel 5 26.03.2011 19:43
диаграмма TALGAT777 Помощь студентам 1 25.03.2011 17:09
Диаграмма guckaboss Microsoft Office Access 1 24.02.2011 19:11
Диаграмма skiffter Компоненты Delphi 18 13.10.2009 20:18
Диаграмма Людмилка Microsoft Office Excel 0 24.10.2008 06:51