Лучший способ представления 3D-объектов в javascript

#javascript #data-structures #3d

#javascript #структуры данных #3D

Вопрос:

Я хочу представлять 3D-объекты в javascript. На самом деле, я хочу представить объекты в видео (которые были бы x, y и time, так что это похоже на 3D-объект). У меня будет набор объектов, которые определяются границами X, Y и Z (время). Будет функция getObject(x,y,z) , которая при задании точки (X, Y, Z) вернет объект, в котором содержится эта точка. Не будет перекрывающихся объектов, поэтому каждая точка может быть сопоставлена только одному объекту.

Я мог бы использовать 3D-массив, который превращается в очень быструю функцию GetObject, но тогда у меня было бы огромное количество данных, что было бы проблемой, поскольку это веб-приложение. С другой стороны, я мог бы сделать это, сохранив только границы x, y и z для каждого объекта, но тогда функция GetObject работала бы медленнее, поскольку ей пришлось бы выполнять итерации по всем объектам.

Я уверен, что с этой проблемой проектирования сталкивались раньше многие люди.

Комментарии:

1. Если у вас есть «огромное количество данных», вы уверены, что JavaScript является правильным инструментом для вас?

2. Ну, я пока не знаю, будет ли это огромный объем данных, но я хочу быть уверен, что спроектировал его оптимизированным образом. Javascript является обязательным. Спасибо

Ответ №1:

Трудно сказать, не зная более подробной информации о вашей проблеме (размер / форма ваших объектов, требования к среде выполнения), но вас может заинтересовать структура данных Octree, которая обычно используется менеджерами 3D-сцен.