Я новичок в Open Inventor (Coin3D) и имею следующую проблему:
У меня есть SoSelection, удерживающий корневой узел (также SoSeparator).И корневой узел содержит несколько узлов SoSeparator.Каждый из этих узлов SoSeparator содержит узел SoTransform и узел SoCube.
Когда я выбираю один узел куба, я хочу, чтобы все остальные кубы на определенном расстоянии до выбранного куба расположились в окружности вокруг выбранного куба.(Более того, все кубы должны быть на плоскости, чем) Дополнительная информация: Мои кубы всегда ориентированы в направлении камеры с помощью (cubeTransform _-> вращение .connectFrom (& camera _-> ориентация)
Предполагается, что выбранный кубцентр круга, как перевести остальные кубики в круг на плоскости (перпендикулярно вектору между выбранным кубом и камерой)? Особенно, как мне найти координаты на плоскости, на которой должен быть кругиметь определенное расстояние от оси (от центрального куба до камеры).
Я уже выполнил поиск всех кубов на определенном расстоянии, как только был выбран один куб. В результате я ужеиметь необходимые разделители (которые содержат соответствующие SoTransforms и SoCubes) в SoPathList. Теперь я хочу упорядочить кубы, изменив соответствующие значения перевода SoTransform->.
Regards Mark