Параметры: - angle: Определяет угол раскрытия четырёхугольной пирамиды. - angle2: Второй угол раскрытия четырёхугольной пирамиды. Эти параметры используются для настройки угловых характеристик четырёхугольной пирамиды.
Номер версии: 3.7.17 Версия Cesium: 1.118.2
http://mars3d.cn/api/FrustumPrimitive.html#.StyleOptions
Проблема: В документации не указано, какие два угла поддерживаются в параметрах StyleOptions для четырёхугольной пирамиды (angle, angle2).
Ожидаемое решение: Нужна информация о названии двух углов (например, ∠AOB) или формула для вычисления этих углов с использованием значения FOV.
Поле зрения (FOV) может быть разделено на горизонтальное поле зрения (HFOV), вертикальное поле зрения (VFOV) и диагональное поле зрения (DFOV) в зависимости от направления измерения.
Горизонтальное поле зрения (HFOV) представляет собой угол в горизонтальном направлении. Вертикальное поле зрения (VFOV) представляет собой угол в вертикальном направлении. Диагональное поле зрения (DFOV) представляет собой угол между двумя диагональными линиями. Конкретные области измерения показаны на следующем рисунке.
Знание условий: 1) относительное расстояние до точки съёмки (то есть вертикальное расстояние от вершины четырёхугольной пирамиды до её основания); 2) углы FOV.
Содержание расчёта: требуется восстановление реального диапазона съёмки камеры в системе.
// Можно привести содержимое кода здесь
const graphicFrustum = new mars3d.graphic.FrustumPrimitive({
position: [113.48387,23.176388,107.836],
style: {
angle2: 47.342,
angle: 64.727,
pitch: -90, // вертикальный вид сверху
length: 12,
color: "#FF0000",
opacity: 0.3,
outline: true,
outlineColor: "#ffffff",
outlineOpacity: 1.0,
heading: 283.3,
},
asynchronous: false,
})
graphicLayer.addGraphic(graphicFrustum)
Результат отличается от фактического поля зрения
Результат совпадает с фактическим полем зрения