Перемещение виртуального объекта в виртуальной окружающей среде без взаимных помех между его сочлененными элементами

Изобретение относится к области имитации перемещения виртуального сочлененного объекта в виртуальном пространстве. Техническим результатом является повышение точности имитации перемещения манекена, предотвращение взаимных столкновений всех сочлененных элементов манекена путем обеспечения скольжения различных сочлененных элементов друг по другу. Указанный результат достигается за счет того, что способ перемещения виртуального манекена (10) в виртуальном пространстве состоит в выполнении последовательности элементарных перемещений. Виртуальный манекен (10) содержит совокупность сочлененных элементов (11), связанных между собой совокупностью сочленений (12). При этом относительные положения сочлененных элементов (11) определены углами сочленений в соответствии со степенями свободы. 12 з.п. ф-лы, 9 ил.

 

Область техники, к которой относится изобретение

Настоящее изобретение относится к области имитации перемещения виртуального сочлененного объекта в виртуальном пространстве. Изобретение касается, в частности, предотвращения столкновений сочлененных элементов сочлененного объекта с другими его частями.

Уровень техники

Моделирование в виртуальном пространстве используется в настоящее время во многих отраслях, в частности, в авиационной и аэрокосмической промышленности. Например, цифровые модели часто используют для оценки взаимного влияния различных элементов систем.

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

Таким образом, моделирование с использованием виртуального сочлененного объекта позволяет контролировать степень доступности различных элементов конструкции уже на стадии их моделирования.

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

Таким образом, в каждый момент виртуальный сочлененный объект может быть определен своим общим положением и ориентацией в метрическом пространстве и значениями степеней свободы своих сочленений (суставов). Эти данные, а также параметры, определяющие пространство, в котором находится виртуальный сочлененный объект, могут быть сохранены на носителе цифровых данных.

Известны применения виртуальных сочлененных объектов в приложениях такого рода.

Один из примеров такого применения приводится в статье Chedmail, Damay et Le Roy, озаглавленной «Réalité virtuelle, maquette numérique du produit, outils de distribution et partage de la conception», Journées Priméca, La Plagne, 7-9 avril 1999.

В этой статье предлагается способ оценки легкости монтажа и демонтажа объектов в загроможденном пространстве при помощи модели перемещения двух виртуальных сочлененных рук или виртуального манекена в виртуальном пространстве.

Этот способ позволяет манекену перемещаться в пространстве, загроможденном препятствиями, не сталкиваясь с этими препятствиями.

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

Раскрытие изобретения

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

Другой задачей является предотвращение взаимных столкновений всех сочлененных элементов сочлененного объекта путем обеспечения скольжения различных сочлененных элементов друг по другу.

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

- вычисляют расстояние взаимодействия между данным сочлененным элементом и другими сочлененными элементами сочлененного объекта;

- определяют по указанному расстоянию взаимодействия первую точку, принадлежащую данному сочлененному элементу, и вторую точку, принадлежащую одному из других сочлененных элементов сочлененного объекта, таким образом, что расстояние взаимодействия соответствует глубине проникновения данного сочлененного элемента и одного из других сочлененных элементов или минимальному расстоянию между данным сочлененным элементом и одним из других сочлененных элементов;

- по результатам указанного определения первой и второй точек находят единственный вектор отведения, причем при расстоянии взаимодействия, соответствующем глубине проникновения, первая и вторая точки образуют начальную и конечную точки указанного вектора соответственно, а при расстоянии взаимодействия, соответствующем минимальному расстоянию, первая и вторая точки образуют конечную и начальную точки указанного вектора соответственно;

- отводят данный сочлененный элемент от других сочлененных элементов сочлененного объекта при помощи движения, определенного в соответствии с единственным вектором отведения и воздействующего на степени свободы сочлененного объекта для предотвращения столкновения данного сочлененного элемента с другими сочлененными элементами сочлененного объекта.

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

Это обеспечивает возможность моделирования перемещения сочлененного объекта с высокой точностью при условии оптимального времени, затрачиваемого на вычисления.

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

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

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

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

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

Способ дополнительно включает этап отмены последнего элементарного движения в указанной последовательности элементарных движений при наличии столкновения данного сочлененного элемента с другими сочлененными элементами сочлененного объекта.

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

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

- определение первого вектора между центром сочленения данного сочленения и начальной точкой вектора отведения;

- определение второго вектора между центром сочленения данного сочленения и конечной точкой вектора отведения;

- вычисление угла поворота, необходимого для совмещения первого вектора со вторым вектором;

- вычисление элементарного угла или элементарных углов поворота сочленения путем разложения угла поворота по оси или осям, определяющим степень (степени) свободы, соответствующую (соответствующие) данному сочленению;

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

Угол поворота может быть вычислен по векторному произведению первого и второго векторов.

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

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

В оптимальном варианте сочлененный объект определяется в виртуальном пространстве своим глобальным положением и глобальной ориентацией таким образом, что перемещение сочлененного объекта осуществляют при помощи фактора притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.

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

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

Краткое описание чертежей

Другие особенности и преимущества способа и системы по изобретению станут ясны из нижеследующего подробного описания, приводимого без наложения каких-либо ограничений со ссылками на прилагаемые чертежи. На чертежах:

- фиг.1 изображает в перспективе аппаратные средства, служащие для осуществления способа по изобретению;

- фиг.2А крайне схематично иллюстрирует виртуальный сочлененный объект, содержащий согласно изобретению совокупность сочлененных элементов;

- фиг.2В изображает один из вариантов фиг.2А;

- фиг.3А крайне схематично иллюстрирует вектор отведения, определенный согласно изобретению в режиме минимального расстояния;

- фиг.3В крайне схематично иллюстрирует вектор отведения, определенный согласно изобретению в режиме глубины проникновения;

- фиг.4 крайне схематично иллюстрирует движение отведения согласно изобретению действующее на уровне одного конкретного сочленения сочлененного объекта;

- фиг.5А представляет собой блок-схему, иллюстрирующую основные этапы перемещения сочлененного объекта согласно изобретению;

- фиг.5В представляет собой модификацию фиг.5А;

- фиг.6 крайне схематично иллюстрирует архитектуру многофакторной системы, используемой для перемещения сочлененного объекта согласно изобретению.

Осуществление изобретения

На фиг.1 изображена система, которая может быть использована для моделирования перемещений сочлененного объекта. Эта система содержит рабочую станцию или компьютер 1, обладающую (обладающий) хорошими графическими характеристиками и используемую (используемый) для исполнения компьютерной программы, разработанной для осуществления способа по изобретению.

Компьютер 1 содержит обычные для устройств такого типа аппаратные средства. Более конкретно, компьютер содержит центральный блок 2, выполняющий последовательности команд программного обеспечения, соответствующего способу по изобретению, центральное запоминающее устройство 3, сохраняющее данные исполняемых программ, носители цифровых данных (жесткий диск, дисковод 4 для компакт-дисков, дисковод для гибких дисков и т.д.), обеспечивающие длительное хранение данных и программного обеспечения, периферийные устройства ввода (клавиатуру 5, мышь 6 типа «2D» или «3D», джойстик и т.д.). В состав компьютера входят также периферийные устройства вывода (экран 7, стереоскопические шлемы или очки и т.д.), обеспечивающие отображение перемещений сочлененного объекта.

Разумеется, для увеличения вычислительных мощностей моделирование по изобретению может осуществляться на нескольких рабочих станциях, работающих параллельно.

На фиг.2А крайне схематично изображен виртуальный сочлененный объект 10, определенный совокупностью сочлененных элементов 11, соединенных между собой сочленениями 12.

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

Каждое сочленение 12 может содержать несколько осей, определяющих несколько степеней свободы, тем самым позволяя определить внутреннее состояние сочлененного объекта 10 как совокупность нескольких степеней свободы. Например, на фиг.2А представлено сочленение 12а, содержащее три оси, которые определяют три степени свободы, связанные с этим сочленением 12а.

Таким образом, относительное положение сочлененных элементов 11 в каждый момент может быть определено совокупностью углов сочленений в соответствии с совокупностью степеней свободы сочлененного объекта 10.

Кроме того, сочлененному объекту 10 может быть приписана локальная система координат, точка отсчета которой находится в его центре G тяжести.

В частности, эта локальная система координат может содержать единственную ось , проходящую через центр G тяжести сочлененного объекта 10.

Сочлененный объект 10 может передвигаться в виртуальном пространстве 13, которое может быть загромождено несколькими объектами или препятствиями 13а, 13b и 13с, причем сочлененный объект 10 может по известным методикам избегать столкновения с ними в процессе своего перемещения.

Таким образом, сочлененный объект 10 и окружающее его пространство могут быть определены в метрическом пространстве (О; х, у, z), относительно которого положение и ориентация сочлененного объекта 10 и различных объектов 13а, 13b и 13с окружающего его пространства 13 могут быть определены очевидным образом.

Следовательно, помимо относительного положения совокупности сочлененных элементов 11, для сочлененного объекта 10 в каждый момент также могут быть определены глобальное положение и глобальная ориентация.

Глобальное положение сочлененного объекта 10 может быть определено декартовыми координатами его центра G тяжести по осям х, у, z.

Глобальная ориентация может быть определена по известной методике тремя углами, определяющими ориентацию приписанной к сочлененному объекту оси относительно осей х, у, z.

Разумеется также следует учитывать параметры или ограничения, накладываемые пределами движения сочленений и физическими связями между различными частями тела, или элементами 11 сочлененного объекта 10.

Эти данные и переменные, определяющие сочлененный объект 10, а также параметры, определяющие окружающее его пространство 13, сохраняются в запоминающем устройстве 3 компьютера 1.

Как показано на фиг.2В, сочлененный объект может, в частности, представлять собой виртуальный манекен 10а, перемещающийся по полу в виртуальном пространстве 13.

В этом случае манекен 10а может быть определен углами сочленений, определяющими совокупность его сочлененных элементов, своим положением на виртуальном полу и ориентацией относительно вертикальной оси , перпендикулярной указанному полу и проходящей через центр G тяжести манекена 10а.

Сочлененный объект 10, например манекен 10а, по известной методике может быть перемещен в виртуальном пространстве 13 при помощи последовательности элементарных движений, например, чтобы достичь некоторой цели 13с.

Так для создания траектории, позволяющей сочлененному объекту 10 достичь цели 13с, можно воздействовать на глобальное положение сочлененного объекта 10, используя заранее определенный шаг изменения глобального положения, и/или на ориентацию сочлененного объекта, используя заранее определенный шаг изменения ориентации, и/или на степени свободы сочлененного объекта, используя заранее определенный шаг перемещения сочленений Δa.

Чтобы предотвратить внутренние столкновения данного сочлененного элемента с другими сочлененными элементами 11 сочлененного объекта 10, необходимо определить критерий столкновения.

Критерий столкновения каких-либо двух объектов может быть определен по известной методике путем вычисления расстояния взаимодействия этих двух объектов. Этот критерий столкновения также может определить точки, соответствующие этому расстоянию взаимодействия.

Следует отметить, что расстояние взаимодействия может соответствовать минимальному расстоянию между двумя объектами или глубине их взаимного проникновения.

На фиг.3А и 3В иллюстрируется определение расстояния взаимодействия между данным сочлененным элементом 11с сочлененного объекта 10 и одним из других сочлененных элементов 11d сочлененного объекта 10.

В частности, пример, представленный на фиг.3А, изображает критерий минимального расстояния между данным сочлененным элементом 11с и одним из других сочлененных элементов 11d сочлененного объекта 10, а также точки Р1 и Р2, определяющие это минимальное расстояние.

Далее, пример, представленный на фиг.3В, изображает критерий глубины взаимного проникновения данного сочлененного элемента 11с и одного из других сочлененных элементов 11d сочлененного объекта 10, а также точки Р1 и Р2, определяющие эту глубину проникновения.

Таким образом, вычисление расстояния взаимодействия позволяет определить точку Р1, в дальнейшем описании называемую «первой точкой», принадлежащую данному сочлененному элементу 11с сочлененного объекта 10, и другую точку Р2, в дальнейшем описании называемую «второй точкой», принадлежащую одному из других сочлененных элементов 11d сочлененного объекта 10.

Это позволяет определить по этим первой точке Р1 и второй точке Р2 единственный вектор отведения.

Согласно методу, основанному на вычислении минимального расстояния (фиг. 3А), вектор отведения равен разности координат первой точки Р1 и второй точки Р2. Другими словами, вторая точка Р2 образует начальную точку вектора отведения, а первая точка Р1 образует конечную точку вектора отведения.

В то же время, согласно методу, основанному на вычислении глубины проникновения (фиг.3В), вектор отведения равен разности координат второй точки Р2 и первой точки Р1. Другими словами, первая точка Р1 образует начальную точку вектора отведения, а вторая точка Р2 образует конечную точку вектора отведения.

Наконец, для предотвращения столкновения данного сочлененного элемента 11с с другими сочлененными элементами 11 сочлененного объекта 10 этот данный сочлененный элемент 11с может быть отведен от других сочлененных элементов 11 движением, определенным в соответствии с единственным вектором отведения и воздействующим на степени свободы сочлененного объекта 10.

На фиг.4 изображено движение отведения данного сочлененного элемента 11с сочлененного объекта 10 по методу минимального расстояния, но, разумеется, принцип остается тем же для метода глубины проникновения.

Это движение отведения представляет собой вращательное движение сочленений, воздействующее на степени свободы сочлененного объекта 10.

Следует отметить, что движение отведения данного сочлененного элемента 11с от других сочлененных элементов сочлененного объекта 10 образуется вращательными движениями сочленений, в которых участвуют все сочленения 12, принадлежащие к последовательности сочленений, предшествующих, элементу 11с сочлененного объекта 10, к которому относится определенная выше первая точка Р1. В данном примере вторая точка Р2 относится к одному из других сочлененных элементов 11d.

Например, если сочлененный объект представляет собой виртуальный манекен 10а, а расстояние взаимодействия данного сочлененного элемента 11с с другими сочлененными элементами сочлененного объекта 10 определено первой точкой Р1, находящейся на предплечье, то последовательность сочленений включает локоть, плечо и ключицу. Другими словами, вращательное движение сочленений рассчитывается таким образом, чтобы воздействовать на все сочленения 12 руки, предшествующие предплечью. Если же первая точка Р1 относится к плечу, последовательность сочленений включает только сочленения плеча и ключицы. Если первая точка Р1 относится к кисти руки, то в последовательность включаются все сочленения 12 руки, т.е. эта последовательность включает запястье, локоть, плечо и ключицу.

Таким образом, для каждого сочлененного объекта 10 последовательность суставов зависит от сочлененного элемента этого сочлененного объекта 10, который содержит первую точку Р1.

В частности, в примере, представленном на фиг.4, показано вращательное движение, воздействующее на данное сочленение 12а, являющееся частью последовательности сочленений 12а, 12b и 12с.

Это вращательное движение, воздействующее на данное сочленение 12а, может быть определено при помощи следующих этапов.

Определяют первый вектор , соединяющий центр сочленения данного сочленения 12а и начальную точку вектора отведения. В данном примере начальной точкой вектора отведения является вторая точка Р2, однако, по методу глубины проникновения этой точкой была бы первая точка Р1.

Аналогичным образом определяют второй вектор , соединяющий центр сочленения данного сочленения 12а и конечную точку Р1 вектора отведения.

Затем вычисляют угол поворота, необходимого для совмещения первого вектора и второго вектора . Угол поворота может быть вычислен с использованием векторного произведения первого вектора и второго вектора по следующей формуле:

Этот угол поворота раскладывают на один или несколько элементарных углов θi поворота сочленения вокруг оси или осей, определяющих степень или степени свободы, соответствующие данному сочленению 12а сочлененного объекта 10.

В данном примере угол поворота раскладывают на три элементарных угла θi поворота сочленения вокруг осей , , .

Элементарные углы θi поворота сочленений могут быть вычислены по скалярным произведениям рассчитанного выше векторного произведения и оси или осей степеней свободы данного сочленения 12а.

Наконец, сочлененный элемент, связанный с данным сочленением, поворачивается на угол или углы αi, пропорциональные указанным элементарным углам θi поворота сочленения.

