Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140

Стоит ли делать свой класс вектора для задачи трассировки лучей

03.05.2022, 13:36. Показов 739. Ответов 5

Студворк — интернет-сервис помощи студентам
Стоит ли делать собственный класс векторов размерности 3 для задачи трассировки лучей?
Или достаточно использовать вектор std::vector и писать функции с ним?
Вопрос именно про время работы и влияние на производительность, сильно ли влияет на скорость работы программы использование std::vector вместо собственного вектора, который контейнером не является
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.05.2022, 13:36
Ответы с готовыми решениями:

Алгоритм трассировки лучей
Нарисовать 3д объект, сделать его анимацию. Невидимые грани удалять с помощью алгоритма трассировки лучей... Закрасить видимые грани...

Алгоритм трассировки лучей
Нужна помощь в реализации алгоритма трассировки лучей в MathCAD

Алгоритмы Варнока и трассировки лучей на C++
Привет,всем.Извините за наглость,но ни у кого нет реализованных на с++ алгоритмы Варнека и трассировки лучей без использования графических...

5
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
03.05.2022, 13:38
Цитата Сообщение от dsfds Посмотреть сообщение
сильно ли влияет на скорость работы программы использование std::vector
Всё же зависит от того, как вы его используете, а не от факта использования.
0
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
03.05.2022, 13:40  [ТС]
Использую в качестве обычного вектора в 3-х мерном пространстве, обращаюсь к 0,1,2 элементам через [], и выполняю базовые операции векторов
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
03.05.2022, 13:41
Цитата Сообщение от dsfds Посмотреть сообщение
Использую в качестве обычного вектора в 3-х мерном пространстве
Не, не надо так...

Вы можете взять библиотеку GLM, так уже всё есть.
1
0 / 0 / 0
Регистрация: 24.10.2020
Сообщений: 140
03.05.2022, 13:42  [ТС]
То есть влияние на производительность достаточно значительное?
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
03.05.2022, 13:45
Лучший ответ Сообщение было отмечено dsfds как решение

Решение

dsfds, вектор подойдет разве только, если у вас будет N-мерное пространство и N может быть произвольным.
Вектор по сути - массив чего-то. Причем с запасом, да еще и сам массив в динамической памяти.

В вашем случае вам достаточно какого-нибудь класса по типу Point3D.
Например, можете посмотреть в исходниках SFML устройство sf::Vector3.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.05.2022, 13:45
Помогаю со студенческими работами здесь

Пример трассировки лучей в искривлённом пространстве на WebGL
Решил поделиться) Статья лежит на habr https://m.habr.com/ru/post/456296/ Исходники на git...

Программа "Прямой алгоритм трассировки лучей"
Программа "Прямой алгоритм трассировки лучей" Описание: 1 источник света и 1 препятствие источник точечный препятствие - линия ...

Закончил я делать свой контроллер для ЧПУ.
Вот что получилось http://itimimtus.ru/public_html/WD/orshives/921

Создать класс Вектор на плоскости (поля-координаты начала и конца вектора).Реализовать для него методы:конструктор,вычисление координат самого вектора
Создать класс Вектор на плоскости (поля-координаты начала и конца вектора).Реализовать для него методы:конструктор,вычисление координат...

На чем стоит делать сайт для заказчика?
Если делать с нуля, то как заказчик будет вносить изменения в сайт?(Он еще похуже меня скорее всего в этой теме будет), у CMS функционал...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. На мобильном - сканируйте QR-код. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
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. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru