Способ и система хранения данных для отрисовки трехмерных графических объектов
Иллюстрации
Показать всеИзобретение относится к технологиям отрисовки трехмерных графических объектов. Техническим результатом является минимизация затрат памяти за счет хранения координат трехмерных графических объектов в виде карт высот. Предложен компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта, обладающего немонотонной поверхностью. Согласно способу на основании стандартных координат трехмерного графического объекта создают поверхность трехмерного графического объекта. Далее создают первую эталонную петлю, расположенную на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект. Применяют к поверхности трехмерного графического объекта первый набор пересекающих элементов таким образом, что пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах. 2 н. и 14 з.п. ф-лы, 11 ил.
Реферат
Область техники
[0001] Настоящее техническое решение относится к способу и системе хранения данных для отрисовки трехмерных графических объектов.
Уровень техники
[0002] В компьютерных технологиях широко распространено использование трехмерных графических объектов. Они используются в графическом дизайне, картографических сервисах и во многих других областях. Машиночитаемые хранилища вычислительных устройств могут хранить информацию, представляющую множество трехмерных графических объектов, причем эта информация может быть использована для создания визуального представления трехмерных графических объектов. Информация, представляющая множество трехмерных графических объектов, может включать в себя стандартные координаты трехмерных графических объектов.
[0003] Стандартные координаты дают возможность размещения трехмерных графических объектов в пространстве с помощью выбора набора чисел или букв, определяющих конкретное положение в пространстве. Координаты часто выбираются таким образом, что одно из чисел представляет вертикальное положение, а два числа представляют горизонтальное положение. Обычно используются следующие координаты: широта, долгота и высота. Другим примером стандартных координат являются полярные координаты относительно расположения наблюдателя.
[0004] Сохранение координат трехмерных графических объектов требует значительных объемов машиночитаемых носителей. Поэтому решение проблемы экономного хранения координат объектов становится важной задачей. Одним из возможных решений является сохранение поверхностей трехмерных графических объектов как карт высот. Технология карт высот позволяет сохранить трехмерные графические объекты с помощью сохранения одной базовой поверхности и указания «высот» (отклонений) относительно базы, что определяет координаты искривленной поверхности, идущей вдоль базы.
[0005] Более конкретно, в патенте США, озаглавленном «Способ моделирования и отрисовки сложных поверхностей с использованием локальных карт высот» (US 6441816 В1) раскрыт способ моделирования и отрисовки трехмерной сложной поверхности с использованием треугольных ячеек. Способ может уменьшить объем необходимой памяти и время отрисовки с помощью локальных карт высот и присвоения соседних координат любой точке на поверхности возле треугольной ячейки, присвоенной этой поверхности. Барицентрические координаты используются для идентификации точек в треугольном полигоне для работы с данными высот на локальной карте высот, связанной с этим треугольным полигоном. Локальные карты высот дают возможность выявлять пересечения луча с трехмерной поверхностью. Константы Липшица, связанные с трехмерными поверхностями, используются для обнаружения точки на следующем луче, ближайшем к трехмерной поверхности, чтобы перейти на эту точку, что делает поиск таких точек пересечения эффективным.
[0006] Резюмируя, сохранение поверхностей монотонных трехмерных графических объектов возможно с использованием технологий карт высот, на что может тратиться меньше памяти по сравнению с сохранением их в декартовых координатах или в иной стандартной системе координат. Хотя технологии карт высот подходят для сохранения поверхностей монотонных трехмерных графических объектов, они не подходят для сохранения немонотонных поверхностей.
Раскрытие
[0007] Поверхности трехмерных графических объектов могут храниться в стандартной системе координат, но способы хранения, требующие меньших затрат памяти, дают техническое преимущество. Задачей предлагаемого технического решения является минимизация по меньшей мере некоторых недостатков, присущих известному уровню техники.
[0008] Одним объектом настоящего технического решения является компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта. Трехмерный графический объект имеет немонотонную поверхность. Способ создания данных карт высот использует стандартные координаты. Стандартные координаты хранятся на носителе информации. Стандартные координаты определяют поверхность трехмерных графических объектов. Способ включает в себя: (i) на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта; (ii) создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (iii) применение к поверхности трехмерного графического объекта первого набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости; (iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (v) определение среди созданных фрагментов поверхности (созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности; (vi) в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.
[0009] В некоторых вариантах осуществления настоящего технического решения пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.
[0010] В некоторых вариантах осуществления настоящего технического решения измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.
[0011] В некоторых вариантах осуществления настоящего технического решения указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, и способ дополнительно включает в себя: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.
[0012] В некоторых вариантах осуществления настоящего технического решения каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.
[0013] В некоторых вариантах осуществления настоящего технического решения указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, способ дополнительно включает в себя: (i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости; (iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну раздельную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, образованных из немонотонных фрагментов; (v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.
[0014] В некоторых вариантах осуществления настоящего технического решения создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя: (i) создание баз для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, чтобы были проекции на каждую базу от каждого фрагмента поверхности соответственно, и сохранение координат баз; (ii) проецирование высот с каждого из по меньшей мере одного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот; (iii) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, и значения высот нужны для создания карт высот монотонных фрагментов поверхности; (iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.
[0015] В некоторых вариантах осуществления настоящего технического решения создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.
[0016] В некоторых вариантах осуществления настоящего технического решения значения высот являются по меньшей мере либо положительным значением, либо нулевым значением, либо отрицательным значением.
[0017] Другим объектом настоящего технического решения является вычислительное устройство для создания данных карт высот для отрисовки трехмерного графического объекта, причем трехмерный графический объект имеет немонотонную поверхность. Немонотонная поверхность определяется стандартными координатами. Вычислительное устройство включает в себя процессор. Вычислительное устройство включает в себя носитель информации. Носитель информации хранит программные инструкции, которые, при их исполнении, инициируют выполнение процессором: (i) на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта; (ii) создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (iii) применение к поверхности трехмерного графического объекта первого набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости; (iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (v) определение среди созданных фрагментов поверхности (созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности; (vi) в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.
[0018] В некоторых вариантах осуществления настоящего технического решения пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.
[0019] В некоторых вариантах осуществления настоящего технического решения измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.
[0020] В некоторых вариантах осуществления настоящего технического решения указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, и способ дополнительно включает в себя: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.
[0021] В некоторых вариантах осуществления настоящего технического решения каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.
[0022] В некоторых вариантах осуществления настоящего технического решения указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, процессор дополнительно осуществляет: (i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости; (iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, образованных из немонотонных фрагментов; (v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.
[0023] В некоторых вариантах осуществления настоящего технического решения создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя: (i) создание баз для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, чтобы были проекции на каждую базу от каждого фрагмента поверхности соответственно, и сохранение координат баз; (ii) проецирование высот с каждого из по меньшей мере одного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот; (iii) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, и значения высот нужны для создания карт высот монотонных фрагментов поверхности; (iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.
[0024] В некоторых вариантах осуществления настоящего технического решения создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.
[0025] В некоторых вариантах осуществления настоящего технического решения значения высот являются по меньшей мере либо положительным значением, либо нулевым значением, либо отрицательным значением.
[0026] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».
[0027] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.
[0028] В контексте настоящего описания, если конкретно не указано иное, выражение «трехмерный графический объект» подразумевает под собой любой трехмерный графический объект, который может быть отображен на экране компьютера (или другими средствами визуального вывода). Трехмерные графические объекты могут быть любыми трехмерными графическими объектами, включая плоские объекты, линейные объекты и другие объекты. Трехмерные графические объекты могут иметь любую форму. Поверхности трехмерных графических объектов могут быть плоскими или искривленными поверхностями, или их комбинацией, в зависимости от трехмерного графического объекта.
[0029] В контексте настоящего описания, если конкретно не указано иное, термин «координаты» подразумевает под собой любые системы координат, подходящие для определения положения в пространстве. Координаты могут определять положение точек, линий, поверхностей с помощью подходящих систем координат. Системы отсчета могут являться, например, числами и/или любыми другими символами, которые используются для определения расположения точки, линии, поверхности в пространстве данного измерения относительно системы линий (осей) или в других неподвижных системах отсчета.
[0030] В контексте настоящего описания, если конкретно не указано иное, выражение «стандартные координаты» подразумевает любые стандартные координаты - например, декартовы координаты, полярные координаты относительно расположения наблюдателя, и другие координаты, известные в данной области техники, кроме координат, сохраненных как карта высот. Координаты карт высот, даже те, что известны в данной области техники, конкретно упоминаются как карты высот.
[0031] В контексте настоящего описания, если конкретно не указано иное, поверхность трехмерного графического объекта называется «монотонной» по отношению к плоской поверхности («базе»), если каждая воображаемая линия («высота»), спроецированная с плоской поверхности («базы») на поверхность трехмерного графического объекта, пересекающая поверхность трехмерного графического объекта, и являющаяся ортогональной к базе, пересекает поверхность трехмерного графического объекта только один раз. «Монотонная поверхность» может быть искривленной или плоской поверхностью. Например, любая плоская поверхность, не являющаяся перпендикулярной базе, является монотонной поверхностью по отношению к этой базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, северная или южная полусферическая оболочка, не обладающая толщиной, является монотонной по отношению к расположенной горизонтально базе.
[0032] В контексте настоящего описания, если конкретно не указано иное, поверхность называется «монотонной» по отношению к базе, если по меньшей мере одна высота, спроецированная с плоской поверхности («базы») на поверхность трехмерного графического объекта, являющаяся ортогональной к базе, пересекает поверхность трехмерного графического объекта больше, чем один раз. «Немонотонная поверхность» может быть искривленной или плоской поверхностью. В качестве примера, не ограничивающего объем настоящего технического решения, поверхность шара является немонотонной по отношению к любой базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, северная или южная полусферическая оболочка, не обладающая толщиной, является немонотонной по отношению к расположенной вертикально базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, любая плоская поверхность, перпендикулярная базе, является немонотонной поверхностью по отношению к этой базе.
[0033] В контексте настоящего описания, если конкретно не указано иное, термин «пересекающий элемент» подразумевает плоскую поверхность, которая пересекает поверхность трехмерного графического объекта.
[0034] В контексте настоящего описания, если конкретно не указано иное, термин «угол» означает угол наклона между двумя линиями и плоскостями, или между их воображаемыми продолжениями. В контексте настоящего описания некоторые линии или плоскости могут быть параллельными, и, следовательно, угол наклона между ними может быть нулевым. Принимая это во внимание, в контексте настоящего описания, когда две линии или плоскости параллельны, угол рассматривается как существующий и равный нулю градусов. Термин «угол» включает в себя также криволинейные углы.
[0035] В контексте настоящего описания выражение «криволинейный угол» означает, если конкретно не указано иное, угол между плоской поверхностью и искривленной поверхностью, который определяется как угол между векторами, пересекающими плоскую поверхность и искривленную поверхность в конкретной точке, причем конкретная точка выбирается в пределах линии пересечения, а линия пересечения является линией, по которой пересекаются две поверхности (плоская и искривленная). «Криволинейный угол» также может быть углом между прямой линией и кривой линией, который определяется как угол между этой прямой линией и касательной к кривой линии в точке пересечения.
[0036] В контексте настоящего описания, если конкретно не указано иное, термин «градус» означает 1/360 оборота, и один оборот равен 360 градусов (360°).
[0037] В контексте настоящего описания, если конкретно не указано иное, «информация» включает в себя любую информацию любого типа, включая информацию, которую можно хранить в базе данных. Таким образом, информация включает в себя, среди прочего, данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.
[0038] В контексте настоящего описания, если конкретно не указано иное, слово «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).
[0039] В контексте настоящего описания, если конкретно не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[0040] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первая поверхность» и «третья поверхность» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) поверхностей/между поверхностями, равно как и их использование (само по себе) не предполагает, что некая «вторая поверхность» обязательно должна существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» элемент и «второй» элемент могут являться одним и тем же элементом, а в других случаях они могут являться разными элементами.
[0041] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данного технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
[0042] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[0043] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
[0044] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0045] На Фиг. 2 представлен не ограничивающий объем настоящего технического решения пример первой эталонной петли, причем первая эталонная петля была создана вокруг поверхности трехмерного графического объекта, и первая эталонная петля была создана в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0046] На Фиг. 3 представлен не ограничивающий объем настоящего технического решения пример вида сверху трехмерного графического объекта, изображенного на Фиг. 2.
[0047] На Фиг. 4 представлен альтернативный пример трехмерного графического объекта, координатных осей и первой эталонной петли, реализованных в соответствии с вариантами осуществления настоящего технического решения и, не ограничивающими его объем.
[0048] На Фиг. 5 представлен трехмерный графический объект, изображенный на Фиг. 4, и первая воображаемая эталонная плоскость, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0049] На Фиг. 6 представлены видимые и невидимые части трехмерного графического объекта, изображенного на Фиг. 4, трех пересекающих элементов из первого набора пересекающих элементов, и углы между каждым пересекающим элементом из первого набора пересекающих элементов и поверхностью трехмерного графического объекта, изображенного на Фиг. 4, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0050] На Фиг. 7 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, и три пересекающих элемента из первого набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0051] На Фиг. 8 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, три пересекающих элемента из первого набора пересекающих элементов, и углы между пересекающими элементами из первого набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0052] На Фиг. 9 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, три пересекающих элемента из первого набора пересекающих элементов, вторая эталонная петля, и три пересекающих элемента из второго набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0053] На Фиг. 10 представлен способ измерения углов между двумя пересекающими элементами, не ограничивающий объем настоящего технического решения, причем измерения проводятся в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.
[0054] На Фиг. 11 представлена блок-схема способа сохранения данных для отрисовки трехмерного графического объекта с Фиг. 4, причем трехмерный графический объект имеет немонотонную поверхность, определенную своими стандартными координатами, и способ является примером настоящего технического решения, не ограничивающим его объем.
Осуществление
Технический обзор
[0055] Поверхности трехмерных графических объектов могут храниться в стандартной системе координат, но способы хранения, требующие меньших затрат памяти, дают различные технические преимущества. Среди таких преимуществ может быть упомянуто, например, снижение количества транзакций машиночитаемого носителя информации, снижение трафика в сети передачи данных, и другие. Задачей предлагаемого технического решения является минимизация по меньшей мере некоторых недостатков, присущих известному уровню техники.
[0056] Для быстрого ввода в курс предлагаемого технического решения будут описаны Фиг. 2 и Фиг. 3. На Фиг. 2 показан вертикальный боковой вид поверхности трехмерного графического объекта 200, в этом примере являющегося яблоком. На Фиг. 3 представлен вид сверху трехмерного графическ