|
0 / 0 / 4
Регистрация: 16.02.2013
Сообщений: 123
|
||||||
Как сделать разметку на координатных осях по данному графику?16.06.2013, 00:39. Показов 2663. Ответов 1
Метки нет (Все метки)
график выводится,функция нужная тоже, а как можно сделать разметку координатных осей и подписать их не пойму
. подскажите пожалуйста, что нужно сделать.
0
|
||||||
| 16.06.2013, 00:39 | |
|
Ответы с готовыми решениями:
1
единица на координатных осях
|
|
5 / 5 / 0
Регистрация: 27.10.2012
Сообщений: 21
|
|
| 16.06.2013, 15:34 | |
|
для начала нужна функция вывода текста, например(у меня эта функция обернута в класс):
class cGLTEXT{ public: GLuint base;// База списка отображения для фонта GLvoid BuildFont(){// Построение нашего растрового шрифта HFONT font; // Идентификатор фонта base = glGenLists(96); // Выделим место для 96 символов ( НОВОЕ ) font = CreateFont( -16, // Высота фонта ( НОВОЕ ) 0, // Ширина фонта 0, // Угол отношения 0, // Угол наклона FW_BOLD, // Ширина шрифта FALSE, // Курсив FALSE, // Подчеркивание FALSE, // Перечеркивание ANSI_CHARSET, // Идентификатор набора символов OUT_TT_PRECIS, // Точность вывода CLIP_DEFAULT_PRECIS, // Точность отсечения ANTIALIASED_QUALITY, // Качество вывода FF_DONTCARE|DEFAULT_PITCH, // Семейство и шаг L"Courier New"); // Имя шрифта. Примеры: Verdana, Fixedsys, Small Fonts, Georgia SelectObject(hDC, font); // Выбрать шрифт, созданный нами ( НОВОЕ ) wglUseFontBitmaps(hDC, 32, 96, base); // Построить 96 символов начиная с пробела ( НОВОЕ ) } GLvoid KillFont(){// Удаление шрифта glDeleteLists(base, 96); // Удаление всех 96 списков отображения ( НОВОЕ ) } GLvoid glPrint(const char *fmt, ...){// Заказная функция «Печати» GL char text[256]; // Место для нашей строки va_list ap; // Указатель на список аргументов if (fmt == NULL) return; // если нет текста, то ничего не делать va_start(ap, fmt); // Разбор строки переменных vsprintf(text, fmt, ap); // И конвертирование символов в реальные коды va_end(ap); // Результат помещается в строку glPushAttrib(GL_LIST_BIT); // Протолкнуть биты списка отображения ( НОВОЕ ) glListBase(base - 32); // Задать базу символа в 32 ( НОВОЕ ) glCallLists(strlen(text), GL_UNSIGNED_BYTE, text);// Текст списками отображения(НОВОЕ) glPopAttrib(); // Возврат битов списка отображения ( НОВОЕ ) } }; cGLTEXT *gltext = new cGLTEXT; // это пример обьявления обьекта класса пример использования: float a = 100; gltext->glRasterPos2f(-128, -4); // устанавливаем координаты вывода gltext->glPrint("FPS: %1f", a); // выводим текст ну и простой пример рисования координатных осей и нанесения шкалы: // рисование осей glBegin(GL_LINES); glColor3ub(250,100,100); glVertex3f(-100,0,0); glVertex3f(100,0,0);//x glColor3ub(100,250,100); glVertex3f(0,-100,0); glVertex3f(0,100,0);//y glEnd(); // обозначения осей glColor3ub(255,255,255); gltext->glRasterPos3f(0,0,0); glPrint("0"); gltext->glRasterPos3f(3,0,0); glPrint("X"); gltext->glRasterPos3f(0,3,0); glPrint("Y"); // разметка for(int p = 1; p < 22; p++){ gltext->glRasterPos3f(p,0,0); glPrint("%1i", p); gltext->glRasterPos3f(0,p,0); glPrint("%1i", p); } Добавлено через 7 минут и еще забыл, для этой функции надо добавить в начале кода #include <stdarg.h>
1
|
|
| 16.06.2013, 15:34 | |
|
Помогаю со студенческими работами здесь
2
Вывести в координатных осях график, заданный функцией Если точка не лежит на координатных осях, то вывести 0
Если точка не лежит на координатных осях, то вывести 0 Построение трёхмерных графиков в одних координатных осях Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|