Элементарные углы θi поворота сочленения нормируются величинами, соответствующими шагу Δа перемещения сочленения.

Сочлененный элемент поворачивается в данном сочленении 12а на угол или углы αi, определяемые по следующей формуле:

Разумеется те же вышеописанные этапы должны быть проведены для всех сочленений 12а, 12b и 12с, образующих рассматриваемую последовательность сочленений.

Использование единственного вектора отведения, рассчитанного исходя из минимального расстояния или глубины проникновения, позволяет предотвратить столкновение данного сочлененного элемента 11с с другими сочлененными элементами 11 сочлененного объекта 10. Это повышает точность перемещений сочлененного объекта 10 при использовании оптимального количества вычислений.

Действительно для отведения данного сочлененного элемента 11с от других сочлененных элементов 11 сочлененного объекта 10 по изобретению используется единственное вычисление минимального расстояния или глубины проникновения.

Кроме того, для предотвращения столкновений каждого сочлененного элемента 11с остальными частями сочлененного объекта 10 вышеописанные этапы вычислений расстояния взаимодействия, выделения первой и второй точек, определения вектора отведения и отведения сочлененного элемента повторяют для каждого сочлененного элемента 11 сочлененного объекта 10.

В частности, данный сочлененный элемент 11с может быть выбран в некотором подмножестве данных сочлененных элементов 11, составляющих сочлененный объект 10.

Действительно, некоторые из сочлененных элементов могут быть коррелированы таким образом, что их относительные перемещения зависят друг от друга, и эти элементы не приходят в столкновение друг с другом. В этом случае достаточно выбрать данный сочлененный элемент в подмножестве, содержащем лишь сочлененные элементы, движения которых не зависят друг от друга.

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

На фиг.5А представлена блок-схема, иллюстрирующая основные этапы моделирования перемещения сочлененного объекта 10 с предотвращением внутренних взаимных столкновений его сочлененных элементов 11.

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

Аналогичным образом на этапе S0 могут быть определены элементарные изменения позиции, ориентации и сочленений Δа. Например, могут быть определены различные шаги в зависимости от характеристик сочленения 12. Также может быть выбран оптимальный постоянный шаг для всех сочленений 12 на протяжении всего движения сочлененного объекта 10.

На этапе S1 осуществляется вычисление элементарного движения сочлененного объекта 10.

На этапе S2 производится проверка на наличие столкновения данного сочлененного элемента с одним или несколькими другими сочлененными элементами сочлененного объекта 10. Критерий столкновения зависит от величины расстояния взаимодействия.

Другими словами, при использовании метода, основанного на минимальном расстоянии, столкновение можно считать случившимся, если это минимальное расстояние меньше или равно некоторому предельному расстоянию, которое может быть равно нулю, чтобы обеспечить возможность перемещения сочлененного объекта 10 без столкновений между данным сочлененным элементом и другими сочлененными элементами сочлененного объекта 10.

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

Таким образом, в зависимости от выбора этого предельного значения, можно, с одной стороны, обеспечить перемещение сочлененного объекта 10 без внутренних столкновений или, с другой стороны, обеспечить перемещение сочлененного объекта 10 с ограниченными и контролируемыми столкновениями между его сочлененными элементами. В этом последнем случае возможно моделирование некоторой пластичности сочлененных элементов при их взаимном соприкосновении.

Если в соответствии с критерием этапа S2 столкновение отсутствует, на этапе S3 перемещение сочлененного объекта 10, вычисленное на этапе S1, отображается, например, на экране 7 компьютера 1, после чего происходит возврат к тому же этапу S1 для вычисления следующего элементарного перемещения.

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

В то же время, при наличии столкновения на этапе S4 производится отмена элементарного перемещения, вычисленного на этапе S1.

Затем на этапе S5 рассчитывается движение, определенное на основе единственного вектора отведения и воздействующее на степени свободы сочлененного объекта для отведения данного сочлененного элемента от других сочлененных элементов сочлененного объекта 10, после чего происходит возврат к этапу S1.

На фиг.5 В изображен вариант блок-схемы по фиг.5А, применимый исключительно к методу вычислений с использованием глубины проникновения.

Блок-схема, представленная на этом чертеже, в основном, совпадает с блок-схемой по фиг.5А, но не содержит этапа S4.

Таким образом, при обнаружении на этапе S2 столкновения происходит немедленный переход к этапу S5 отведения данного сочлененного элемента от других сочлененных элементов сочлененного объекта без отмены последнего элементарного перемещения, что обеспечивает возможность небольшого взаимного проникновения данного сочлененного элемента и других сочлененных элементов сочлененного объекта.

Перемещение виртуального сочлененного объекта 10 в виртуальном пространстве может быть осуществлено при помощи «многофакторной» системы или любой другой известной системы.

Как крайне схематично показано на фиг.6, для моделирования перемещения сочлененного объекта 10 может быть использована архитектура многофакторной системы 50. Эта многофакторная система 50 образована совокупностью активных элементов (факторов) 20, 21, 22, 23, 30, 31, 32, 33, 34 и 35, воздействующих на пассивные объекты (элементы 11 и сочленения 12), образующие сочлененный объект 10, в соответствии с окружающим его пространством.

Данные (переменные) сочлененного объекта 10 и окружающего его пространства образуют общие данные 15, через которые взаимодействуют различные факторы.

Архитектура многофакторной системы может быть осуществлена в форме нескольких этапов или уровней, в виде пирамиды, так что основные факторы вносят свой вклад в действия факторов более высокого уровня.

В данном примере многофакторная система 50 содержит первый уровень 51, второй уровень 52 и третий уровень 53.

Первый уровень 51 иллюстрирует воздействие (или глобальное влияние) на сочлененный объект 10 и содержит вклад первого глобального фактора 20 и вклад второго глобального фактора 30, воздействующих на сочлененный объект 10 через общие данные 15.

Первый глобальный фактор 20 воздействует на положение и ориентацию сочлененного объекта 10, а второй глобальный фактор 30 воздействует на внутренние степени свободы сочленений 12 сочлененного объекта 10.

Второй уровень 52 иллюстрирует различные вклады, поступающие от факторов различных типов, порождающих вклады первого и второго глобальных факторов 20 и 30 и взаимодействующих через общие данные 15.

Так перемещение сочлененного объекта 10 может быть осуществлено при помощи фактора притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или совокупность степеней свободы сочлененного объекта.

Кроме того, отведение данного сочлененного элемента от других сочлененных элементов 11 сочлененного объекта 10 может быть осуществлено при помощи фактора внутреннего скольжения, воздействующего на совокупность степеней свободы сочлененного объекта.

Далее по известной методике отведение сочлененного объекта 10 от элементов окружающего его пространства может быть осуществлено при помощи фактора скольжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или совокупность степеней свободы сочлененного объекта.

Таким образом, второй уровень 52 многофакторной системы 50 может содержать фактор 21 отталкивающего скольжения, воздействующий на глобальное положение и/или на глобальную ориентацию сочлененного объекта 10, фактор 22 притяжения, воздействующий на глобальное положение и/или на глобальную ориентацию сочлененного объекта 10, фактор 31 кинематического скольжения, воздействующий на внутренние степени свободы сочленения 12 сочлененного объекта 10, и фактор 32 кинематического притяжения, воздействующий на внутренние степени свободы сочленения 12 сочлененного объекта 10.

Третий уровень может содержать фактор 34 внутреннего скольжения и фактор 35 скольжения по препятствию, которые взаимодействуют через общие данные 15 и определяют вклад фактора 31 кинематического скольжения.

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

Таким образом, фактор 34 внутреннего скольжения позволяет обеспечить отсутствие столкновений или чрезмерно глубокого взаимного проникновения данного сочлененного элемента и других элементов сочлененного объекта, воздействуя на степени свободы сочлененного объекта 10.

При использовании методики, основанной на минимальном расстоянии, в случае непосредственного приближения столкновение предотвращается путем отведения данного сочлененного элемента от других сочлененных элементов сочлененного объекта после отмены перемещения, ведущего к столкновению.

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

Кроме того, сочлененный объект 10 может передвигаться оператором, воздействующим на положение и/или ориентацию, и/или степени свободы этого сочлененного объекта, в режиме реального времени.

Так второй уровень 52 многофакторной системы 50 может также содержать глобальный управляющий фактор 23, воздействующий на глобальное положение и/или глобальную ориентацию сочлененного объекта 10, и внутренний управляющий фактор 33, воздействующий на внутренние степени свободы сочленений 12 сочлененного объекта 10.

1. Способ перемещения, выполнением последовательности элементарных перемещений, в виртуальном пространстве (13) виртуального сочлененного объекта (10), содержащего совокупность сочлененных элементов (11), связанных между собой совокупностью сочленений (12), с определением относительных положений сочлененных элементов (11) углами сочленений в соответствии со степенями свободы, причем способ включает следующие этапы:

вычисляют расстояние взаимодействия между данным сочлененным элементом (11с) и другими сочлененными элементами (11) сочлененного объекта (10);

определяют по указанному расстоянию взаимодействия первую точку (Р1), принадлежащую данному сочлененному элементу (11с), и вторую точку (Р2), принадлежащую одному из других сочлененных элементов (11) сочлененного объекта, таким образом, что расстояние взаимодействия соответствует глубине проникновения данного сочлененного элемента (11с) и одного из других сочлененных элементов (11) или минимальному расстоянию между данным сочлененным элементом (11с) одним из других сочлененных элементов (11);

по результатам указанного определения первой и второй точек (P1, P2) находят единственный вектор () отведения, причем при расстоянии взаимодействия, соответствующем глубине проникновения, первая и вторая точки (P1, P2) образуют начальную и конечную точки указанного вектора () соответственно, а при расстоянии взаимодействия, соответствующему минимальному расстоянию, первая и вторая точки (P1, P2) образуют конечную и начальные точки указанного вектора () соответственно;

отводят данный сочлененный элемент (11с) от других сочлененных элементов (11) сочлененного объекта при помощи движения, определенного в соответствии с единственным вектором () отведения и воздействующего на степени свободы сочлененного объекта (10) для предотвращения столкновения данного сочлененного элемента (11с) с другими сочлененными элементами (11) сочлененного объекта.

2. Способ по п.1, отличающийся тем, что указанные этапы вычисления расстояния взаимодействия, определения первой и второй точек, определения вектора () отведения и отведения данного сочлененного элемента повторяют для каждого из сочлененных элементов (11) сочлененного объекта (10) для предотвращения столкновения каждого сочлененного элемента с остальными частями сочлененного объекта.

3. Способ по п.1, отличающийся тем, что дополнительно включает этап определения наличия столкновения данного сочлененного элемента (11с) с другими сочлененными элементами (11) сочлененного объекта (10), проводимый после каждого элементарного движения в последовательности элементарных движений.

4. Способ по п.1, отличающийся тем, что расстояние взаимодействия соответствует глубине проникновения таким образом, что вектор () отведения равен разности координат второй точки (Р2) и первой точки (Р1), причем указанная глубина проникновения обеспечивает возможность перемещения сочлененного объекта (10) с ограниченными и контролируемыми столкновениями между его сочлененными элементами.

5. Способ по п.1, отличающийся тем, что расстояние взаимодействия соответствует минимальному расстоянию таким образом, что вектор () отведения равен разности координат первой точки (Р1) и второй точки (Р2), причем указанное минимальное расстояние обеспечивает возможность перемещения сочлененного объекта (10) без столкновений между его сочлененными элементами.

6. Способ по п.1, отличающийся тем, что дополнительно включает этап отмены последнего элементарного движения в указанной последовательности элементарных движений при наличии столкновения данного сочлененного элемента (11с) с другими сочлененными элементами (11) сочлененного объекта (10).

7. Способ по п.1, отличающийся тем, что отведение данного сочлененного элемента (11с) от других сочлененных элементов (11) сочлененного объекта (10) осуществляют вращательным движением сочленения, воздействующим на каждое из сочленений (12), принадлежащих к последовательности сочленений, предшествующей данному сочлененному элементу, причем вращательное движение, воздействующее на каждое из сочленений (12а), принадлежащих к указанной последовательности, включает следующие этапы:

