Настоящее изобретение относится в целом к способу управления элементом отображения, сгенерированным на экране дисплея консолью для видеоигр, соединенной с игровым контроллером. В частности, настоящее изобретение относится к управлению элементом отображения, когда игровой контроллер содержит рычаг или джойстик, перемещаемый пользователем с целью управления положением и/или перемещением элемента отображения, который может представлять собой целевой курсор или вид, обозреваемый аватаром пользователя, например, из положения в игре или из места управления.
В предшествующем уровне техники известно использование как декартовой системы координат, так и полярной системы координат для управления измерением положения рычага, как раскрыто в документе ЕР 2450776 А1. Однако из-за стандартизированного формата игровой консоли часто необходимо отправлять координаты на игровую приставку, используя декартову систему координат.
Обычной практикой является проецирование измеренных положений в базовой плоскости (которая может быть, например, перпендикулярна рычагу, когда последний находится в положении покоя, например, в вертикальном положении). В случае, когда рычаг может поворачиваться в зоне перемещения, ограниченной механическим стопором (таким как круг, шестиугольник или другой многоугольник любой формы, даже в виде эллипса), обычно отправляют на консоль предельный сигнал, когда рычаг застопорен и в соответствии с одной из диагоналей базовой плоскости, и не увеличивают этот сигнал, когда рычаг проходит внутри зон четвертей круга за пределами краев квадрата, вписанного в проекцию механического стопора и имеющего вершины на диагоналях, указанных выше.
Заданная зона перемещения рычага определяется как зона пространства, в которой рычаг может перемещаться, прежде чем застопорится, например, корпусом игрового контроллера. Как известно, этот стопор может представлять собой круг или многоугольник, такой как, например, восьмиугольник, шестиугольник или даже эллипс.
Следовательно, этот режим управления приводит к ограничению зоны смещения (которая имеет спроецированную форму в виде круга, шестиугольника или другого многоугольника, любой формы или даже эллипса) эффективной зоной измерения (которая представляет собой квадрат, вписанный в спроецированный круг).
Цель настоящего изобретения состоит в реагировании на недостатки из документа известного уровня техники, указанные выше в настоящем документе, и, в частности, в том, чтобы, прежде всего, предложить способ управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, содержащим рычаг управления, выполненный с возможностью перемещения пользователем с по меньшей мере двумя степенями свободы в заданной зоне, который использует всю зону перемещения рычага управления во время отправки декартовых координат на консоль для игр.
С этой целью первый аспект настоящего изобретения относится к способу управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, содержащим рычаг управления, выполненный с возможностью перемещения пользователем с по меньшей мере двумя степенями свободы в заданной зоне, причем способ включает следующие этапы:
- измерение положения рычага управления в заданной зоне с помощью по меньшей мере одного датчика, выводящего по меньшей мере один электрический сигнал на степень свободы,
- проецирование в базовой плоскости положения рычага управления, измеренного указанным по меньшей мере одним датчиком, с определением первого набора координат,
- определение круга положений, центрованного в положении покоя рычага управления и проходящего через спроецированное положение рычага управления в базовой плоскости,
- определение квадрата, описанного вокруг круга положений,
- проецирование на квадрат, описанный вокруг, по меньшей мере одной координаты из первого набора координат,
- вычисление второго набора координат в декартовой системе координат на основании проекции указанной по меньшей мере одной координаты первого набора координат на квадрат, описанный вокруг, с обеспечением, таким образом, возможности отправки на консоль второго набора декартовых координат, который является образом первого набора координат.
Способ в соответствии с вышеприведенной реализацией включает этап, который определяет квадрат, описанный вокруг круга положений (то есть квадрат, который вмещает круг положений, и каждая сторона которого является касательной к кругу положений), который обеспечивает возможность проецирования на одну из сторон квадрата, описанного вокруг, спроецированного положения в базовой плоскости. Эта вторая проекция позволяет перейти из спроецированного положения, которое находится в круге положений, во второе спроецированное положение (определяемое проекцией по меньшей мере одной из координат спроецированного положения), которое в свою очередь находится на квадрате, описанном вокруг. Это позволяет легко определять декартовы координаты, и, даже если рычаг управления механически застопорен на механическом стопоре круглой, шестиугольной или многоугольной формы, любой формы или даже эллиптической формы, получают, естественно, те координаты, которые находятся на квадрате, описанном вокруг наибольшего круга положений (поскольку рычаг управления механически застопорен). Для тех положений рычага, в которых проекция принадлежит кругу положений и квадрату, описанному вокруг, преобразование не изменяет координаты, но для всех остальных положений способ сводится к расширению нормы вектора положения (при проекции на квадрат, описанный вокруг), с получением координат на квадрате.
Следовательно, проекция на квадрат, описанный вокруг, определяет точку второго положения (имеющую в качестве координат второй набор координат), которая позволяет построить второй вектор между началом координат (положением покоя) и второй точкой, у которой норма больше или равна норме первого вектора, построенного между исходным положением и спроецированным положением в базовой плоскости. Нормы будут равны только в том случае, если рычаг управления перемещен в главном направлении, во всех остальных случаях норма второго вектора будет больше, чем норма первого вектора.
Следует отметить, что когда рычаг управления перемещается в соответствии с главной осью (то есть только вертикально или горизонтально, или, опять же, только по абсциссе или только по ординате), то не происходит никакого преобразования координат, поскольку круг положений расположен тангенциально к квадрату, описанному вокруг. Следовательно, когда рычаг управления перемещается куда-либо еще, кроме как по главной оси, или в точку, где спроецированное положение принадлежит к кругу положений и квадрату, описанному вокруг, проекция квадрата, описанного вокруг, сводится к увеличению или удлинению одной из измеренных координат, чтобы определить второй набор декартовых координат.
Также рычаг может быть смонтирован на игровом контроллере с применением шарнирного соединения, то есть являться подвижным относительно двух поворотных направлений, но не относительно поступательного перемещения или третьего поворотного направления (как правило, вокруг рычага). Однако способ также применим к рычагу, подвижному относительно двух поступательных перемещений в плоскости, и заблокированному относительно трех поворотов и одного поступательного перемещения. Как указано, достаточно, чтобы рычаг был подвижным с двумя степенями свободы, чтобы способ, образующий цель настоящего изобретения, был применим.
Также проекция в базовой плоскости предпочтительно является ортогональной проекцией относительно базовой плоскости, но наклонная проекция также возможна, то есть направление проекции не перпендикулярно базовой плоскости, а наклонено (по меньшей мере, например, на несколько градусов) относительно базовой плоскости. Другими словами, базовая плоскость может быть перпендикулярной рычагу, когда последний находится в положении покоя, но это не является необходимым для реализации способа, образующего цель настоящего изобретения. Однако требования к хорошему разрешению (четкости) должны оставаться в силе, чтобы направление проекции не было наклонено более чем, например, на 20° относительно базовой плоскости. Это равносильно реализации проекции в базовой плоскости, которая не перпендикулярна рычагу управления в положении покоя.
Предпочтительно этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат, описанный вокруг, включает этап, предусматривающий определение спроецированной точки положения как точки пересечения оси, определяющей радиус круга положений, проходящей через спроецированное положение, с квадратом, описанным вокруг. Другими словами, спроецированное положение проецируется снова в направлении радиуса, который определяет одну из координат в полярной или цилиндрической системе координат (расстояние от начала координат).
Согласно предпочтительному способу, этап проецирования указанной по меньшей мере одной координаты первого набора координат на квадрат, описанный вокруг, включает этап, предусматривающий проецирование на квадрат, описанный вокруг, спроецированного положения, в соответствии с направлением проекции, определенной радиусом круга положений, проходящим через спроецированное положение.
Предпочтительно этап вычисления второго набора декартовых координат включает:
- этап, предусматривающий вычисление первой длины как длины сегмента, соединяющего центр круга положений со спроецированным положением,
- этап, предусматривающий вычисление второй длины как длины сегмента, соединяющего центр круга положений со спроецированной точкой положения, (расположенной на квадрате, описанном вокруг),
- этап, предусматривающий умножение каждой координаты из первого набора координат на коэффициент, определенный отношением второй длины к первой длине. Первый набор координат соответствует декартовой системе, и последний этап данного осуществления предусматривает реализацию гомотетии по каждой координате первого набора координат. Коэффициент гомотетии больше или равен 1 и равен отношению расстояния от начала спроецированной точки положения (принадлежащей квадрату, описанному вокруг) к расстоянию от начала спроецированного положения (принадлежащего кругу положений). Коэффициент гомотетии равен 1 только тогда, когда рычаг управления перемещается в главном направлении, или в положении, где спроецированное положение принадлежит одновременно кругу положений и квадрату, описанному вокруг. Во всех остальных случаях он больше 1. В случае кругового механического стопора отношение является максимальным, когда рычаг управления находится на диагонали, оно равно квадратному корню из 2 (около 1,414).
Согласно первой альтернативе, этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат, описанный вокруг, включает по меньшей мере один этап, предусматривающий проецирование на квадрат, описанный вокруг, спроецированного положения, в соответствии с направлением проекции, определенной осью ортонормальной системы координат.
Согласно конкретному случаю первой альтернативы, этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат, описанный вокруг, включает:
- единственный этап, заключающийся в проецировании на квадрат, описанный вокруг, спроецированного положения, в первом направлении проекции, определенном осью ортонормальной системы координат, определяющей кратчайшее расстояние между спроецированным положением и квадратом, описанным вокруг, для определения единственной точки проекции. Этот способ позволяет избежать вычисления коэффициентов преобразования, быстро отправляя второй набор координат.
Предпочтительно, второй набор декартовых координат определен декартовыми координатами единственной точки проекции.
В качестве второй альтернативы, настоящее изобретение относится к способу управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, содержащим рычаг управления, выполненный с возможностью перемещения пользователем с по меньшей мере двумя степенями свободы в заданной зоне, причем способ включает следующие этапы:
- измерение положения рычага управления в заданной зоне с помощью по меньшей мере одного датчика, выводящего по меньшей мере один электрический сигнал на степень свободы,
- проецирование в базовой плоскости положения рычага управления, измеренного указанным по меньшей мере одним датчиком, с определением первого набора координат,
- определение углового сектора, содержащего спроецированное положение рычага управления, из совокупности угловых секторов, заданных базовой плоскостью, при этом каждый угловой сектор содержит по меньшей мере одну контрольную точку, через которую проходит контрольный круг, отцентрованный в положении покоя рычага управления,
- определение контрольного квадрата, описанного вокруг контрольного круга определенного углового сектора (содержащего спроецированное положение),
- определение по меньшей мере одного коэффициента умножения, определяемого как функция определенного углового сектора на основании проекции контрольной точки на контрольный квадрат, описанный вокруг,
- вычисление второго набора координат посредством умножения каждой координаты из первого набора координат на указанный по меньшей мере один коэффициент умножения, с обеспечением, таким образом, возможности отправки на консоль второго набора декартовых координат, который является образом первого набора координат. Способ согласно данному осуществлению всегда использует проекцию контрольного круга в направлении квадрата, описанного вокруг, но определяет коэффициент умножения, являющийся верным для набора точек, объединенных в один угловой сектор. Другими словами, преобразование выполняется для группы точек. Но так же, как и в первом аспекте, проекция контрольной точки, образующей часть круга, проходит такой же путь, чтобы определить вторую спроецированную точку, образующую часть квадрата, описанного вокруг круга.
Способ в данном случае также определяет вторую точку положения (характеризующуюся вторым набором координат в качестве координат), которая позволяет построить второй вектор между началом (положением покоя) и второй точкой положения, норма которого больше или равна норме первого вектора, построенного между началом и спроецированным положением в базовой плоскости. Нормы будут равны только в том случае, если рычаг управления смещен в главном направлении или находится в положении, где спроецированное положение принадлежит одновременно кругу положений и квадрату, описанному вокруг, а где-либо еще норма второго вектора будет больше нормы первого вектора.
Предпочтительно, каждый угловой сектор из множества заданных угловых секторов определяют посредством пересечения двух прямых линий, проходящих через положение покоя, с двумя кругами, центрованными в положении покоя, с отсечением и покрытием, таким образом, всей плоскости возможных проекций положения рычага управления в базовой плоскости. Другими словами, каждый угловой сектор представляет собой часть вершины или четверть диска. Возможно дальнейшее сегментирование разделения или сегментации в зонах, удаленных от положения покоя, чтобы сохранить ту же точность вычислений.
Предпочтительно, этапы, предусматривающие определение круга положений, определение квадрата, описанного вокруг круга положений, проецирование на квадрат, описанный вокруг, указанной по меньшей мере одной координаты и вычисление второго набора координат в декартовой системе координат (согласно предпочтительному осуществлению, первой альтернативе или второй альтернативе) осуществляют предварительно для всех возможных спроецированных положений рычага управления в базовой плоскости, с определением таблицы заданных преобразований первого набора координат во второй набор координат. Другими словами, этапы, относящиеся к проекции, выполняют до использования игрового контроллера для создания таблицы заданных преобразований, которая хранится в компьютерном средстве хранения игрового контроллера. Следовательно, во время использования игрового контроллера количество вычислений ограничено.
Предпочтительно, указанная таблица заданных преобразований предусматривает ввод первого набора координат и вывод коэффициента умножения для каждой координаты из первого набора координат с вычислением второго набора координат. Вычисления ограничены умножением первого набора координат на коэффициент.
Предпочтительно, указанная таблица заданных преобразований предусматривает ввод первого набора координат и вывод второго набора координат.
Другими словами, этапы, предусматривающие определение круга положений, определение квадрата, описанного вокруг круга положений, проецирование на квадрат, описанный вокруг, по меньшей мере одной указанной координаты и вычисление второго набора координат в декартовой системе координат осуществляют предварительно с использованием таблицы заданных преобразований, при этом указанная таблица заданных преобразований предусматривает ввод первого набора координат и вывод коэффициента умножения для каждой координаты из первого набора координат с вычислением второго набора координат.
Предпочтительно, способ управления включает этап, предусматривающий отправку второго набора декартовых координат на консоль для игр.
Предпочтительно, положение и/или перемещение элемента отображения, сгенерированного на экране дисплея, преобразовывают на основании второго набора декартовых координат.
Предпочтительно, этапы до этапа вычисления второго набора координат проводят с первым разрешением, и при этом предусмотрен этап, предусматривающий уменьшение разрешения перед этапом отправки второго набора координат, для отправки второго набора координат со вторым разрешением, которое ниже первого разрешения. Данное осуществление сохраняет хорошую точность при вычислениях и позволяет отправлять второй набор координат в формате, который не требует большого вычислительного времени для консоли для игр или большого времени передачи между контроллером и консолью.
Другие характеристики и преимущества настоящего изобретения станут более понятными после прочтения следующего подробного описания трех вариантов осуществления изобретения, приведенных в качестве неограничивающих примеров и проиллюстрированных прилагаемыми графическими материалами, на которых:
- на фиг. 1 показан вид в разрезе рычага управления игрового контроллера для управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, посредством способа согласно настоящему изобретению;
- на фиг. 2 показано первое осуществление обработки измеренного положения рычага управления по фиг. 1, выполненное способом согласно настоящему изобретению;
- на фиг. 3 показано второе осуществление обработки измеренного положения рычага управления по фиг. 1, выполненное способом согласно настоящему изобретению;
- на фиг. 4а и 4b показано третье осуществление обработки измеренного положения рычага управления по фиг. 1, выполненное способом согласно настоящему изобретению;
- на фиг. 5 показан случай, в котором рычаг управления может быть перемещаемым в зоне, ограниченной механическим стопором шестиугольной формы.
На фиг. 1 показан рычаг 10 управления игрового контроллера. Такой рычаг 10 управления также может быть назван «джойстиком» или «ручкой». Как правило, такой рычаг 10 управления расположен на верхней поверхности игрового контроллера с возможностью приведения в действие и перемещения пользователем консоли для видеоигр, например, для перемещения персонажа, смещения вида прицеливания или даже движения виртуальной камеры в игре.
В общем, рычаг 10 управления является, таким образом, подвижным относительно корпуса 20 игрового контроллера с возможностью приведения в действие относительно корпуса 20 с применением шарнирного соединения, как показано на фиг. 1. Также возможны и другие варианты соединений между рычагом 10 управления и корпусом 20, как, например, соединение, допускающее только плоскостное перемещение рычага 10 управления.
Однако рычаг 10 управления может быть перемещен лишь в заданную зону смещения и ограничен круговым стопором 20а. В показанном случае стопор 20а представляет собой край корпуса 20, образующий отверстие, через которое рычаг 10 управления проходит через корпус 20. Следовательно, последующее описание относится к круглой форме механического стопора, при этом другие формы стопора являются возможными и будут указанны после описания настоящего конкретного варианта осуществления. Для обнаружения перемещения рычага 10 управления последний соединен с по меньшей мере одним датчиком 12 положения, таким как потенциометр. Такой датчик 12 положения обнаруживает перемещение рычага 10 управления и, таким образом, вычисляет, например, положение точки PL рычага 10 управления.
В данном случае рычаг 10 управления может перемещаться здесь с двумя степенями свободы, так что, конечно, можно предусмотреть два датчика положения или один датчик положения с двумя измерительными дорожками для точного измерения всех положений, которые может занимать рычаг 10 управления.
Стопор 20а представляет собой круг (конечно, как указано выше в настоящем документе, возможны другие геометрии стопора: многоугольник, шестиугольник, восьмиугольник, эллипс), и, если положения точки PL проецируются на базовую плоскость, перпендикулярную рычагу управления, когда последний находится в положении покоя (как показано на фиг. 1 сплошными линиями), все спроецированные положения находятся в стопорном круге Cm, показанном на фиг. 2 или 3. Базовая плоскость может быть наклонена на несколько градусов от плоскости, перпендикулярной рычагу управления, когда последний находится в положении покоя, при этом проекция круглого механического стопора будет представлять собой эллипс в этой наклоненной плоскости.
Фактически на фиг. 2 и 3 показан стопорный круг Cm, который ограничивает смещение рычага 10 управления. Выражаясь обычными терминами, следует понимать, что при достижении стопора рычагом 10 управления, игровой контроллер должен отправить информацию на консоль для игр, указывающую, что смещение максимально, когда рычаг 10 управления достиг стопора.
Однако перемещение рычага 10 управления ограничено кругом, но консоль для игр должна получать данные о положении от рычага 10 управления в форме набора декартовых координат, при этом норма вектора между началом декартовой системы координат и спроецированным положением в базовой плоскости должна быть максимальной.
В декартовой системе координат (х-х'; у-у'), показанной на фиг. 2 и 3, когда рычаг 10 управления стопорится, упершись вверх, в направлении диагонали 45°, сигнал, отправленный на консоль, должен быть предельным, таким образом, декартовы координаты равны, например, (1, 1). Однако, если вписанный квадрат Cim очерчен внутри круга Cm и если рычаг 10 управления смещен вверх с выходом из вписанного квадрата Cim, при этом все еще находясь в круге Cm в незастопоренном виде, координата по оси у'-у должна быть дополнительно увеличена, но это исказит интерпретацию, выполняемую консолью, поскольку норма вектора между началом и спроецированным положением в базовой плоскости будет большей, чем когда рычаг 10 управления застопорен на диагонали.
Следовательно, будет иметь место несоответствие интенсивности перемещения, восстановленного консолью: интенсивность будет равна 1, когда спроецированное положение рычага управления лежит на диагонали 45° и на круге Cm (рычаг 10 управления упирается под углом 45°), и будет иметь большую интенсивность, когда спроецированное положение рычага управления находится вне вписанного квадрата Cim, но не на круге Cm (рычаг 10 управления не застопорен).
Чтобы избежать этой несогласованности, как только спроецированное положение рычага 10 управления покидает вписанный квадрат Cim, одна из декартовых координат накладывается на 1, что равносильно игнорированию четырех зон смещения, которые являются четвертями диска, определяемыми зонами стопорного круга Cm, которые находятся за пределами вписанного квадрата Cim.
Следует понимать, что при перемещении рычага 10 управления в главном направление (спроецированное положение, таким образом, лежит на одной из осей уу' или хх'), предел диапазона достигается, как только спроецированное положение оказывается на вписанном квадрате Cim или пересекает его.
Чтобы устранить этот недостаток и решить вопрос о всей зоне перемещения стопорного круга Cm, в настоящем изобретении предлагаются вычисления набора координат, который будет отправлен на консоль для игр, путем создания гомотетии от спроецированного положения рычага управления в базовой плоскости.
На фиг. 2 показано осуществление данного вычисления применительно к двум конкретным случаям.
В первом конкретном случае, рычаг управления находится в положении А, и спроецированное положение в плоском основании имеет координаты (a1, а2). Изначально определен круг Ср положений, который проходит через спроецированное положение координат (a1, а2), и который отцентрован в положении покоя рычага управления (начало системы координат (хх', уу')).
Далее способ определяет квадрат Сср, описанный вокруг круга положений Ср, и определяет точку пересечения радиуса, проходящего через спроецированное положение координат (a1, а2), с квадратом Сср, описанным вокруг, который имеет координаты (а'1, а'2).
Это те координаты (а'1, а'2), которые могут быть отправлены на консоль для игр. Для их вычисления длину радиуса R1 круга положений, который проходит через точку (a1, а2) определяют по теореме Пифагора (уравнение 1). И после определяют длину R2 сегмента, который имеет в качестве своих концов начало системы координат и точку с координатами (а'1, а'2) по теореме Фалеса (уравнение 2).
Уравнение 1
R1=√(a12+a22)
Уравнение 2
R2=(a12+а22)/а2
Затем остается умножить каждую координату из первого набора координат (a1, а2) на отношение R2/R1, чтобы найти координаты второго набора координат (а'1, а'2).
Таким образом, способ выполняет гомотетию на основании разницы в размере между кругом Ср положений и квадратом Сср, описанным вокруг него. Спроецированное положение искусственно «увеличивают» или «смещают» в направлении квадрата Сср, описанного вокруг, чтобы найти второй набор координат. Это относится к проекции в радиальном направлении.
Следует заметить, что второй набор координат равен первому набору координат, когда рычаг управления смещен только в главном направлении (вдоль оси хх' или уу'): коэффициент гомотетии в этом случае равен 1. Также коэффициент гомотетии максимален, когда рычаг 10 управления смещен вдоль диагонали: коэффициент тогда равен 1,414, то есть, квадратному корню из 2.
Следовательно, консоль действительно получает второй набор декартовых координат, достигающих предела диапазона только когда рычаг управления застопорен, достигая этого без игнорирования зоны измерений.
Позиция В на фиг. 2 правильно показывает застопоренный рычаг 10 управления и координаты спроецированного положения, равные (b1, b2), расположенные на стопорном круге Cm. Преобразование сводится к вычислению проекции спроецированной позиции на квадрат Ccm, описанный вокруг, в соответствии с радиальным направлением, проходящим через спроецированную позицию, для вычисления второго набора координат (b'1, b'2), который будет отправлен на консоль.
Способ согласно настоящему изобретению может выполнять этапы определения круга Ср положений, квадрата Сср, описанного вокруг, и проекции каждого измерения положения рычага 10 управления с вычислением второго набора координат с помощью коэффициента гомотетии, или же заданная таблица может быть построена путем вычисления коэффициента гомотетии для всех возможных положений, сохранения данной заданной таблица в игровой контроллер и простого нахождения соответствующего отношения как функции измеренной позиции и умножения измеренных координат на правильное отношение, с получением второго набора координат. Альтернативно, второй набор координат может быть сохранен непосредственно в заданной таблице.
На фиг. 3 показана первая альтернатива. В этой альтернативе определение круга Ср положений и квадрата Сср, описанного вокруг, является идентичным. Однако, вместо того, чтобы проецировать спроецированное положение в радиальном направлении, способ производит единственную проекцию, параллельную одной из осей хх' или уу', и в частности, в направлении стороны квадрата, описанного вокруг, которая является ближайшей, с получением второго набора декартовых координат, который нужно послать на консоль для игр.
В частности, в конкретном случае, в котором рычаг 10 управления находится в положении А, первый набор координат спроецированного положения равен (a1, а2). Ближайшая сторона квадрата Сср, описанного вокруг, является верхней горизонтальной стороной, так что координаты второго набора координат равны (а'1, а'2), где:
а'1=a1
a'2=√(a12+a22)
В том случае, если рычаг 10 управления находится в положении В (застопорен), первый набор координат спроецированного положения (на круг Cm, таким образом) равен (b1, b2), и ближайшая сторона квадрата Ccm, описанного вокруг, является вертикальной правой стенкой, таким образом, проекция спроецированного положения на квадрат Ccm, описанный вокруг, будет иметь значение (b'1, b'2) в качестве второго набора координат, где:
b'1=√(b12+b22)
b'2=b2
На фиг. 4а и 4b показано третье возможное осуществление для определения второго набора декартовых координат для отправки на консоль для игр.
В данном осуществлении стопорный круг Cm и квадрат, описанный вокруг него, не показаны, чтобы не загромождать фигуры. Фактически вся площадь стопорного круга Cm разделена на угловые сектора Si. На фиг. 4а показан один из них, и именно он содержит спроецированное положение рычага 10 управления в положении А. Рассматриваемый угловой сектор Si является частью вершины, ограниченной в боковом (или угловом) направлении двумя прямыми линиями, проходящими через центр системы координат (положение покоя рычага 10 управления). Вся площадь стопорного круга Cm разделена на угловые секторы, так что для каждого спроецированного положения рычага управления можно определить конкретный угловой сектор, который его содержит.
Для каждого углового сектора возможно определить контрольную точку, находящуюся в этом угловом секторе, круг Ср положений, который проходит через эту контрольную точку, и квадрат Сср, описанный вокруг, к этому контрольному кругу. Возможно определить проекцию контрольной точки на квадрат Сср, описанный вокруг, в соответствии с радиальным направлением и определить коэффициент умножения как отношение длин сегмента, соединяющего проекцию контрольной точки (на квадрат Сср, описанный вокруг) с началом, и радиуса круга положений. Это проводят для каждого углового сектора Si.
Следовательно, для каждой точки, образующей элемент конкретного углового сектора Si, возможно умножить ее координаты из первого набора координат на коэффициент умножения конкретно для данного сектора, чтобы вычислить второй набор координат. Как показано на фиг. 4b, все точки углового сектора Si спроецированы с одинаковым коэффициентом умножения в направлении углового сектора Si, имеющего в целом квадратную форму.
Другими словами, способ реализует обработку в виде пакетов или угловых секторов, чтобы ограничить вычисления, которые необходимо выполнить, с помощью таблицы коэффициентов умножения, которая хранится в игровом контроллере, и которая дает значение используемого коэффициента умножения в виде функции углового сектора Si, который содержит спроецированное положение.
Конечно, при наличии двух измерений коэффициент умножения содержит два значения, по одному для каждого измерения.
Следует понимать, что разные модификации и/или улучшения, очевидные для специалиста в данной области техники, могут быть выполнены относительно разных вариантов осуществления изобретения, описанных в настоящем описании, без отступления от объема изобретения, определяемого прилагаемыми пунктами формулы изобретения. В частности, выполнена ссылка на первый набор координат, при этом не указано конкретно, какой формат использован для первого набора координат. Настоящее изобретение может функционировать, используя первый набор цилиндрических, сферических или даже декартовых координат.
Как было указанно выше в настоящем документе, случай, в котором механический стопор имеет круглую форму, был детально проанализирован, но возможен и случай, в котором механический стопор имеет, например, шестиугольную форму, как показано на фиг. 5. Способ остается тем же, включающим проецирование положения рычага на базовую плоскость, последующего определения круга положений, который проходит через спроецированное положение рычага управления, после проецирование спроецированного положения на квадрат, описанный вокруг круга положений.
Однако когда рычаг управления находится в механическом стопоре на корпусе, он не может быть продвинут дальше шестиугольной формы, показанной на фиг. 5. В том случае, если рычаг управления смещен только по оси хх', корпус быстро стопорит его, при этом может быть определен первый круг Cm1 положений, а также квадрат Ccm1, описанный вокруг. В том случае, если рычаг управления смещен только по оси уу', он может быть перемещен дальше до того, как корпус застопорит его (в область вершины шестиугольника), при этом может быть определен второй круг Cm2 положений, а также второй квадрат Ccm2, описанный вокруг.
Поскольку второй квадрат Ccm2, описанный вокруг, имеет больший размер, чем квадрат Ccm1, описанный вокруг, существует искажение в полученном втором наборе координат, имеющем, естественно, большую норму, когда рычаг механически застопорен в области вершины (второй квадрат Ccm2, описанный вокруг), а не в середине стороны (квадрат Ccm1, описанный вокруг). Однако это искажение вносится формой механического стопора, а не способом настоящего изобретения.
Также можно видеть, что рычаг управления не может передвинуться до вершин многоугольной формы механического стопора (поскольку рычаг управления имеет диаметр, из-за которого он будет застопорен на двух пересекающихся сторонах, формирующих вершину), что сводится лишь к «закруглению» вершин показанного шестиугольника, чтобы получить возможные положения застопоренного рычага управления. Способ, характеризующийся проекцией на базовую плоскость, определением круга положений, квадрата, описанного вокруг, и проекций, остается таким же.
Изобретение относится к области вводных устройств для передачи данных. Технический результат заключается в исключении ограничения зоны смещения (которая имеет спроецированную форму в виде круга, шестиугольника или другого многоугольника, любой формы или даже эллипса) эффективной зоной измерения (которая представляет собой квадрат, вписанный в спроецированный круг). Технический результат достигается за счет определения круга положений (Ср), центрованного в положении покоя рычага (10) управления и проходящего через спроецированное положение рычага (10) управления в базовой плоскости, определения квадрата (Сср), описанного вокруг круга положений (Ср), проецирования на квадрат (Сср), описанного вокруг, по меньшей мере одной координаты из первого набора координат, вычисления второго набора координат в декартовой системе координат на основании проекции указанной по меньшей мере одной координаты первого набора координат на квадрат (Сср), описанный вокруг, с обеспечением, таким образом, возможности отправки на консоль второго набора декартовых координат, который является образом первого набора координат. 2 н. и 13 з.п. ф-лы, 6 ил.
1. Способ управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, содержащим рычаг (10) управления, выполненный с возможностью перемещения пользователем с по меньшей мере двумя степенями свободы в заданной зоне, причем способ включает следующие этапы:
- измерение положения рычага (10) управления в заданной зоне с помощью по меньшей мере одного датчика (12), выводящего по меньшей мере один электрический сигнал на степень свободы,
- проецирование в базовой плоскости положения рычага (10) управления, измеренного указанным по меньшей мере одним датчиком (12), с определением первого набора координат,
- определение круга положений (Ср), центрованного в положении покоя рычага (10) управления и проходящего через спроецированное положение рычага (10) управления в базовой плоскости,
- определение квадрата (Сср), описанного вокруг круга положений (Ср),
- проецирование на квадрат (Сср), описанный вокруг, по меньшей мере одной координаты из первого набора координат,
- вычисление второго набора координат в декартовой системе координат на основании проекции указанной по меньшей мере одной координаты первого набора координат на квадрат (Сср), описанный вокруг, с обеспечением, таким образом, возможности отправки на консоль второго набора декартовых координат, который является образом первого набора координат.
2. Способ управления по предыдущему пункту, отличающийся тем, что этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат (Сср), описанный вокруг, включает этап, предусматривающий определение спроецированной точки положения как точки пересечения оси, определяющей радиус круга положений (Ср), проходящей через спроецированное положение, с квадратом (Сср), описанным вокруг.
3. Способ управления по п. 1, отличающийся тем, что этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат (Сср), описанный вокруг, включает этап, предусматривающий проецирование на квадрат (Сср), описанный вокруг, спроецированного положения, в соответствии с направлением проекции, определенной радиусом круга положений (Ср), проходящим через спроецированное положение.
4. Способ управления по п. 2 или 3, отличающийся тем, что этап вычисления второго набора декартовых координат включает:
- этап, предусматривающий вычисление первой длины как длины сегмента, соединяющего центр круга положений (Ср) со спроецированным положением,
- этап, предусматривающий вычисление второй длины как длины сегмента, соединяющего центр круга положений (Ср) со спроецированной точкой положения,
- этап, предусматривающий умножение каждой координаты из первого набора координат на коэффициент, определенный отношением второй длины к первой длине.
5. Способ управления по п. 1, отличающийся тем, что этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат (Сср), описанный вокруг, включает по меньшей мере один этап, предусматривающий проецирование на квадрат (Сср), описанный вокруг, спроецированного положения, в соответствии с направлением проекции, определенной осью ортонормальной системы координат.
6. Способ управления по п. 1 или 5, отличающийся тем, что этап проецирования указанной по меньшей мере одной координаты из первого набора координат на квадрат (Сср), описанный вокруг, включает:
- единственный этап, предусматривающий проецирование на квадрат (Сср), описанный вокруг, спроецированного положения, в соответствии с первым направлением проекции, определенной осью ортонормальной системы координат, определяющей кратчайшее расстояние между спроецированным положением и квадратом (Сср), описанным вокруг, с определением единственной точки проекции.
7. Способ управления по предыдущему пункту, отличающийся тем, что второй набор декартовых координат определен декартовыми координатами единственной точки проекции.
8. Способ управления положением и/или перемещением элемента отображения, сгенерированного на экране дисплея консолью для видеоигр, соединенной с игровым контроллером, содержащим рычаг (10) управления, выполненный с возможностью перемещения пользователем с по меньшей мере двумя степенями свободы в заданной зоне, причем способ включает следующие этапы:
- измерение положения рычага (10) управления в заданной зоне с помощью по меньшей мере одного датчика (12), выводящего по меньшей мере один электрический сигнал на степень свободы,
- проецирование в базовой плоскости положения рычага (10) управления, измеренного указанным по меньшей мере одним датчиком (12), с определением первого набора координат,
- определение углового сектора, содержащего спроецированное положение рычага (10) управления, из совокупности угловых секторов, заданных базовой плоскостью, при этом каждый угловой сектор содержит по меньшей мере одну контрольную точку, через которую проходит контрольный круг, отцентрованный в положении покоя рычага (10) управления,
- определение контрольного квадрата, описанного вокруг контрольного круга,
- определение по меньшей мере одного коэффициента умножения, определяемого как функция определенного углового сектора на основании проекции контрольной точки на контрольный квадрат, описанный вокруг,
- вычисление второго набора координат посредством умножения каждой координаты из первого набора координат на указанный по меньшей мере один коэффициент умножения, с обеспечением, таким образом, возможности отправки на консоль второго набора декартовых координат, который является образом первого набора координат.
9. Способ управления по предыдущему пункту, отличающийся тем, что каждый угловой сектор из множества заданных угловых секторов определяют посредством пересечения двух прямых линий, проходящих через положение покоя, с двумя кругами, центрованными в положении покоя, с отсечением и покрытием, таким образом, всей плоскости возможных проекций положения рычага (10) управления в базовой плоскости.
10. Способ управления по любому из пп. 1-7, отличающийся тем, что этапы, предусматривающие определение круга положений (Ср), определение квадрата (Сср), описанного вокруг круга положений (Ср), проецирование на квадрат (Сср), описанный вокруг, указанной по меньшей мере одной координаты, и вычисление второго набора координат в декартовой системе координат, осуществляют предварительно для всех возможных спроецированных положений рычага (10) управления в базовой плоскости, с определением таблицы заданных преобразований первого набора координат во второй набор координат.
11. Способ управления по предыдущему пункту, отличающийся тем, что указанная таблица заданных преобразований предусматривает ввод первого набора координат и вывод коэффициента умножения для каждой координаты из первого набора координат с вычислением второго набора координат.
12. Способ управления по п. 10, отличающийся тем, что указанная таблица заданных преобразований предусматривает ввод первого набора координат и вывод второго набора координат.
13. Способ управления по любому из предыдущих пунктов, отличающийся тем, что включает этап, предусматривающий отправку второго набора декартовых координат на консоль для игр.
14. Способ управления по предыдущему пункту, отличающийся тем, что этапы до этапа вычисления второго набора координат проводят с первым разрешением, и при этом предусмотрен этап, предусматривающий уменьшение разрешения перед этапом отправки второго набора координат, для отправки второго набора координат со вторым разрешением, которое ниже первого разрешения.
15. Способ управления по любому из предыдущих пунктов, отличающийся тем, что положение и/или перемещение элемента отображения, сгенерированного на экране дисплея, преобразовывают на основании второго набора декартовых координат.
Способ получения иодида серебра | 1977 |
|
SU823271A1 |
СПОСОБ ПОЛУЧЕНИЯ НЕКУРИТЕЛЬНОГО ИЗДЕЛИЯ ИЗ МАХОРКИ | 2011 |
|
RU2450776C1 |
US 9179182 B2, 03.11.2015 | |||
АВТОМАТИЧЕСКОЕ ГЕНЕРИРОВАНИЕ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ | 2010 |
|
RU2560340C2 |
СПОСОБ И УСТРОЙСТВО КОМПАКТНОГО ГРАФИЧЕСКОГО ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ | 2012 |
|
RU2519059C2 |
Авторы
Даты
2020-11-12—Публикация
2017-08-17—Подача