Сообщество программистов Autodesk в СНГ

ADN Club => Другие продукты Autodesk => Navisworks API => Тема начата: Александр Пекшев aka Modis от 14-09-2021, 15:40:00

Название: Как задать Поле зрения?
Отправлено: Александр Пекшев aka Modis от 14-09-2021, 15:40:00
Всем привет!

Никак не могу разобраться со свойством "Поле зрения" - оно же Viewpoint.HeightField (https://apidocs.co/apps/navisworks/2018/P_Autodesk_Navisworks_Api_Viewpoint_HeightField.htm).

В описании сказано:
Цитировать
Defines camera field of view in combination with aspect ratio. For a perspective camera, this is the vertical field of view (the angle between top and bottom planes of the camera view frustum). For an orthographic camera, this is the distance between top and bottom planes of the camera view frustum. Default 0.785398 (45 degrees)
Машинный перевод:
Цитировать
Определяет поле зрения камеры в сочетании с соотношением сторон. Для перспективной камеры это вертикальное поле зрения (угол между верхней и нижней плоскостями фрагмента изображения камеры). Для ортографической камеры это расстояние между верхней и нижней плоскостями области обзора камеры. По умолчанию 0,785398 (45 градусов).

Мой случай - перспективная камера.

Какое число задавать - ума не приложу. В UI самой программы я задаю градусы. Но проблема в том, что если я меняю размер окна, то поле зрения тоже меняется. Но потом я могу его снова установить, указав нужное значение. Но как правильно посчитать нужное число программно?
Название: Re: Как задать Поле зрения?
Отправлено: Александр Ривилис от 14-09-2021, 16:05:05
Какое число задавать - ума не приложу.
Ну вообще-то угол между верхней и нижней плоскостями усечения.
Название: Re: Как задать Поле зрения?
Отправлено: Александр Пекшев aka Modis от 14-09-2021, 16:10:02
От правильности перевода легче не становится.
Вот нужно мне задать 40 градусов - что мне нужно измерять?

А если брать значение из этого свойства, то становится еще запутаннее

(https://i.postimg.cc/MfwTks8N/Screenshot-5.png) (https://postimg.cc/MfwTks8N)
Название: Re: Как задать Поле зрения?
Отправлено: Александр Ривилис от 14-09-2021, 16:16:53
Судя по цифрам это должно быть HeightField = 40 / 180 * PI / Aspect Ratio
Впрочем могу ошибаться.
Название: Re: Как задать Поле зрения?
Отправлено: Александр Пекшев aka Modis от 14-09-2021, 16:30:16
Да, получается очень похожее число. Разница +-градус. Правда и размер окна влияет на получаемое значение.
Т.е. все-же как-то по-другому нужно высчитывать

P.S. Screencast сказал, что на Нэвис ставиться не будет, поэтому прикладываю просто видео-файл
Название: Re: Как задать Поле зрения?
Отправлено: Александр Ривилис от 14-09-2021, 16:54:34
P.S. Screencast сказал, что на Нэвис ставиться не будет, поэтому прикладываю просто видео-файл
Даже если он не ставится на Navisworks, то ему можно указать какое приложение обрабатывать.