|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
|
Визуализировать точки в 3D, Linux18.09.2017, 19:32. Показов 4181. Ответов 12
Метки нет (Все метки)
Есть алгоритм на C++/OpenCV, он выдаёт массив координат в 3д. Как проще всего отрендерить их и вывести на экран? К сожалению пару раз пытался скомпилировать Viz и всё безуспешно. Есть еще способы?
0
|
|
| 18.09.2017, 19:32 | |
|
Ответы с готовыми решениями:
12
Визуализировать точки Рисовать (визуализировать) точки при нажатии мышкой Linux с точки зрения пользования и программирования |
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
| 18.09.2017, 20:09 | |
|
gnuplot, mathGL
meshlab свой велосипед glBegin(GL_POINTS); glVertex3f(x[i],y[i],z[i]); glEnd(); ну или просто руками каждую точку на матрицу помножить и на экран/в картинку вывести без openGL
0
|
|
|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
||
| 18.09.2017, 20:28 | ||
|
Как я понял это в OpenGL? Блин, я и забыл о нём! Кажется это то что мне нужно.
З.Ы. OpenCV с Viz упорно не хочет компилиться
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 18.09.2017, 22:32 | |
|
ИМХО запилить рисование с помощью OpenGL может и правильно, но вот простым glBegin...glEnd не обойдется. Надо заинициализировать для начала грамотно, потом настроить камеру и т.п. И опять таки - захочешь изображение покрутить/подвигать - так все руками делать придется (сложного ничего нет, но все равно код писать).
Можно скинуть координаты в файл, и потом построить поверхность/точки/тело в Matlab/GNU Octave. Матлаб он более юзер-френдли, октава - роднее для линуксов, т.к. можно сделать скрипт типа #! /usr/bin/octave . И там, и там построеный объект можно повертеть под разными углами. Gnuplot тоже хорошо, но имхо сложнее чем octave. Менее юзер-френдли. Но тоже можно закрутить скрипт.
0
|
|
|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
||||||
| 18.09.2017, 22:55 | ||||||
|
Мне надо в проге С++.
Быстрый вопрос: вижу что чтобы окно что-то показывало надо вызывать glutMainLoop(); которая будет крутиться бесконечно. А как просто отрисовать окно и вернуться к исполнению моего кода? Общий алгоритм такой: В цикле: - получаем данные от девайса. - Обрабатываем данные, получаем точки - Отрисовываем точки в окне - делаем еще кое-что типа логирования Конец цикла. Второй вопрос: в примере который попробовал координаты задаются числами меньше 1:
0
|
||||||
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
| 18.09.2017, 23:03 | |
|
gnuplot открывается через popen и ему отправляется единственная строка
fwrite("splot - wyth points\n") а затем координаты точек в ascii виде разделённые пробелами/табуляторами с \n в конце каждой строки. по окончании послать букву "e\n" всё, вылезет окошко с графиком (как тут http://gnuplot.sourceforge.net... atter.html), который можно мышкой крутить
0
|
|
|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
|
| 18.09.2017, 23:42 | |
|
Не совсем то что мне нужно но идеально для дебага алгоритма - что-то часто фигуру наизнанку выворачивает, видать точки плохо мапятся. Спасибо!
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 2,309
|
|
| 19.09.2017, 01:42 | |
|
2 soumt_imobti
GLUT не используй, он кривой до ужаса и старый. Используй GLFW: http://www.glfw.org/ Не разберешься сам, сообщи - помогу. Есть опыт.
0
|
|
|
0 / 0 / 0
Регистрация: 21.08.2011
Сообщений: 1,057
|
|
| 20.09.2017, 01:41 | |
|
Как в GLFW/GLUT вывести фигуру в окно и вернуться в главный цикл программы? Или нужен отдельный поток для рисования?
Мне хочется как в матлабе, отрисовал точки и погнал дальше.
0
|
|
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
| 20.09.2017, 02:19 | |
|
ну так
glClear(GL_COLOR_BUFFER_BIT); //почистили ...//нарисовали что хотели glfwSwapBuffers(window); //скинули на экран glfwPollIvimts(); //проверили пришедшие события, тем самым позвав соответсвующие колбэки //всё, дальше делаем что хотим.
0
|
|
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,183
|
|
| 20.09.2017, 10:49 | |
|
Так нужно крутить\скейлить потом этот график или просто картинку нарисовать?
0
|
|
|
0 / 0 / 0
Регистрация: 23.12.2016
Сообщений: 114
|
||
| 20.09.2017, 16:12 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
|
|
| 20.09.2017, 22:55 | |
|
Не надо glBegin, здесь нужен VBO. Я себе когда-то давно отрисовку в 3D поверхности 3k?3k делал. glBegin/glEnd и т.п. тормозили нестерпимо при любом масштабировании/перемещении, а вот VBO с полсекунды строил буфер, а потом все шустро работало.
0
|
|
| 20.09.2017, 22:55 | |
|
Помогаю со студенческими работами здесь
13
Подключение внешней Wi-fi точки доступа в Kali Linux Навигатор под Linux для определения широты и долготы точки, с точностью 14 знаков Linux Mint 18 работает с Wifi только при наличии пароля, открытые точки доступа не видит Какой линукс выбрать в школу? (ALT Linux, RED OS Linux или Астра Linux) Визуализировать 3Д-сцену Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|