Примечания по цезию (7): камера и поле зрения, конфигурация масштабирования и вращения карты движения цезия.
Примечания по цезию (7): камера и поле зрения, конфигурация масштабирования и вращения карты движения цезия.

Камера может управлять нашим полем зрения в сцене. По умолчанию работа камеры выглядит следующим образом:

  • Щелкните левой кнопкой мыши и перетащите — переместите всю карту.
  • Щелкните правой кнопкой мыши и перетащите — увеличивает и уменьшает масштаб камеры.
  • Прокрутка среднего колеса также позволяет приближать и отдалять камеру.
  • Щелкните средней кнопкой мыши и перетащите — вращает камеру вокруг точки на поверхности Земли.

Официальная документация: https://cesium.com/docs/cesiumjs-ref-doc/Camera.html.

Просмотр карты с одной точки зрения, пример настройки

Язык кода:javascript
копировать
let { scene, camera ,screenSpaceCameraController} = viewer
// Отключить события по умолчанию
scene.screenSpaceCameraController.enableRotate = false;//отключить вращение
scene.screenSpaceCameraController.enableTranslate = false;// Движение запрещено
scene.screenSpaceCameraController.enableZoom = false;//отключить масштабирование
scene.screenSpaceCameraController.enableTilt = false;//Отключаем наклон камеры
scene.screenSpaceCameraController.enableLook = false;
let cameraHeight = 1.1e7
//Минимальная высота камеры, которая контролирует уровень увеличения
screenSpaceCameraController.minimumZoomDistance = cameraHeight * 1.5
//Максимальная высота камеры, которая контролирует уровень масштабирования
screenSpaceCameraController.maximumZoomDistance = cameraHeight * 3
let pointDestination=Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0);//Точка обзора
let прямоугольникDestination=Cesium.Rectangle.fromDegrees(0,20,10,30);//Область поля зрения состоит из четырех градусов [запад, юг, восток, север]
scene.camera.setView({
   destination: pointDestination,
   orientation: {
     heading: 6.283185307179586,
     pitch: -1.5707963267948966,
     roll: 0
   }
})

Как управлять камерой

Теоретические аспекты,Можно обратиться к《Примечания к трехмерному вращению: углы Эйлера/кватернионы/матрица вращения/углы оси – организация точек памяти.

Цезий, параметры вращения камеры:

  • Крен – это вращение вокруг оси X.
  • Шаг — это вращение вокруг оси Y.
  • Курс вращается вокруг оси Z.

Распространенные способы эксплуатации камер в Цезии

  • Карта FlyHome(duration) возвращается в исходное положение, чтобы установить вид по умолчанию для 3D-сцены.
  • flyTo(options),Flies the camera from its current position to a new position.
  • lookAt(target, offset):lookAt(center, new Cesium.HeadingPitchRange(Cesium.Math.toRadians(9), Cesium.Math.toRadians(9), 100))
  • setView(options),Sets the camera position, orientation and transform,Есть два способа
    • Cartesian3:destination : Cesium.Cartesian3.fromDegrees(116.435314,39.960521, 15000.0),
    • rectangle: destination :Cesium.Rectangle.fromDegrees(0.0, 20.0, 10.0, 30.0),//west, south, east, north

FlyTo может устанавливать больше параметров, чем setView.

Язык кода:javascript
копировать
view.camera.flyTo({  
  destination :Cesium.Cartesian3.fromDegrees(116.435314,39.960521, 15000.0), // Установить местоположение
  orientation: {    heading :Cesium.Math.toRadians(20.0), // направление
    pitch :Cesium.Math.toRadians(-90.0),// угол наклона
    roll :0
  },  
  duration:5, // Установите продолжительность полета, которая по умолчанию будет рассчитываться на основе расстояния.
  complete:function () {//TODO}, // Функция обратного вызова, выполняемая после достижения позиции
  cancle:function () {//TODO},   // Эта функция будет вызвана в случае отмены рейса.
  pitchAdjustHeight:-90, // Если камера пролетает выше этого значения, угол тангажа корректируется и земля остается в окне просмотра.
  maximumHeight:5000, // Максимальная высота полета камеры
  flyOverLongitude:100, // Если есть 2 способа добраться до пункта назначения,После установки конкретного значения выбор будет принудительным.направлениелететь через эту долготу(этот,Очень полезно)});

Справочные статьи:

Примечания к исследованию цезия (4): камера https://blog.csdn.net/UmGsoil/article/details/74518960

ПерепечаткаЭтот сайтстатья《Примечания по цезию (7): камера и поле зрения, конфигурация масштабирования и вращения карты движения цезия.》, Пожалуйста, укажите источник:https://www.zhoulujun.cn/html/GIS/cesium/8333.html

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose