У меня есть сфера и коробки, которые должны быть зданиями на нем.И я хочу повернуть прямоугольники (вокруг осей xy и z) так, чтобы они были обращены в сторону от сферы, как обычные здания, учитывая долготу и широту прямоугольников (также координаты x, y, z).
Я надеюсь, что вы можете помочь мне с моей проблемой, любая помощь будет признательна:)
Я пробовал много поворотов, используя долготу и широту, но ни одна из них не сработала.Я также думал об использовании вектора из центра Сферы в положение зданий, чтобы определить вращение, но не смог найти решение.
var lat = i; //-90 to 90
var lon = j; //-180 to 180
var height = 10;
var width = 10;
var length = 10;
var xyz = getXYZ(lat, lon, sphereradius, height);
var boxE3 = document.createElement('a-box');
boxE3.setAttribute('material', {
color: getRandomColor()
});
boxE3.setAttribute('rotation', {
x: 0,
y: lat, //Rotation that needs to be correctly set.
z: lon
});
boxE3.setAttribute('position', {
x: xyz[0],
y: xyz[1],
z: xyz[2]
});
boxE3.setAttribute('scale', {
x: length,
y: height,
z: width
});
sceneEl.appendChild(boxE3);
}
Фактический результат:
Требуется результат: