способ навигации в многомасштабной трехмерной сцене
Классы МПК: | G06T17/40 манипулирование трехмерными (3D) изображениями, например с использованием CAD установок графического автоматического проектирования |
Автор(ы): | ФЛЕРИ Симон Г. (US) |
Патентообладатель(и): | ШЛЮМБЕРГЕР ТЕКНОЛОДЖИ Б В (NL) |
Приоритеты: |
подача заявки:
2002-09-05 публикация патента:
20.04.2007 |
Изобретение относится к навигации в трехмерной сцене на дисплее. Его использование при оперировании с компьютерным отображением трехмерного объекта позволяет получить технический результат в виде удержания представляющей интерес точки на объекте при любых манипуляциях с этим объектом, и чтобы при этом объект оставался в центре окна на дисплее. Этот результат достигается благодаря тому, что связывают представляющую интерес точку с опорной формой, при этом опорная форма отслеживает форму наблюдаемого трехмерного объекта в наблюдаемой трехмерной сцене, а представляющая интерес точка поддерживается в пределах наблюдаемого трехмерного объекта, и отображают сцену согласно запрашиваемому пользователем действию навигации в наблюдаемой трехмерной сцене, удерживая при этом представляющую интерес точку в пределах опорной формы и в пределах области наблюдения. Действия навигации в двухмерном представлении трехмерного объекта включают в себя поворот, перемещение и изменение масштаба. 2 н. и 17 з.п. ф-лы, 10 ил.
Формула изобретения
1. Способ навигации трехмерной сцены в области наблюдения, заключающийся в том, что связывают представляющую интерес точку с опорной формой, при этом опорная форма отслеживает форму наблюдаемого трехмерного объекта в наблюдаемой трехмерной сцене, а представляющая интерес точка поддерживается в пределах наблюдаемого трехмерного объекта, и отображают сцену согласно запрашиваемому пользователем действию навигации в наблюдаемой трехмерной сцене, удерживая при этом представляющую интерес точку в пределах опорной формы и в пределах области наблюдения.
2. Способ по п.1, отличающийся тем, что запрашиваемое пользователем действие навигации выбирают из поворота, перемещения и изменения масштаба.
3. Способ по п.1, отличающийся тем, что упомянутая представляющая интерес точка содержит информацию трехмерной сцены при выполнении запрашиваемого пользователем действия навигации.
4. Способ по п.3, отличающийся тем, что информация трехмерной сцены содержит по меньшей мере одно из увеличения сцены, глобальной ориентации и локальной ориентации.
5. Способ по п.1, отличающийся тем, что упомянутая представляющая интерес точка зафиксирована в точке, находящейся в пределах области наблюдения.
6. Способ по п.5, отличающийся тем, что в качестве упомянутой точки используют центр области наблюдения.
7. Способ по п.1, отличающийся тем, что трехмерный объект содержит нитевидный объект.
8. Способ по п.7, отличающийся тем, что нитевидный объект содержит представление траектории скважины.
9. Способ по п.8, отличающийся тем, что опорная форма представляет собой провод.
10. Способ по п.8, отличающийся тем, что опорная форма представляет собой цилиндр.
11. Способ по п.8, обличающийся тем, что опорная форма представляет собой цилиндрическую поверхность, по существу, вдоль траектории скважины.
12. Способ по п.1, обличающийся тем, что трехмерный объект является представлением сети.
13. Способ по п.12, отличающийся тем, что сеть представляет собой трубопроводы.
14. Способ по п.12, отличающийся тем, что опорная форма представляет собой кривые линии, проходящие, по существу, вдоль сети.
15. Способ по п.12, отличающийся тем, что опорная форма представляет собой цилиндрические поверхности, проходящие, по существу, вдоль сети.
16. Система для отображения трехмерного объекта, содержащая двухмерный дисплей для отображения двухмерного представления трехмерного объекта и компьютер, функционально связанный с двухмерным дисплеем и имеющий программу для отображения трехмерного объекта на двухмерном дисплее, обеспечивающую возможность перемещения, изменения масштаба и поворота представления, ограничивая при этом представляющую интерес точку в пределах опорной формы, и окна просмотра на двухмерном дисплее, при этом опорная форма отслеживает форму наблюдаемого трехмерного объекта, а представляющая интерес точка поддерживается в пределах наблюдаемого трехмерного объекта.
17. Система по п.16, отличающаяся тем, что программа обеспечивает отображение представляющей интерес точки с информацией сцены для трехмерной сцены, при этом выполняется перемещение, изменение масштаба или поворот.
18. Система по п.17, отличающаяся тем, что информация сцены содержит информацию, выбранную из коэффициента увеличения, глобальной ориентации и локальной ориентации.
19. Система по п.16, отличающаяся тем, что программа обеспечивает исполнение запрашиваемого пользователем преобразования со скоростью, зависящей от коэффициента увеличения сцены.
Описание изобретения к патенту
Область техники
Настоящее изобретение относится к способам навигации в трехмерной сцене на дисплее.
Предшествующий уровень техники
Трехмерные объекты обычно представляются на дисплеях компьютеров в двух измерениях. Такие компьютерные отображения позволяют пользователям рассматривать трехмерные объекты посредством поворота, перемещения, а также увеличения или уменьшения масштаба отображаемых сцен. Поворот, перемещение и изменение масштаба в дальнейшем будут именоваться общим термином "запрашиваемое пользователем действие" (т.е. в данном контексте запрашиваемое пользователем действие относится к "движениям" и не включает в себя изменений цвета и освещенности или текстурных отображений). Большинство известных пакетов программ для трехмерной визуализации реагирует на запрашиваемые пользователем действия перемещением точки наблюдения (взгляда наблюдателя или камеры) по трехмерной сцене. Операции поворота и изменения масштаба выполняются относительно некоторой точки поворота, которой обычно является представляющая интерес точка (ПИТ). ПИТ либо устанавливается в центре дисплея по умолчанию, либо выбирается пользователем через устройство ввода (например, мышь или клавиатуру). Когда пользователь выбирает какое-либо место на двухмерном дисплее в качестве ПИТ, программа просмотра обычно пытается связать данную ПИТ с ближайшей точкой на трехмерном объекте. Однако из-за несовершенства отображения трехмерного объекта на двухмерном дисплее ПИТ часто выходит за пределы трехмерного объекта. Это несовершенство приводит к разделению (смещению) между ПИТ и трехмерным объектом. Такое смещение обычно незначительно и изначально незаметно. Однако после поворота или изменения масштаба оно становится заметным. В результате представляющая интерес область на трехмерном объекте после поворота или изменения масштаба будет смещена к стороне области наблюдения или полностью выйдет из нее.
Описанная выше проблема проиллюстрирована на фиг.1А и 1В. На фиг.1А нитевидный трехмерный объект 11 отображен на двухмерном дисплее 10 (или окне просмотра). В типичной программе просмотра представляющая интерес точка (ПИТ) 12 отображается в точке на трехмерном объекте 11, расположенном вокруг центра окна 10. Как отмечалось выше, из-за сложности отображения трехмерного объекта 11 в окне 10 двухмерного дисплея ПИТ 12 часто не отображается точно на трехмерном объекте 11. Эта неточность приводит к тому, что ПИТ 12 размещается на участке, слегка смещенном относительно планируемого места на трехмерном объекте. Такое смещение обычно слишком мало, чтобы быть заметным в сцене (см. фиг.1А), до тех пор, пока на трехмерном объекте 11 не будет выполнена операция изменения масштаба или поворота. ПИТ 12 является точкой поворота для операций поворота и изменения масштаба. На фиг.1 В показана сцена после операции изменения масштаба. "Небольшое" смещение на фиг.1А стало хорошо заметно на фиг.1В. В результате этого смещения трехмерный объект 11 теперь сдвинут от центра и находится в углу окна 10 отображения (фиг.1В). Такая же проблема может возникать при операции поворота из-за изменения угла наблюдения. На фиг.1А ПИТ 12 может казаться совпадающей с трехмерным объектом 11. Однако это совпадение может быть вызвано просто случайным совмещением с направлением линии взгляда и после поворота станет заметно разделение между ПИТ 12 и трехмерным объектом 11. Если это случится, то трехмерный объект 11 сместится к стороне окна 10 просмотра, как показано на фиг.1В. Для возврата трехмерного объекта 11 в центр окна 10 пользователь обычно должен выполнить операцию перемещения. Эта дополнительная операция может вызывать раздражение и требовать времени, особенно, если на трехмерном объекте часто выполняются операции изменения масштаба и поворота.
В патенте США 5276765 (MacKinley et al.) описан способ решения этой проблемы. В нем предложено представлять круг или другую форму на поверхности объекта, когда пользователь перемещает ПИТ, чтобы помочь пользователю в позиционировании ПИТ. Этот способ уменьшает вероятность того, что ПИТ сместится за пределы трехмерного объекта. В другом известном аналоге, патенте США 5798761 (Isaacs), описаны способы отображения движения двухмерного курсора на трехмерных сценах путем использования дополнительных трехмерных линий и плоскостей в качестве направляющих. Однако эти направляющие линии и плоскости не всегда отображают курсоры на трехмерном объекте.
Проблема, проиллюстрированная на фиг.1В, усугубляется, если трехмерный объект имеет непропорциональные размеры, т.е. если его одно измерение больше других измерений (как у нитевидного объекта 11 на фиг.1А). Такими нитевидными трехмерными объектами могут быть траектории нефтяных скважин, трубопроводы, дорожные сети в трехмерном представлении (на рельефных картах), молекулы деоксирибонуклеотидов (ДНК), рибонуклеотидов (РНК) и многие другие. Например, траектория нефтяной скважины может иметь длину до мили или больше и диаметр всего один фут или меньше. Такая траектория обычно представляется в виде последовательности цилиндров, связанных между собой и ориентированных в соответствии с отклонением и азимутом скважины, так что они образуют длинный и тонкий цилиндр. Для нахождения и детального наблюдения небольшой площади пользователь должен часто изменять масштаб сцены, и при использовании существующих средств отображения будет часто возникать проблема, показанная на фиг.1В.
Другая проблема состоит в том, что большинство средств отображения исполняют запрашиваемые пользователем операции с одинаковым количеством движения, независимо от того, насколько близко или далеко находится средство просмотра от объекта. Такой режим работы затрудняет точное перемещение точки наблюдения вблизи объекта, но дает достаточно быстрый отклик, если объект далеко. В патенте США 5513303 (Robertson et al.) описано двухфазное движение. В первой фазе это движение постепенно ускоряется с увеличением его продолжительности. Во второй фазе это движение следует по асимптотической траектории. В патенте США 5276785 (Mackinlay et al.) описаны аналогичные способы с использованием асимптотической или логарифмической функции движения для обеспечения переменной скорости движения.
Существует потребность в том, чтобы средство отображения для наблюдения трехмерного объекта было способно удерживать представляющую интерес точку на объекте, и при этом трехмерный объект предпочтительно оставался бы в центре окна, а также, чтобы можно было осуществлять навигацию в трехмерной сцене в соответствии со степенью увеличения.
Сущность изобретения
Один аспект изобретения относится к способам навигации трехмерной сцены в области просмотра. Способы заключаются в том, что представляющую интерес точку связывают с опорной формой, относящейся к трехмерному объекту, и отображают сцену согласно запрашиваемому пользователем действию, удерживая при этом представляющую интерес точку в пределах опорной формы и области просмотра. Запрашиваемое пользователем действие может включать перемещение, поворот и изменение масштаба. Представляющая интерес точка может включать такую информацию о сцене как коэффициент увеличения, локальная ориентация и глобальная ориентация.
Другой аспект изобретения относится к способам исполнения запрашиваемого пользователем действия в трехмерном отображении. Эти способы заключаются в том, что определяют расстояние между представляющей интерес точкой и точкой наблюдения, определяют величину перемещения от пользовательского ввода и исполняют запрашиваемое пользователем действие со скоростью, зависящей от величины перемещения от пользовательского ввода, умноженной на коэффициент расстояния, основанный на расстоянии между представляющей интерес точкой и точкой наблюдения.
Следующий аспект изобретения относится к системам для отображения трехмерных объектов. Система согласно вариантам осуществления изобретения может содержать двухмерный дисплей для отображения трехмерного объекта и компьютер, оперативно связанный с двухмерным дисплеем. Компьютер имеет программу для отображения трехмерного объекта на двухмерном дисплее, причем программа выполнена с возможностью перемещения, изменения масштаба и поворота представления, ограничивая при этом представляющую интерес точку в пределах опорной формы и окна просмотра на двухмерном дисплее.
Другие аспекты и преимущества изобретения будут понятны из следующего подробного описания и чертежей. Краткое описание чертежей
Фиг.1А и 1В - схематичная иллюстрация проблемы, связанной с известными средствами просмотра при навигации трехмерной сцены,
фиг.2 - схематичное изображение связи трехмерного объекта, опорной формы и представляющей интерес точки согласно одному варианту осуществления изобретения,
фиг.3 - алгоритм выполнения варианта предложенного способа,
фиг.4 - алгоритм выполнения операции перемещения согласно варианту осуществления изобретения,
фиг.5 - алгоритм выполнения операции поворота согласно варианту осуществления изобретения,
фиг.6 - алгоритм выполнения другой операции поворота согласно варианту осуществления изобретения,
фиг.7 - алгоритм выполнения операции изменения масштаба согласно варианту осуществления изобретения,
фиг.8 схематичное изображение связи между трехмерным объектом, опорной формой и представляющей интерес точкой согласно другому варианту изобретения,
фиг.9 - схематичное изображение способа представления информации сцены с представляющей интерес точкой согласно варианту осуществления изобретения.
Подробное описание изобретения
Варианты осуществления настоящего изобретения относятся к удобным для пользователя трехмерным отображениям. В этих вариантах используются опорные формы, которые отслеживают формы наблюдаемых трехмерных объектов, для ограничения движения представляющих интерес точек (ПИТ) при выполнении запрашиваемых пользователем операций (перемещения, поворота и изменения масштаба). Опорная форма относится к трехмерному объекту в том смысле, что она может иметь форму, подобную форме трехмерного объекта, и/или ее размеры могут отслеживать размеры трехмерного объекта. Кроме того, координаты опорных форм связаны с соответствующими трехмерными объектами, так что они могут согласованно перемещаться на трехмерных отображениях. Эти варианты наиболее пригодны, не ограничиваясь перечисленным, для отображения трехмерных объектов, имеющих непропорциональные размеры, например траектории нефтяной скважины, которая в типовом случае простирается на милю в длину и имеет диаметр менее одного фута. Такие непропорциональные размеры требуют от пользователя частого увеличения масштаба для отслеживания ориентации и местоположения представляющей интерес области и уменьшения масштаба для достаточно детального наблюдения данной области. Варианты изобретения включают привязку опорных форм к трехмерным объектам и перемещение представляющей интерес точки (ПИТ) вдоль опорных форм. Камера (точка наблюдения) расположена так, что ПИТ остается в пределах области наблюдения, которой может быть весь экран дисплея или окно, в котором работает средство просмотра трехмерного изображения. ПИТ может быть неподвижно зафиксирована в области наблюдения или может иметь возможность перемещаться по ней.
В одном варианте осуществления изобретения ПИТ может быть неподвижно зафиксирована в центре области наблюдения. В этом варианте движение (например, перемещение) трехмерного объекта можно осуществлять посредством нитевидного движения (скольжения) опорной формы (вместе с "привязанным" трехмерным объектом) через расположенную в центре ПИТ. Аналогичным образом, поворот и изменение масштаба можно осуществлять посредством фиксации ПИТ на соответствующей точке на опорной форме, следовательно, на трехмерном объекте. Затем камера (точка наблюдения) может переместиться ближе или дальше от трехмерного объекта (эффект изменения масштаба) или сделать оборот вокруг трехмерного объекта (поворот или наблюдение под всеми углами). При этом можно применять любые известные способы выполнения операций изменения масштаба, поворота и перемещении. В данном варианте ПИТ вместе со связанной с нею точкой на опорной форме будет также оставаться в центре области наблюдения независимо от операции (т.е. перемещения, порота или изменения масштаба). Следовательно, трехмерный объект никогда не исчезнет из области наблюдения и не сместится от центра области наблюдения. Поэтому пользователям не надо будет выполнять дополнительные операции для возврата трехмерного объекта в область наблюдения. Способ привязки ПИТ к опорной форме, связанной с трехмерным объектом, отличается от известных способов, в которых обычно делается попытка закрепить ПИТ на трехмерных объектах каким-либо особым образом в ответ на пользовательские вводы.
На фиг.2 проиллюстрирован такой вариант с использованием траектории скважины 21 в качестве трехмерного объекта. В данном варианте опорная форма 22 представляет собой кривую линию ("провод"), лежащую на продольной оси траектории скважины 21. Эта продольная ось проходит по центру траектории скважины 21. Однако не является необходимым, чтобы провод или криволинейная опорная форма 21 располагалась на продольной оси траектории. Например, она может быть слегка смещена относительно продольной оси, расположена на стене скважины или где-то снаружи, но вблизи от скважины. В вариантах осуществления изобретения представляющая интерес точка (ПИТ) 23 привязывается к опорной форме 22 и в процессе работы ее движения ограничены движением вдоль этой опорной формы 22. Следовательно, перемещения трехмерного объекта 21 в области наблюдения можно осуществлять путем "нитевидного движения" (или скольжения) этой криволинейной опорной формы (провода) 22 через ПИТ 23, сохраняя при этом ПИТ 23 в рамках области наблюдения. Хотя варианты изобретения легче выполнить, удерживая ПИТ 23 в фиксированном положении (особенно в центре) в окне 10 просмотра, изобретение в равной степени применимо в тех ситуациях, когда ПИТ 23 имеет возможность перемещаться в окне 10 просмотра. При повороте или изменении масштаба ПИТ 23 остается в какой-то точке на криволинейной опорной форме 22, а точка наблюдения (камера) перемещается ближе, дальше или вокруг трехмерного объекта 21. В данном варианте трехмерный объект 21 будет всегда оставаться в пределах области наблюдения, позволяя легко наблюдать область траектории.
Изобретение будет более понятно, если предусмотреть, что ПИТ 23 или окно 20 просмотра удерживается неподвижным относительно внешней координаты, а опорная форма вместе с трехмерным объектом перемещается (нитевидным или зигзагообразным образом) через ПИТ 23. Иными словами, запрашиваемое пользователем действие исполняется посредством изменения координат опорной формы и трехмерного объекта относительно внешних координат окна 20 просмотра или ПИТ 23. В то же время эти перемещения ограничены таким образом, что только точки в пределах опорной формы могут зигзагообразно или нитевидно перемещаться через ПИТ 23. Таким образом, ПИТ 23 будет всегда оставаться в пределах опорной формы. Хотя описанный выше подход позволяет непрерывно перемещать ПИТ 23 внутри опорной формы 22, альтернативно можно перемещать ПИТ 23 прямо на место внутри опорной формы 22, находящееся вблизи от запрашиваемого пользователем места ПИТ, т.е. дискретным шагом, а не непрерывным движением.
Хотя в примере, проиллюстрированном на фиг.2, в качестве опорной формы 22 использован "провод" (или криволинейная форма), нет необходимости, чтобы опорная форма была "тонким проводом". Трехмерная опорная форма может быть, например, цилиндром (т.е. "толстым проводом") или цилиндрической поверхностью (т.е. трубой), которая повторяет форму траектории скважины. Радиус такого цилиндра или цилиндрической поверхности может быть меньше, равен или слегка больше радиуса траектории скважины. В этих вариантах ПИТ будет иметь возможность двигаться внутри цилиндра или на цилиндрической поверхности. Специалистам будет понятно, что изобретение можно реализовать с помощью любых известных процедур, способных выполнять такие движения (т.е. относительные изменения координат).
Например, на фиг.3 проиллюстрирован один вариант осуществления изобретения. Этап 100 представляет начало процесса, который затем запускает подпрограмму 101, определяющую опорную форму (или траекторию), в пределах которой можно будет перемещать ПИТ 23 (см. фиг.2). При определении этой траектории программа принимает координаты трехмерного объекта (т.е. траекторию дорожки 111) в качестве ввода. После определения опорной формы (траектории) программа инициализирует положение камеры (исходной точки наблюдения 112), которое может быть либо значением, предоставленным пользователем, либо значением по умолчанию (например, в центре трехмерного объекта или вычисленной опорной формы). На этой стадии трехмерный объект отображается в окне просмотра и готов к манипуляции пользователем, а подпрограмма 103 события пользовательского ввода ожидает пользовательского ввода 113. После получения пользовательского ввода 113 подпрограмма 103 определяет тип процесса (перемещение, поворот или изменение масштаба), запрашиваемого пользователем, и посылает его в обработчик 104 процесса для исполнения запрашиваемого события.
На фиг.4 проиллюстрирован пример процесса перемещения согласно изобретению. Процесс перемещения перемещает точку Р (x, y, z) на расстояние D ( x, y, z) в новое место Р' (х', у', z'). Следовательно, P' (x', y', z')=P (x, y, z)+D ( x, y, z). Обработчик 104 процесса (см. фиг.3) передает запрос на перемещение (движение) в подпрограмму 200 перемещения, которая затем вычисляет действительное смещение ПИТ (этап 201). В этом вычислении может учитываться коэффициент масштабирования (значение 211 изменения масштаба) для определения скорости, с которой следует выполнять запрашиваемое преобразование (см. ниже обсуждение зависимого от масштаба преобразования). После вычисления величины смещения ПИТ вычисляется допустимое место ПИТ (этап 202) на основании траектории (опорной формы) 212, которая была определена подпрограммой 101 (см. фиг.3). После помещения ПИТ 23 (см. фиг.2) на новое место точка наблюдения (камера) соответственно перемещается (этап 203). На этой стадии в окне просмотра отображается запрашиваемый пользователем вид и связанная с ПИТ информация (этап 204). Связанная с ПИТ информация может включать в себя любую информацию сцены (например, коэффициент изменения масштаба, глобальную ориентацию или относительные координаты, см. ниже более подробное обсуждение). Аналогичным образом, можно скорректировать форму или размер символа ПИТ (этап 205) в соответствии с новой информацией сцены. В этот момент программа завершила исполнение запрошенного пользователем действия и активизируется подпрограмма 103 события пользовательского ввода (см. фиг.3) для ожидания следующего пользовательского ввода.
На фиг.5 проиллюстрирован пример, каким образом можно осуществить поворот вокруг оси Z. (Оси X, Y, Z образуют локальную систему координат, связанную с трехмерной сценой). Ось Z традиционно ориентирована по вертикали двухмерного дисплея, а ось Y - по горизонтали. Ось Х проходит через текущую точку наблюдения и ПИТ). Поворот вокруг оси Z часто называют тета-( )поворотом, который вращает изображение вокруг вертикальной оси. При этом вращении P (x, y, z) должна повернуться вокруг вертикальной оси на угол в новое положение Р'(х', y', z'). В этом преобразовании используются синусная и косинусная функции: х'=х×cos( )-y×sin( ) и y'=y×sin( )-y×cos( ).
В варианте воплощения, проиллюстрированном на фиг.5, в процессе поворота 300 сначала вычисляется изменение эффективного угла (этап 301). В этом вычислении может учитываться коэффициент изменения масштаба (значение изменения масштаба 311) отображаемой сцены. После вычисления изменения эффективного программа поворачивает камеру (точку наблюдения) вокруг оси Z в ПИТ (этап 302) для отображения нового вида. При этом также можно обновить информацию сцены, связанную с ПИТ (этап 204), и соответственно изменить форму ПИТ (этап 205). В этот момент программа завершает запрошенное пользователем действие, и активизируется подпрограмма 103 события пользовательского ввода (см. фиг.3) для ожидания следующего пользовательского ввода.
Поворот вокруг оси Y на плоскости двухмерного дисплея сопоставим с -поворотом. Например, на фиг.6 показан один вариант реализации поворота вокруг оси Y (фи-( )поворот). В процессе -поворота 400 сначала вычисляется изменение эффективного угла (этап 401) и ось (этап 402), вокруг которой должен быть выполнен поворот. Здесь также вычисление на этапе 401 может учитывать значение 411 изменения масштаба. После этих вычислений камера (точка наблюдения) поворачивается вокруг оси (этап 403), чтобы получить окончательный вид. При отображении нового вида может быть обновлена информация, связанная с ПИТ, (этап 204) и форма ПИТ (этап 205). В этот момент программа завершает исполнение запрошенного пользователем действия, и активизируется подпрограмма 103 события пользовательского ввода (см. фиг.3) для ожидания следующего пользовательского ввода.
Пси-( )поворот вокруг оси , являющейся осью X, проходящей через точку наблюдения и ПИТ, можно реализовать аналогичным образом.
На фиг.7 проиллюстрирована операция изменения масштаба (масштабирования). В операции изменения масштаба точка P (x, y, z) должна переместиться в новое место P' (x', y', z') в соответствии с коэффициентом масштабирования S (sx, sy, sz), то есть х'=sx×х,y'=s y×y и z'=sz×z. В процессе 500 изменения масштаба сначала вычисляется эффективное изменение масштаба (этап 501), в котором можно учесть текущий коэффициент масштабирования (значение 510 изменения масштаба). После этого вычисления точка наблюдения (камера) перемещается по линии, проходящей через текущую точку наблюдения и ПИТ (т.е. по линии наблюдения) (этап 502). После отображения нового вида можно обновить информацию о ПИТ и ее форме (этапы 204 и 205). В этот момент программа завершает исполнение запрошенного пользователем действия, и активизируется подпрограмма 103 события пользовательского ввода (фиг.3) для ожидания следующего пользовательского ввода.
Приведенные выше примеры служат только для иллюстрации. Специалистам будет понятно, что возможны и другие альтернативы, не выходящие за рамки объема изобретения.
В других вариантах осуществления изобретения трехмерные объекты могут содержать множество нитевидных структур, соединенных в сеть. Эти сети могут быть сетями трубопроводов или дорожными сетями, например на фиг.8 показана часть такой сети с соединением между отдельными нитевидными элементами. В данном случае трехмерная опорная форма 32, в пределах которой может двигаться ПИТ 33, будет проходить вдоль сети 31. В данном случае трехмерная опорная форма 32 также может содержать сеть "тонких проводов", как показано на фиг.3. Однако возможны и другие формы, например "толстые провода" (цилиндры) или полые трубы. Аналогичным образом, радиусы таких цилиндров или полых труб могут быть меньше, равны или незначительно больше радиуса сетевого объекта 31.
Другие варианты изобретения позволяют передавать вместе с ПИТ информацию сцены (например, коэффициент увеличения, ориентацию (локальную) и направление гравитации (глобальную ориентацию) сцены, подобно морскому компасу). Это можно осуществить, например, связав один или несколько объектов отображения (например, стрелок или кругов) с ПИТ 41 (см. фиг.9). Как показано на фиг.9, два круга 42 и 43 представляют направления на север и вверх (от центра Земли) относительно земного пласта в ПИТ 41. Круги (или стрелки) могут быть цветными для кодирования разной информации. Альтернативно, они могут использовать разные формы (сплошную, пунктирную или штриховую линии) для представления различной информации. Размеры отображаемых объектов можно использовать для отражения степени увеличения (коэффициента масштабирования). Такая информация держит пользователя в курсе относительной ориентации трехмерного объекта в сцене.
Варианты воплощения изобретения могут относиться к разрешающей способности движения в отображении. Когда для движения точки наблюдения (например, увеличения масштаба, перемещения или поворота) используется устройство ввода (мышь, клавиатура и т.п.), желательно, чтобы это движение происходило в соответствии с размером трехмерной сцены, т.е. чтобы величина движения была меньше в режиме уменьшения масштаба, чем в режиме увеличения масштаба. В одном варианте изобретения можно двигать объект с разрешающей способностью, пропорциональной расстоянию между камерой и ПИТ. Например, в операции поворота угол поворота (d ) может быть соотнесен с величиной перемещения мыши (dx) согласно следующему уравнению: d =Кх×dx, где К - функция расстояния между ПИТ и камерой (точкой наблюдения). Следовательно, чем больше расстояние между ПИТ и точкой наблюдения, тем быстрее будет поворот при одной и той же величине перемещения мыши. Чем ближе точка зрения к траектории скважины, тем медленнее движение, что облегчает взаимодействие со сценой в любом масштабе. Этот подход можно распространить на все типы движения: поворот, изменение масштаба и перемещение.
Варианты изобретения можно использовать для систем отображения и манипулирования трехмерными объектами, представленными на средстве отображения. Такие системы могут содержать компьютер, средство отображения и программы. Средство отображения может быть монитором компьютера (например, электронно-лучевой трубкой), жидкокристаллическим дисплеем или проектором для проецирования изображения, сформированного компьютером. Программа в этих вариантах изобретения использует опорную форму для ограничения положения ПИТ таким образом, чтобы трехмерный объект оставался в окне просмотра. Такие программы могут дополнительно отображать представляющие интерес точки (ПИТ) с информацией сцены (например, коэффициентом увеличения, глобальной или локальной ориентацией). Кроме того, эти программы могут выполнять запрашиваемое пользователем преобразование (перемещение, поворот и масштабирование) со скоростью, зависящей от коэффициента увеличения сцены. В одном варианте осуществления изобретения скорость, с которой программа выполняет запрашиваемое пользователем преобразование, линейно зависит от расстояния между ПИТ и точкой наблюдения (камерой).
Класс G06T17/40 манипулирование трехмерными (3D) изображениями, например с использованием CAD установок графического автоматического проектирования