Способ и вычислительное устройство сохранения данных для отрисовки графических объектов

Иллюстрации

Показать все

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

Реферат

Область техники

[0001] Настоящее техническое решение относится к способу и системе хранения данных для отрисовки графических объектов.

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

[0002] В компьютерных технологиях широко распространено использование графических объектов. Графические объекты используются в графическом дизайне, картографических сервисах и во многих других областях. Машиночитаемые хранилища вычислительных устройств (и персональных устройств, и других устройств, таких как серверы поставщиков сервисов) могут хранить информацию, представляющую множество графических объектов, причем эта информация может быть использована для создания визуального представления графических объектов. Информация, представляющая множество графических объектов, может включать в себя стандартные координаты графических объектов. Стандартные координаты дают возможность размещения графических объектов в пространстве с помощью выбора набора чисел или букв, определяющих конкретное положение в пространстве. Координаты часто выбираются таким образом, что одно из чисел представляет вертикальное положение, а два или три числа представляют горизонтальное положение. Обычно используются следующие координаты: широта, долгота и высота.

[0003] Сохранение координат графических объектов требует значительных объемов машиночитаемых носителей. Следовательно, становится важным решение проблемы экономного хранения координат объектов. Одним из возможных решений является сохранение границ графических объектов как карт высот. Технология карт высот позволяет сохранить двумерные объекты с помощью сохранения одной прямой линии (базовой линии) и указания «высот» (отклонений) относительно базовой линии, что определяет координаты кривой линии, идущей вдоль базовой линии.

[0004] Более конкретно, в патенте США, озаглавленном «Способ моделирования и отрисовки сложных поверхностей с использованием локальных карт высот» (US 6441816В1) раскрыт способ моделирования и отрисовки трехмерной сложной поверхности с использованием треугольных ячеек. Способ может уменьшить объем необходимой памяти и время отрисовки с помощью локальных карт высот и присвоения соседних координат любой точке на поверхности возле треугольной ячейки, присвоенной этой поверхности. Барицентрические координаты используются для идентификации точек в треугольном полигоне для работы с данными высот на локальной карте высот, связанной с этим треугольным полигоном. Локальные карты высот дают возможность выявлять пересечения луча с трехмерной поверхностью. Константы Липшица, связанные с трехмерными поверхностями, используются для обнаружения точки на следующем луче, ближайшем к трехмерной поверхности, чтобы перейти на эту точку, что делает поиск таких точек пересечения эффективным.

Раскрытие

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

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

[0007] Одним предметом настоящего технического решения является компьютерный способ сохранения данных для отрисовки графического объекта. Графический объект имеет немонотонную границу. Граница определяется своими стандартными координатами. Способ включает в себя: (i) на основе стандартных координат создание границы графического объекта; (ii) применение к границе графического объекта на предварительно определенных интервалах по меньшей мере двух пересекающих элементов, причем каждый пересекающий элемент пересекает границу графического объекта в соответствующей точке пересечения под одинаковым углом пересечения, причем угол пересечения находится в диапазоне углов более нуля градусов и менее 180 градусов; (iii) измерение множества углов между пересекающими элементами и, в ответ на то, что поменьшей мере один угол между двумя частными пересекающими элементами превышает предварительно определенный порог, разделение границы на фрагменты границы в точках, расположенных в соответствующем интервале, определенном этими частными пересекающими элементами, чтобы создать по меньшей мере один монотонный фрагмент границы; (iv) создание базовых линий для каждого созданного монотонного фрагмента границы для получения проекций на каждую базовую линию с каждого фрагмента границы соответственно, таким образом, что каждый фрагмент границы является монотонным относительно его соответствующей базовой линии, и сохранение множества координат базовых линий; (v) проецирование высот с каждого монотонного фрагмента границы на их соответствующие базовые линии, причем проецирование осуществляется с предварительном определенным шагом высот, начиная от начала соответствующего монотонного фрагмента границы и заканчивая концом соответствующего монотонного фрагмента границы; (vi) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базовой линией и соответствующей точкой на соответствующем монотонном фрагменте границы, причем значения высот нужны для создания карт высот для монотонных фрагментов границы; (vii) сохранение данных для отрисовки монотонного фрагмента границы как совокупности: множества координат базовых линий и шага высот, причем шаг высот указывает на интервалы между проекциями высот, а также последовательности значений высот в связи с соответствующей базовой линией.

[0008] В некоторых вариантах осуществления настоящего технического решения этапы (i) измерения множества углов между пересекающими элементами и (ii) разделения границы на фрагменты границы осуществляются последовательно и периодически перед созданием базовых линий для фрагментов границ.

[0009] В некоторых вариантах осуществления настоящего технического решения графический объект является двумерным графическим объектом.

[0010] В некоторых вариантах осуществления настоящего технического решения создание границы графического объекта является созданием линии.

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

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

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

[0014] В некоторых вариантах осуществления настоящего технического решения значения высот выбираются из: положительных значений, нулевого значения, отрицательных значений.

[0015] В некоторых вариантах осуществления настоящего технического решения каждый угол пересечения между каждым пересекающим элементом и границей графического объекта в каждой соответствующей точке пересечения равен 90 градусов.

[0016] Другим предметом настоящего технического решения является вычислительное устройство сохранения данных для отрисовки графического объекта. Графический объект обладает немонотонными границами, определенными стандартными координатами. Вычислительное устройство включает в себя процессор. Вычислительное устройство включает в себя носитель информации. Носитель информации хранит машиночитаемые инструкции, которые, при их исполнении, инициируют выполнение процессором: (i) на основе стандартных координат создания границы графического объекта; (ii) применения к границе графического объекта на предварительно определенных интервалах по меньшей мере двух пересекающих элементов, причем каждый пересекающий элемент пересекает границу графического объекта в соответствующей точке пересечения под одинаковым углом пересечения, причем угол пересечения находится в диапазоне углов более нуля градусов и менее 180 градусов; (iii) измерения множества углов между пересекающимиэлементами и, в ответ на то, что по меньшей мере один угол между двумя частными пересекающими элементами превышает предварительно определенный порог, разделение границы на фрагменты границы в точках, расположенных в соответствующем интервале, определенном этими частными пересекающими элементами, чтобы создать по меньшей мере один монотонный фрагмент границы; (iv) создания базовых линий для каждого созданного монотонного фрагмента границы для получения проекций на каждую базовую линию с каждого фрагмента границы соответственно, таким образом, что каждый фрагмент границы является монотонным относительно его соответствующей базовой линии, и сохранение множества координат базовых линий; (v) проецирования высот с каждого монотонного фрагмента границы на их соответствующие базовые линии, причем проецирование осуществляется с предварительном определенным шагом высот, начиная от начала соответствующего монотонного фрагмента границы и заканчивая концом соответствующего монотонного фрагмента границы; (vi) определения значений высот, причем каждое значение высот представляет расстояние между соответствующей базовой линией и соответствующей точкой на соответствующем монотонном фрагменте границы, причем значения высот нужны для создания карт высот для монотонных фрагментов границы; (vii) сохранения данных для отрисовки монотонного фрагмента границы как совокупности: множества координат базовых линий и шага высот, причем шаг высот указывает на интервалы между проекциями высот, а также последовательности значений высот в связи с соответствующей базовой линией.

[0017] В некоторых вариантах осуществления вычислительного устройства этапы (i) измерения множества углов между пересекающими элементами и (ii) разделения границы на фрагменты границы осуществляются последовательно и периодически перед созданием базовых линий для фрагментов границ.

[0018] В некоторых вариантах осуществления вычислительного устройства графический объект является двумерным графическим объектом.

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

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

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

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

[0023] В некоторых вариантах осуществления вычислительного устройства значения высот выбираются из: положительных значений, нулевого значения, отрицательных значений.

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

[0025] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспеченияили аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».

[0026] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.

[0027] В контексте настоящего описания, если конкретно не указано иное, термин «координаты» подразумевает под собой расположение точек и/или линий, или тому подобного, в подходящих системах отсчета. Системы отсчета могут являться, например, числами и/или любыми другими символами, которые используются для определения расположения точки и линии (включая кривые) в пространстве данного измерения относительно системы линий (осей) или в других неподвижных системах отсчета.