определяют первый вектор (1) между центром сочленения данного сочленения (12а) и начальной точкой вектора () отведения;

определяют второй вектор (2) между центром сочленения данного сочленения (12а) и конечной точкой вектора () отведения;

вычисляют угол () поворота, необходимый для совмещения первого вектора со вторым вектором;

вычисляют элементарный угол или элементарные углы поворота сочленения путем разложения указанного угла поворота () по оси или осям, определяющим степень (степени) свободы, соответствующую (соответствующие) данному сочленению;

поворачивают сочлененный элемент в данном сочленении (12а) на угол или углы, пропорциональные указанному углу или указанным углам сочленения.

8 Способ по п.7, отличающийся тем, что угол поворота вычисляют по векторному произведению первого и второго векторов.

9. Способ по п.7, отличающийся тем, что элементарный угол или элементарные углы сочленения вычисляют по скалярному произведению или скалярным произведениям указанного векторного произведения и оси или осей степеней свободы данного сочленения.

10. Способ по п.1, отличающийся тем, что отведение сочлененного элемента от других сочлененных элементов сочлененного объекта осуществляют с помощью фактора (34) внутреннего скольжения, воздействующего на степени свободы сочлененного объекта.

11. Способ п.1, отличающийся тем, что сочлененный объект определяется в виртуальном пространстве своим глобальным положением и глобальной ориентацией таким образом, что перемещение сочлененного объекта осуществляют с помощью фактора притяжения, воздействующего на глобальное положение и/или глобальную ориентацию, и/или степени свободы сочлененного объекта.

12. Способ по п.1, отличающийся тем, что дополнительно включает этап перемещения сочлененного объекта в режиме реального времени, осуществляемого оператором при помощи управляющего фактора, воздействующего на положение и/или ориентацию, и/или степени свободы сочлененного объекта.

13. Способ по любому из пп.1-12, отличающийся тем, что сочлененный объект представляет собой виртуальный манекен (10а), перемещающийся по полу виртуального пространства, причем данный манекен определяется своим положением на указанном виртуальном полу, ориентацией относительно вертикальной оси, перпендикулярной указанному полу и проходящей через центр тяжести манекена, и степенями свободы, определяющими совокупность его сочлененных элементов.



 

Похожие патенты:

Изобретение относится к способу отображения трехмерного многоугольника на экране, в котором трехмерный многоугольник, который является геометрически неполным и, следовательно, не может быть отображен на экране посредством автоматической триангуляции в общей библиотеке трехмерной графики, может быть отображен на экране.

Изобретение относится к навигации в трехмерной сцене на дисплее. .

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

Изобретение относится к технологии послойного формообразования в составе систем ускоренного прототипирования на базе лазерно-компьютерного макетирования. .

Изобретение относится к технологии послойного формообразования в составе систем ускоренного прототипирования на базе лазерно-компьютерного макетирования. .

Изобретение относится к вычислительной технике и может быть использовано для моделирования системы радиосвязи. .

Изобретение относится к области вычислительной техники и может быть использовано при автоматизированном управлении конструированием. .

Изобретение относится к области макетирования трехмерных объектов и может быть использовано для изготовления моделей деталей и узлов механизмов и машин. .
Изобретение относится к области вычислительной техники и может быть использовано в качестве видеомониторинга при компьютерной обработке данных о процессах различной природы.
Изобретение относится к вычислительной технике и может быть использовано для изучения физических пространств. .

Изобретение относится к области информационных технологий и может быть использовано при проектировании сложных технических изделий

Изобретение относится к области имитации перемещения виртуального сочлененного объекта в виртуальном пространстве

Изобретение относится к способам адаптивного присваивания меток двухмерному изображению многомерного объекта

Изобретение относится к способу обработки изображений и, в частности, к способу, который может быть использован для усиления восприятия трехмерной глубины и формы, изображенных на основе двумерных изображений, и производных сред виртуальной реальности (ВР)

Изобретение относится к области информационных технологий и может быть использовано при проектировании на компьютере сложных технических изделий

Изобретение относится к вычислительной технике, в частности к системам и способам для визуализации виртуальных трехмерных объектов
Наверх