3D-изображение PDF не перемещается должным образом

StackOverflow https://stackoverflow.com/questions/2240924

  •  19-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь поместить 3D-модель в файл PDF.Когда я загружаю PDF-файл в Acrobat, он появляется.

Однако, когда я использую поворот, вращение или ручное управление, трехмерное изображение остается в той же ориентации, в то время как точка обзора камеры, кажется, указывает в разных направлениях, поэтому даже небольшое вращение приведет к отправке изображения за пределы экрана, если я не уменьшу масштаб. .Это противоположность тому, как это должно работать:камера должна оставаться неподвижной, пока 3D-изображение вращается.

Я третий человек, работающий над этим кодом, и это видно.Программное обеспечение представляет собой комбинацию libharu, кода U3D от Sourceforge (по сути, устаревшего кода Intel) и некоторых вещей, написанных стажером.

Итак, кто-нибудь видел что-нибудь подобное и выяснил, почему это происходит?Есть ли какая-нибудь ссылка на программное создание PDF-файла с 3D-изображениями, которая лучше объясняет вещи, чем стандарт PDF?Любые другие предложения о том, как подойти к этому?

Это было полезно?

Решение

Я понял.

В спецификации PDF, раздел 13.6.4, есть определение точки обзора камеры.Он включает в себя несколько вещей, одну из которых я сначала не совсем понял:значение CO.Это устанавливает центр вращения точки обзора, который представляет собой значение CO непосредственно перед камерой.

Произошло следующее: в данном случае в СО попало отрицательное число.Это поместило центр вращения на некоторое количество отрицательных единиц перед камерой, а это означало, что центр вращения находился позади камеры.Это означало, что точка зрения перемещалась по сфере на некотором расстоянии от изображения и поэтому не могла обойти изображение, но могла указывать от него.

Для тех, кто программно создает 3D-изображение в формате PDF: если у вас есть значение CO, убедитесь, что оно положительное.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top