[0028] В контексте настоящего описания, если конкретно не указано иное, термин «пересекающий элемент» подразумевает под собой линии, которые пересекают границу графического объекта («пересекающая линия»). Однако в некоторых вариантах осуществления настоящего технического решения термин «пересекающий элемент» может означать другой пересекающий элемент, например, пересекающую плоскость, причем пересекающая плоскость пересекает границу графического объекта.

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

[0030] В контексте настоящего описания выражение «криволинейный угол» означает, если конкретно не указано иное, угол между линией и кривой, который определяется как угол между касательными в точке пересечения.

[0031] В контексте настоящего описания, если конкретно не указано иное, термин «градус» означает 1/360 оборота, и один оборот равен 360 градусов (360°).

[0032] В контексте настоящего описания, если конкретно не указано иное, выражение «бинарные градусы», также упоминаемое как «бинарный радиан», означает 1/256 оборота. Бинарный градус используется в вычислениях для того, чтобы угол можно было успешно представить одним байтом (хотя и с ограниченной точностью).

[0033] В контексте настоящего описания, если конкретно не указано иное, выражение «часовой угол» означает 1/24 оборота.

[0034] В контексте настоящего описания, если конкретно не указано иное, выражение «град», также упоминаемое как «гон», означает 1/400 оборота, и, таким образом, прямой угол равен 100 град. Это десятичная субъединица квадранта.

[0035] В контексте настоящего описания, если конкретно не указано иное, «информация» включает в себя любую информацию любого типа, включая информацию, которую можно хранить в базе данных. Таким образом, информация включает в себя, среди прочего, данные (картографические данные, данные о местоположении, цифровые данные и т.д.), аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.

[0036] В контексте настоящего описания, если конкретно не указано иное, слово «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

[0037] В контексте настоящего описания, если конкретно не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски ит.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.

[0038] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первая исходная граница» и «третья исходная граница» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) исходных границ / между исходными границами, равно как и их использование (само по себе) не предполагает, что некая «вторая исходная граница» обязательно должна существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» элемент и «второй» элемент могут являться одним и тем же элементом, а в других случаях они могут являться разными элементами.

[0039] В контексте настоящего описания, если конкретно не указано иное, выражение «графический объект» подразумевает под собой любой графический объект, который может быть отображен на экране компьютера (или другими средствами визуального вывода). Графические объекты могут быть любыми двумерными объектами, включая линейные объекты. Графические объекты могут иметь любую форму. Границы графических объектов могут быть прямыми или кривыми линиями, или и тем, и другим, в зависимости от графического объекта.

[0040] В контексте настоящего описания, если конкретно не указано иное, термин «граница» графического объекта подразумевает под собой границу графического объекта или фрагмент границы графического объекта. Границы могут быть линиями (кривыми, прямыми, или и теми и другими). В некоторых вариантах осуществления настоящего технического решения границы графического объекта могут совпадать с этим графическим объектом (например, когда графической объект является линейным объектом, таким как кривая или прямая линия).

[0041] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данного технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять другим целям, отдельно не указанным здесь.

[0042] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.

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

[0043] Для лучшего понимания настоящего технического решения, а также других ее аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:

[0044] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантом осуществления настоящего технического решения.

[0045] На Фиг. 2 представлен неограничивающий пример двумерного графического объекта, реализованного в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0046] На Фиг. 3 представлен альтернативный неограничивающий пример двумерного графического объекта, реализованного в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0047] На Фиг. 4 представлен этап применения к границе графического объекта на предварительно определенных интервалах множества пересекающих элементов, причем этап применения к границе графического объекта множества пересекающих элементов выполняется процессором системы с Фиг. 1 в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0048] На Фиг. 5 представлен угол между пересекающими элементами, причем пересекающие элементы применены к границе графического объекта процессором системы с Фиг. 1 в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0049] На Фиг. 6 представлено создание процессором системы с Фиг. 1 базовых линий для фрагментов границы, причем базовые линии созданы в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0050] На Фиг. 7 представлен неограничивающий пример высот, спроецированных на предварительно определенный интервал на базовой линии под углом 90 градусов, причем высоты были спроецированы процессором системы с Фиг. 1 в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0051] На Фиг. 8 представлен этап определения значений высот, причем этап определения значений высот осуществляется процессором системы с Фиг. 1 в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

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

