Сенсоры и конусы обзора

Сенсоры в CesiumJS представляют собой параметризованные геометрические объёмы, используемые для визуализации зон обзора: камер, радаров, лидаров, спутниковых датчиков и систем наведения. Их основа — аналитически заданные поверхности второго порядка и конусы с усечением, объединённые в единую систему сценической геометрии.

На уровне концепции сенсор описывается набором параметров:

  • положение в мировых координатах (Cartesian3)
  • направление оси наблюдения
  • углы раскрытия (inner/outer half-angle)
  • дальность действия (radius)
  • тип аппроксимации поверхности (cone, pyramid, ellipsoid sector)
  • режим отображения (полный объём, только поверхность, только пересечение)

В CesiumJS такие объекты используются для анализа видимости, симуляции зон покрытия и построения динамических сцен наблюдения.


Конус обзора как базовая модель наблюдения

Конус обзора является фундаментальной геометрией для большинства сенсорных систем. В трёхмерном пространстве он определяется вершиной в точке установки датчика и направлением вдоль оси взгляда.

Математически конус задаётся набором параметров:

  • угол раскрытия θ
  • радиус R
  • направление оси d⃗

Геометрическая интерпретация

Каждая точка внутри конуса удовлетворяет условию:

  • угол между вектором направления и вектором к точке не превышает θ
  • расстояние до вершины не больше R

Такая модель применяется для:

  • камер наблюдения
  • инфракрасных сенсоров
  • направленных антенн
  • спутниковых сканеров

Камерный конус и frustum в CesiumJS

В CesiumJS камера имеет встроенную модель усечённой пирамиды обзора — view frustum. Она задаётся параметрами проекции:

  • PerspectiveFrustum
  • OrthographicFrustum

PerspectiveFrustum

Перспективная камера формирует усечённый конус, приближённый к пирамиде:

  • fieldOfView (угол обзора)
  • aspectRatio (соотношение сторон)
  • nearPlane / farPlane (границы глубины)

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

Связь с сенсорами

Frustum камеры используется как базовая модель:

  • определение видимости объектов
  • culling (отсечение невидимых объектов)
  • построение shadow volumes
  • анализ попадания в поле зрения

Сенсорные объёмы Cesium Sensor Volume

CesiumJS поддерживает расширенную модель сенсоров через концепцию SensorVolume, которая часто используется в CZML и специализированных визуализациях.

Основные типы:

1. Rectangular Sensor Volume

Прямоугольный сенсор представляет собой пирамиду с прямоугольным основанием.

Параметры:

  • horizontalHalfAngle
  • verticalHalfAngle
  • maximumDistance

Применяется в:

  • оптических системах
  • камерах с матрицей
  • системах слежения

2. Conic Sensor Volume

Конусообразный сенсор с круговым основанием.

Параметры:

  • outerHalfAngle
  • innerHalfAngle (для формирования «пустого» внутреннего конуса)
  • radius

Используется для:

  • радаров
  • направленных передатчиков
  • лидарных систем

3. Ellipsoidal Sensor Volume

Обобщённая модель, учитывающая эллипсоидальные искажения поля зрения.

Позволяет моделировать:

  • атмосферные эффекты
  • несимметричные зоны покрытия
  • спутниковые сканирующие системы

CZML и описание сенсоров

Cesium использует CZML как формат описания динамических сцен, включая сенсоры.

Пример структуры сенсора:

  • position
  • orientation
  • sensorVolume
  • material
  • showIntersection
  • portionToDisplay

PortionToDisplay

Параметр определяет, какая часть сенсора визуализируется:

  • VOLUME_ONLY — только объём
  • SURFACE_ONLY — только поверхность
  • COMPLETE — полный рендер

Это позволяет гибко управлять визуализацией без изменения геометрии.


Математика конуса и пересечения

Условие принадлежности точки конусу

Для точки P:

  • v⃗ = P - O
  • cos(α) = (v⃗ · d⃗) / (|v⃗| |d⃗|)

Точка принадлежит конусу, если:

  • cos(α) ≥ cos(θ)
  • |v⃗| ≤ R

Пересечение с объектами сцены

Cesium использует:

  • bounding spheres
  • axis-aligned bounding boxes (AABB)
  • oriented bounding boxes (OBB)

Алгоритм:

  1. Быстрая проверка сферы против конуса
  2. Уточнение через полиэдральную аппроксимацию
  3. Проверка вершин/граней объекта

Это важно для:

  • оптимизации рендеринга
  • анализа видимости
  • симуляции засветки

Материалы и визуализация сенсоров

Сенсорные объёмы не являются просто геометрией — они активно используют шейдеры.

Основные эффекты:

  • градиентная прозрачность по расстоянию
  • подсветка границ конуса
  • анимация сканирования (radar sweep)
  • интерференционные кольца

Шейдерная логика

Фрагментные шейдеры вычисляют:

  • угол отклонения от оси
  • нормализованную дистанцию
  • маску поверхности

На основе этого формируется альфа-канал и цветовая интерполяция.


Взаимодействие сенсоров с поверхностью Земли

При пересечении сенсорного конуса с геоидом Cesium Terrain система выполняет:

  • дискретизацию поверхности
  • проверку глубины (depth testing)
  • корректировку по высоте terrain

Особое значение имеет работа с:

  • Cesium3DTiles
  • terrain exaggeration
  • floating origin precision

Динамические сенсоры и анимация

Сенсоры редко являются статичными объектами. Типовые сценарии:

Поворот платформы

  • изменение orientation quaternion
  • пересчёт оси конуса

Сканирование

  • изменение азимутального угла
  • пилообразная или синусоидальная траектория

Импульсные системы

  • изменение радиуса во времени
  • эффект «пульсации» зоны покрытия

Производительность и оптимизация

Сенсорные объёмы относятся к тяжёлым для GPU объектам при высокой детализации.

Основные методы оптимизации:

  • LOD для геометрии конуса
  • ограничение сегментации окружности
  • батчинг материалов
  • отсечение вне камеры (frustum culling)
  • использование billboarding для дальних объектов

Применение в аналитических системах

Сенсоры используются не только визуально, но и как аналитический инструмент:

  • анализ зон радиопокрытия
  • моделирование наблюдения со спутников
  • расчёт «видимости» объектов в городе
  • военные и авиационные симуляции
  • планирование размещения антенн

Геометрия пересечения нескольких сенсоров

При наложении нескольких конусов возникает задача:

  • вычисление пересечения объёмов
  • построение зон общего покрытия
  • выявление «слепых зон»

Методы:

  • булевы операции над полигональными аппроксимациями
  • voxel-based анализ
  • аналитическое пересечение конусов через систему неравенств

Связь сенсоров с системой координат Cesium

Cesium использует глобальную систему WGS84 и локальные касательные системы:

  • East-North-Up (ENU)
  • North-East-Down (NED)

Сенсорные оси обычно определяются в локальном пространстве объекта и затем преобразуются в мировое через матрицы:

  • modelMatrix
  • orientation quaternion

Это обеспечивает корректную ориентацию при движении по глобусу.


Расширенные модели обзора

Помимо классических конусов используются гибридные модели:

  • секторные пирамиды с нелинейным затуханием
  • сенсоры с искажённой апертурой
  • адаптивные зоны обзора с изменяемой геометрией

Такие модели применяются в высокоточных симуляциях, где стандартный конус недостаточен для физической достоверности.