[0053] На Фиг. 10 альтернативно представлен этап определения значений высот по отношению к базовой линии с Фиг. 9, причем этап определения значений высот осуществляется процессором системы с Фиг. 1 в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.

[0054] На Фиг. 11 представлена блок-схема способа сохранения данных для отрисовки графического объекта с Фиг. 2, причем графический объект имеет немонотонную границу, определенную стандартными координатами, и способ является примером настоящего технического решения, не ограничивающим его объем.

Осуществление

[0055] На Фиг. 1 представлена схема системы 100, выполненная в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляетсобой описание показательных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание показательного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где это еще не было сделано, т.е. там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.

[0056] Система 100 включает в себя компьютерное устройство 102, являющееся сервером 102. Сервер 102 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 102 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 102 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 102 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 102 может быть разделена и может выполняться с помощью нескольких серверов.

[0057] В некоторых вариантах осуществления настоящего технического решения сервер 102 может находиться под контролем и/или управлением поставщика картографическихсервисов, такого, например, как поставщик сервиса Яндекс. Карты (Yandex Maps™). В альтернативных вариантах осуществления настоящего технического решения сервер 102 может получать доступ к картографическому сервису, предоставляемому сторонними поставщиками. В других вариантах осуществления настоящего технического решения сервер 102 может находиться под контролем и/или управлением поставщика таких сервисов, как сервисы компьютерных игр, сервисы графического дизайна и других сервисов, имеющих отношение к компьютерной графике.

[0058] Сервер 102 включает в себя носитель 104 информации, который может использоваться сервером 102. В общем случае носитель 104 информации может быть выполнен как носитель любого характера и вида, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. а также их комбинацию.

[0059] Варианты осуществления сервера 102 хорошо известны. Таким образом, достаточно отметить, что сервер 102 включает в себя, среди прочего, интерфейс сетевой передачи данных (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети передачи данных (не изображена); и процессор 108, соединенный с интерфейсом сетевой передачи данных и носителем 104 информации, причем процессор 108 выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор 108 может иметь доступ к машиночитаемым инструкциям, хранящимся на носителе 104 информации, выполнение которых инициирует реализацию процессором 108 различных описанных здесь процедур.

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

[0061] Носитель 104 информации выполнен с возможностью хранить данные, включая машиночитаемые инструкции и другие данные, включая данные графических объектов любого типа. В некоторых вариантах осуществления настоящего технического решения носитель 104 информации может хранить по меньшей мере часть данных в базе данных 106. В других вариантах осуществления настоящего технического решения носитель 104информации может хранить по меньшей мере часть данных в любом наборе данных, который отличается от базы данных.

[0062] Данные, сохраненные на носителе 104 информации (и, более конкретно, по меньшей мере частично, в некоторых вариантах осуществления настоящего технического решения, в базе данных 106) могут включать в себя стандартные координаты для отрисовки графических объектов любого типа.

[0063] Графические объекты могут быть двумерными объектами любого типа. Двумерные объекты могут быть двумерными линейными объектами (например, линией) и двумерными пространственными объектами (например, треугольником).

[0064] Границы графических объектов определяют их контуры. Границы линейных объектов, например, линий, совпадают с этими объектами. Другими словами, линейный графический объект имеет те же самые координаты, что его границы. Границы двумерных пространственных объектов могут быть прямыми линиями и/или кривыми линиями. Кривые линии могут быть правильной геометрической формы (например, окружность, эллипс, квадрат) и/или неправильной геометрической формы.

[0065] Границы графических объектов могут быть определены стандартными координатами. Примером стандартной системы координат является декартова система координат.

[0066] Графические объекты могут быть монотонными или немонотонными. Двумерный графический объект является монотонным по отношению к прямой линии (базовой линии), если каждая линия, ортогональная к базовой линии, пересекает границу графического объекта только один раз. Двумерный графический объект является немонотонным по отношению к прямой линии (базовой линии), если каждая линия, ортогональная к базовой линии, пересекает границу графического объекта не менее двух раз.

[0067] Примеры графических объектов, не ограничивающие объем настоящего технического решения, изображены на Фиг. 2 и Фиг. 3.

[0068] На Фиг. 2 изображен неограничивающий пример графического объекта 200. Графический объект 200 является двумерным линейным графическим объектом в виде кривой линии. Координаты границ графического объекта 200 могут быть определены на основе декартовой системы координат. Декартова система координат является системойкоординат, которая определяет каждую точку на плоскости с помощью двух численных координат, которые являются расстояниями знаковой величины от точки до фиксированных перпендикулярных направленных линий, Y-оси 202 и Х-оси 204, причем это расстояние измеряется в одинаковых единицах длины. Термин «расстояния знаковой величины» означает, что каждое ненулевое вещественное число может быть либо положительным, либо отрицательным. Оси 202, 204 называются координатными осями или просто осями системы, и точка 206, где эти оси пересекаются, является началом координат, обычно в упорядоченной паре (0;0). Координаты также могут быть определены как положения перпендикулярных проекций точки на две оси, выраженные как расстояния знаковой величины от начала координат. Например, координаты точки 208 (2;6), координаты точки 210 (2;1), координаты точки 212 (4;6), координаты точки 214 (4;1), а координаты точки 216 (6;6).

[0069] Графический объект 200 является немонотонным по отношению к Х-оси 204 (базовой линии), поскольку не каждая линия, ортогональная к Х-оси (204) пересекает границу графического объекта 200 только один раз. Как можно видеть на Фиг. 2, ортогональная линия, спроецированная на Х-ось 204 из точки 208 пересекает границу графического объекта 200 в двух точках 208 и 210. Аналогично, множество линий, спроецированные на Х-ось 204 из точек слева и справа от точки 208 пересекают границу графического объекта 200 в двух точках. Кроме того, некоторые линии, спроецированные на Х-ось 204 из точек справа от точки 208 пересекают границу графического объекта 200 в трех точках (не изображены).

[0070] Графический объект 200 является также немонотонным по отношению к Y-оси 202 (базовой линии), поскольку не каждая линия, ортогональная к Y-оси 202, пересекает границу графического объекта 200 только один раз. Как можно видеть на Фиг. 2, ортогональная линия, спроецированная на Y-ось 202 из точки 216, пересекает границу графического объекта 200 в трех точках 216, 212 и 208. Аналогично, некоторые другие линии, спроецированные на Y-ось 202 из границы графического объекта 200, пересекают границу графического объекта 200 в двух или трех точках.

[0071] На Фиг. 3 изображен неограничивающий пример графического объекта 300. Графический объект 300 также является двумерным линейным графическим объектом в виде кривой линии. Координаты графического объекта 300 могут быть определены на основе стандартных координат. Графический объект 300 является линией, соединяющейточки, обладающие следующими координатами: (-8;-1), (-7;-1), (-6;-1), (-5;-1), (-4;-1), (-3;-0,5), (-2;0), (-1;0,5), (0;1), (2;1), (3;1,75), (4;2,2), (5;2), (6;1,75), (7;0,2), (8;0), (9;-0,3); (10;-0,8), (11;-0,8), (12;-0,8), (13;-0,8), (14;-0,8). Графический объект 300 является монотонным по отношению к базовой линии, которая в этом примере является прямой линией, соединяющей точки 302 и 304, так как каждая линия, ортогональная прямой линии, соединяющей две точки 302 и 304, пересекает границу графического объекта 200 только один раз. В этом примере базовая линия проходит вдоль части Х-оси 204. Базовая линия сама по себе может обладать стандартными координатами, определяющими длину и положение базовой линии в двумерном пространстве. В альтернативных вариантах осуществления настоящего технического решения базовая линия может проходить в любом направлении (например, вдоль Y-оси 202), и может быть расположена в любой части двумерного пространства.

[0072] Графический объект может быть монотонным по отношению к одной базовой линии, и немонотонным по отношению к другой линии. Например, графический объект 300 является немонотонным по отношению к Y-оси 202, поскольку некоторые линии, ортогональные Y-оси 202, пересекают границу графического объекта 300 дважды. Например, одна линия, ортогональная Y-оси 202, будет пересекать границу первого графического объекта 300 в двух точках, обладающих координатами (-2;0) и (8;0).

[0073] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют извлечение процессором 108 стандартных координат графического объекта и, на основе этих координат, создание границы графического объекта. Например, процессор 108