RU2629439C2 - Method and system of storage of data for drawing three-dimensional graphic objects - Google Patents

Method and system of storage of data for drawing three-dimensional graphic objects Download PDF

Info

Publication number
RU2629439C2
RU2629439C2 RU2015156693A RU2015156693A RU2629439C2 RU 2629439 C2 RU2629439 C2 RU 2629439C2 RU 2015156693 A RU2015156693 A RU 2015156693A RU 2015156693 A RU2015156693 A RU 2015156693A RU 2629439 C2 RU2629439 C2 RU 2629439C2
Authority
RU
Russia
Prior art keywords
intersecting
intersecting elements
elements
dimensional graphic
graphic object
Prior art date
Application number
RU2015156693A
Other languages
Russian (ru)
Other versions
RU2015156693A (en
Inventor
Антон Васильевич КОРЗУНОВ
Роман Борисович Токарев
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2015156693A priority Critical patent/RU2629439C2/en
Publication of RU2015156693A publication Critical patent/RU2015156693A/en
Application granted granted Critical
Publication of RU2629439C2 publication Critical patent/RU2629439C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/08Volume rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/30Polynomial surface description

Abstract

FIELD: physics.
SUBSTANCE: computer way of creation of heights maps for drawing on the computing device of the three-dimensional graphic object possessing a nonmonotonic surface is offered. According to the method, based on the standard coordinates of the three-dimensional graphic object, the surface of the three-dimensional graphic object is created. Next, a first reference loop is created on the surface of the three-dimensional graphic object in such a way that the first reference loop is completely located in the first imaginary reference plane intersecting the three-dimensional graphic object. A first set of intersecting elements is applied to the surface of the three-dimensional graphic object in such a way that the crossing elements from the first set of intersecting elements intersect the first reference loop at the respective intersection points at predetermined intervals.
EFFECT: minimizing the memory costs by storing the coordinates of three-dimensional graphic objects in the form of height maps.
16 cl, 11 dwg

Description

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

[0001] Настоящее техническое решение относится к способу и системе хранения данных для отрисовки трехмерных графических объектов.[0001] The present technical solution relates to a method and a data storage system for rendering three-dimensional graphic objects.

Уровень техникиState of the art

[0002] В компьютерных технологиях широко распространено использование трехмерных графических объектов. Они используются в графическом дизайне, картографических сервисах и во многих других областях. Машиночитаемые хранилища вычислительных устройств могут хранить информацию, представляющую множество трехмерных графических объектов, причем эта информация может быть использована для создания визуального представления трехмерных графических объектов. Информация, представляющая множество трехмерных графических объектов, может включать в себя стандартные координаты трехмерных графических объектов.[0002] In computer technology, the use of three-dimensional graphic objects is widespread. They are used in graphic design, mapping services and in many other areas. Computer-readable storages of computing devices can store information representing a plurality of three-dimensional graphic objects, and this information can be used to create a visual representation of three-dimensional graphic objects. Information representing a plurality of three-dimensional graphical objects may include standard coordinates of three-dimensional graphical objects.

[0003] Стандартные координаты дают возможность размещения трехмерных графических объектов в пространстве с помощью выбора набора чисел или букв, определяющих конкретное положение в пространстве. Координаты часто выбираются таким образом, что одно из чисел представляет вертикальное положение, а два числа представляют горизонтальное положение. Обычно используются следующие координаты: широта, долгота и высота. Другим примером стандартных координат являются полярные координаты относительно расположения наблюдателя.[0003] Standard coordinates make it possible to place three-dimensional graphic objects in space by selecting a set of numbers or letters defining a specific position in space. Coordinates are often chosen so that one of the numbers represents a vertical position, and two numbers represent a horizontal position. The following coordinates are commonly used: latitude, longitude, and height. Another example of standard coordinates are polar coordinates relative to the location of the observer.

[0004] Сохранение координат трехмерных графических объектов требует значительных объемов машиночитаемых носителей. Поэтому решение проблемы экономного хранения координат объектов становится важной задачей. Одним из возможных решений является сохранение поверхностей трехмерных графических объектов как карт высот. Технология карт высот позволяет сохранить трехмерные графические объекты с помощью сохранения одной базовой поверхности и указания «высот» (отклонений) относительно базы, что определяет координаты искривленной поверхности, идущей вдоль базы.[0004] Saving the coordinates of three-dimensional graphic objects requires significant amounts of computer-readable media. Therefore, solving the problem of economically storing the coordinates of objects becomes an important task. One possible solution is to save the surfaces of three-dimensional graphical objects as height maps. The technology of height maps allows you to save three-dimensional graphic objects by saving one base surface and specifying "heights" (deviations) relative to the base, which determines the coordinates of the curved surface running along the base.

[0005] Более конкретно, в патенте США, озаглавленном «Способ моделирования и отрисовки сложных поверхностей с использованием локальных карт высот» (US 6441816 В1) раскрыт способ моделирования и отрисовки трехмерной сложной поверхности с использованием треугольных ячеек. Способ может уменьшить объем необходимой памяти и время отрисовки с помощью локальных карт высот и присвоения соседних координат любой точке на поверхности возле треугольной ячейки, присвоенной этой поверхности. Барицентрические координаты используются для идентификации точек в треугольном полигоне для работы с данными высот на локальной карте высот, связанной с этим треугольным полигоном. Локальные карты высот дают возможность выявлять пересечения луча с трехмерной поверхностью. Константы Липшица, связанные с трехмерными поверхностями, используются для обнаружения точки на следующем луче, ближайшем к трехмерной поверхности, чтобы перейти на эту точку, что делает поиск таких точек пересечения эффективным.[0005] More specifically, in a US patent entitled "Method for modeling and rendering complex surfaces using local elevation maps" (US 6441816 B1), a method for modeling and rendering a three-dimensional complex surface using triangular cells is disclosed. The method can reduce the amount of required memory and rendering time using local height maps and assigning neighboring coordinates to any point on the surface near the triangular cell assigned to this surface. Barycentric coordinates are used to identify points in a triangular polygon for working with elevation data on a local elevation map associated with this triangular polygon. Local height maps make it possible to detect the intersection of the beam with a three-dimensional surface. Lipschitz constants associated with three-dimensional surfaces are used to detect a point on the next ray closest to the three-dimensional surface in order to jump to this point, which makes the search for such intersection points effective.

[0006] Резюмируя, сохранение поверхностей монотонных трехмерных графических объектов возможно с использованием технологий карт высот, на что может тратиться меньше памяти по сравнению с сохранением их в декартовых координатах или в иной стандартной системе координат. Хотя технологии карт высот подходят для сохранения поверхностей монотонных трехмерных графических объектов, они не подходят для сохранения немонотонных поверхностей.[0006] Summarizing, the preservation of the surfaces of monotonous three-dimensional graphic objects is possible using altitude map technologies, which can consume less memory compared to storing them in Cartesian coordinates or in another standard coordinate system. Although DEM technologies are suitable for preserving the surfaces of monotonous three-dimensional graphic objects, they are not suitable for preserving non-monotonous surfaces.

РаскрытиеDisclosure

[0007] Поверхности трехмерных графических объектов могут храниться в стандартной системе координат, но способы хранения, требующие меньших затрат памяти, дают техническое преимущество. Задачей предлагаемого технического решения является минимизация по меньшей мере некоторых недостатков, присущих известному уровню техники.[0007] The surfaces of three-dimensional graphical objects can be stored in a standard coordinate system, but storage methods that require less memory are a technical advantage. The objective of the proposed technical solution is to minimize at least some of the disadvantages inherent in the prior art.

[0008] Одним объектом настоящего технического решения является компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта. Трехмерный графический объект имеет немонотонную поверхность. Способ создания данных карт высот использует стандартные координаты. Стандартные координаты хранятся на носителе информации. Стандартные координаты определяют поверхность трехмерных графических объектов. Способ включает в себя: (i) на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта; (ii) создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (iii) применение к поверхности трехмерного графического объекта первого набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости; (iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (v) определение среди созданных фрагментов поверхности (созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности; (vi) в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.[0008] One object of the present technical solution is a computer method for creating height map data for rendering a three-dimensional graphic object on a computing device. A three-dimensional graphic object has a nonmonotonic surface. The method of creating height map data uses standard coordinates. Standard coordinates are stored on the information carrier. Standard coordinates define the surface of three-dimensional graphic objects. The method includes: (i) based on the standard coordinates of a three-dimensional graphic object, creating a surface of a three-dimensional graphic object; (ii) creating a first reference loop located on the surface of the three-dimensional graphic object so that the first reference loop is completely located in the first imaginary reference plane intersecting the three-dimensional graphic object; (iii) applying to the surface of a three-dimensional graphic object a first set of intersecting elements, such that: (a) intersecting elements from the first set of intersecting elements intersect the first reference loop at corresponding intersection points at predetermined intervals, (b) each intersecting element from the first a set of intersecting elements intersects the first reference loop at each corresponding intersection point at the same intersection angle, and (c) each intersecting element from the first set n elements intersect perpendicular to the first imaginary reference plane; (iv) measuring a plurality of angles between intersecting elements from a first set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a first set of intersecting elements, exceeds a predetermined threshold, creating a first set of dividing lines moreover, the first set of dividing lines includes at least one dividing line, and each dividing line from the first set of dividing lines is located within the corresponding interval defined by the indicated two partial intersecting elements to divide the surface of the three-dimensional graphic object into fragments of the surface; (v) determining among the created surface fragments (created surface fragments determined by dividing lines) monotonic surface fragments; (vi) in response to determining at least one monotonic surface fragment, creating a height map for the determined at least one monotonic surface fragment.

[0009] В некоторых вариантах осуществления настоящего технического решения пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.[0009] In some embodiments of the present technical solution, the intersecting elements are intersecting planes, and the measurement of the plurality of angles between the intersecting elements is a measurement of the angles between the normals of the respective intersecting planes.

[0010] В некоторых вариантах осуществления настоящего технического решения измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.[0010] In some embodiments of the present technical solution, the measurement of a plurality of angles between intersecting elements from a first set of intersecting elements and creating at least one dividing line from the first set of dividing lines is carried out sequentially and periodically.

[0011] В некоторых вариантах осуществления настоящего технического решения указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, и способ дополнительно включает в себя: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.[0011] In some embodiments of the present technical solution, said two particular intersecting elements from the first set of intersecting elements forming an angle exceeding a predetermined threshold are consecutive intersecting elements, and said at least one dividing line from the first set of dividing lines is at least at least one source dividing line from the first set of dividing lines, and the method further includes: measuring a plurality of angles in between non-sequential intersecting elements from the first set of intersecting elements within the surface fragments defined by the original dividing lines, and, in response to at least one angle from the plurality of angles between two partial non-sequential intersecting elements within the surface fragment defined by the original intersecting lines exceeds a predefined threshold, creating at least one additional dividing line from a set of dividing lines, each additional dividing line from the first set of dividing lines being located within the corresponding interval defined by the indicated two partial non-consecutive intersecting elements to divide the surface of a three-dimensional graphic object into smaller fragments of the surface.

[0012] В некоторых вариантах осуществления настоящего технического решения каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.[0012] In some embodiments of the present technical solution, each intersection angle between each intersecting element and the surface of a three-dimensional graphic object at each corresponding intersection point is 90 degrees.

[0013] В некоторых вариантах осуществления настоящего технического решения указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, способ дополнительно включает в себя: (i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости; (iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну раздельную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, образованных из немонотонных фрагментов; (v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.[0013] In some embodiments of the present technical solution, said determination of monotonic surface fragments further includes determining non-monotonic surface fragments and, in response to at least one created surface fragment is not monotonic, the method further includes: (i ) creating a second reference loop located on the surface of a three-dimensional graphic object so that the second reference loop is completely located in the second imaginary reference plane intersecting the three-dimensional graphic object; (ii) applying to the surface of the three-dimensional graphic object a second set of intersecting elements, so that: (a) intersecting elements from the second set of intersecting elements intersect the second reference loop at the corresponding intersection points at predetermined intervals, (b) each intersecting element from the second a set of intersecting elements intersects the second reference loop at each corresponding intersection point at the same intersection angle, and (c) each intersecting element from the second set of ne the cutting elements are perpendicular to the second imaginary reference plane; (iii) measuring a plurality of angles between intersecting elements from a second set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a second set of intersecting elements, exceeds a predetermined threshold, creating a second set of dividing lines moreover, the second set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines is located within sponds interval defined by intersecting said two partial elements in order to divide the surface of the three-dimensional graphical object surface into fragments; (iv) determining monotonic surface fragments among newly created smaller surface fragments formed from non-monotonic fragments; (v) in response to determining at least one newly created smaller monotonic surface fragment, creating a height map for the specified at least one newly created smaller monotonic surface fragment.

[0014] В некоторых вариантах осуществления настоящего технического решения создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя: (i) создание баз для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, чтобы были проекции на каждую базу от каждого фрагмента поверхности соответственно, и сохранение координат баз; (ii) проецирование высот с каждого из по меньшей мере одного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот; (iii) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, и значения высот нужны для создания карт высот монотонных фрагментов поверхности; (iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.[0014] In some embodiments of the present technical solution, creating a height map for each monotonous fragment of the surface further includes: (i) creating bases for each of at least one created monotonous fragment of the surface so that there are projections onto each base from each a fragment of the surface, respectively, and the conservation of base coordinates; (ii) projecting heights from each of at least one surface fragment onto its respective base, said projection being performed with a predetermined height step, in a predetermined height projection order; (iii) determining height values, each height value representing the distance between the corresponding base and the corresponding point on the corresponding monotonic surface fragment, and the height values are needed to create height maps of monotonic surface fragments; (iv) saving data for rendering a monotonous fragment of the surface as a set: base coordinates, height step, predetermined height projection order, and a sequence of height values in connection with the corresponding base.

[0015] В некоторых вариантах осуществления настоящего технического решения создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.[0015] In some embodiments of the present technical solution, the creation of a base is carried out by conducting a projection to a flat surface, and the base is part of a flat surface defined by said projection.

[0016] В некоторых вариантах осуществления настоящего технического решения значения высот являются по меньшей мере либо положительным значением, либо нулевым значением, либо отрицательным значением.[0016] In some embodiments of the present technical solution, the heights are at least either a positive value, or a zero value, or a negative value.

[0017] Другим объектом настоящего технического решения является вычислительное устройство для создания данных карт высот для отрисовки трехмерного графического объекта, причем трехмерный графический объект имеет немонотонную поверхность. Немонотонная поверхность определяется стандартными координатами. Вычислительное устройство включает в себя процессор. Вычислительное устройство включает в себя носитель информации. Носитель информации хранит программные инструкции, которые, при их исполнении, инициируют выполнение процессором: (i) на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта; (ii) создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (iii) применение к поверхности трехмерного графического объекта первого набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости; (iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (v) определение среди созданных фрагментов поверхности (созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности; (vi) в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.[0017] Another object of the present technical solution is a computing device for creating height map data for rendering a three-dimensional graphic object, the three-dimensional graphic object having a non-monotonic surface. A nonmonotonic surface is defined by standard coordinates. The computing device includes a processor. The computing device includes a storage medium. The storage medium stores program instructions that, when executed, initiate the execution by the processor: (i) based on the standard coordinates of a three-dimensional graphic object, creating a surface of a three-dimensional graphic object; (ii) creating a first reference loop located on the surface of the three-dimensional graphic object so that the first reference loop is completely located in the first imaginary reference plane intersecting the three-dimensional graphic object; (iii) applying to the surface of a three-dimensional graphic object a first set of intersecting elements, such that: (a) intersecting elements from the first set of intersecting elements intersect the first reference loop at corresponding intersection points at predetermined intervals, (b) each intersecting element from the first a set of intersecting elements intersects the first reference loop at each corresponding intersection point at the same intersection angle, and (c) each intersecting element from the first set n elements intersect perpendicular to the first imaginary reference plane; (iv) measuring a plurality of angles between intersecting elements from a first set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a first set of intersecting elements, exceeds a predetermined threshold, creating a first set of dividing lines moreover, the first set of dividing lines includes at least one dividing line, and each dividing line from the first set of dividing lines is located within the corresponding interval defined by the indicated two partial intersecting elements to divide the surface of the three-dimensional graphic object into fragments of the surface; (v) determining among the created surface fragments (created surface fragments determined by dividing lines) monotonic surface fragments; (vi) in response to determining at least one monotonic surface fragment, creating a height map for the determined at least one monotonic surface fragment.

[0018] В некоторых вариантах осуществления настоящего технического решения пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.[0018] In some embodiments of the present technical solution, the intersecting elements are intersecting planes, and the measurement of the plurality of angles between the intersecting elements is a measurement of the angles between the normals of the respective intersecting planes.

[0019] В некоторых вариантах осуществления настоящего технического решения измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.[0019] In some embodiments of the present technical solution, the measurement of a plurality of angles between intersecting elements from a first set of intersecting elements and creating at least one dividing line from the first set of dividing lines is carried out sequentially and periodically.

[0020] В некоторых вариантах осуществления настоящего технического решения указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, и способ дополнительно включает в себя: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.[0020] In some embodiments of the present technical solution, said two particular intersecting elements from the first set of intersecting elements forming an angle exceeding a predetermined threshold are consecutive intersecting elements, and said at least one dividing line from the first set of dividing lines is at least at least one source dividing line from the first set of dividing lines, and the method further includes: measuring a plurality of angles in between non-sequential intersecting elements from the first set of intersecting elements within the surface fragments defined by the original dividing lines, and, in response to at least one angle from the plurality of angles between two partial non-sequential intersecting elements within the surface fragment defined by the original intersecting lines exceeds a predefined threshold, creating at least one additional dividing line from a set of dividing lines, each additional dividing line from the first set of dividing lines being located within the corresponding interval defined by the indicated two partial non-consecutive intersecting elements to divide the surface of a three-dimensional graphic object into smaller fragments of the surface.

[0021] В некоторых вариантах осуществления настоящего технического решения каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.[0021] In some embodiments of the present technical solution, each intersection angle between each intersecting element and the surface of a three-dimensional graphic object at each corresponding intersection point is 90 degrees.

[0022] В некоторых вариантах осуществления настоящего технического решения указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, процессор дополнительно осуществляет: (i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект; (ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов, таким образом, что: (а) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и (с) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости; (iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности; (iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, образованных из немонотонных фрагментов; (v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.[0022] In some embodiments of the present technical solution, said determination of monotonic surface fragments further includes determining non-monotonic surface fragments and, in response to at least one generated surface fragment is not monotonic, the processor further performs: (i) creating a second reference loop located on the surface of the three-dimensional graphic object so that the second reference loop is completely located in the second imaginary reference second plane intersecting the three-dimensional graphic object; (ii) applying to the surface of the three-dimensional graphic object a second set of intersecting elements, so that: (a) intersecting elements from the second set of intersecting elements intersect the second reference loop at the corresponding intersection points at predetermined intervals, (b) each intersecting element from the second a set of intersecting elements intersects the second reference loop at each corresponding intersection point at the same intersection angle, and (c) each intersecting element from the second set of ne the cutting elements are perpendicular to the second imaginary reference plane; (iii) measuring a plurality of angles between intersecting elements from a second set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a second set of intersecting elements, exceeds a predetermined threshold, creating a second set of dividing lines moreover, the second set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines is located within the corresponding interval defined by the indicated two partial intersecting elements to divide the surface of the three-dimensional graphic object into fragments of the surface; (iv) determining monotonic surface fragments among newly created smaller surface fragments formed from non-monotonic fragments; (v) in response to determining at least one newly created smaller monotonic surface fragment, creating a height map for the specified at least one newly created smaller monotonic surface fragment.

[0023] В некоторых вариантах осуществления настоящего технического решения создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя: (i) создание баз для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, чтобы были проекции на каждую базу от каждого фрагмента поверхности соответственно, и сохранение координат баз; (ii) проецирование высот с каждого из по меньшей мере одного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот; (iii) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, и значения высот нужны для создания карт высот монотонных фрагментов поверхности; (iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.[0023] In some embodiments of the present technical solution, creating a height map for each monotonic surface fragment further includes: (i) creating bases for each of at least one created monotonic surface fragment so that there are projections onto each base from each a fragment of the surface, respectively, and the conservation of base coordinates; (ii) projecting heights from each of at least one surface fragment onto its respective base, said projection being performed with a predetermined height step, in a predetermined height projection order; (iii) determining height values, each height value representing the distance between the corresponding base and the corresponding point on the corresponding monotonic surface fragment, and the height values are needed to create height maps of monotonic surface fragments; (iv) saving data for rendering a monotonous fragment of the surface as a set: base coordinates, height step, predetermined height projection order, and a sequence of height values in connection with the corresponding base.

[0024] В некоторых вариантах осуществления настоящего технического решения создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.[0024] In some embodiments of the present technical solution, the creation of the base is carried out by projecting to a flat surface, and the base is part of a flat surface defined by the specified projection.

[0025] В некоторых вариантах осуществления настоящего технического решения значения высот являются по меньшей мере либо положительным значением, либо нулевым значением, либо отрицательным значением.[0025] In some embodiments of the present technical solution, the heights are at least either a positive value, or a zero value, or a negative value.

[0026] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данного технического решения. В контексте настоящего технического решения использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами; оба варианта включены в выражение «по меньшей мере один сервер».[0026] In the context of the present description, “server” means a computer program running on appropriate equipment that is able to receive requests (for example, from client devices) over the network and execute these requests or initiate the execution of these requests. The equipment may be one physical computer or one physical computer system, but neither one nor the other is mandatory for this technical solution. In the context of this technical solution, the use of the expression “server” does not mean that each task (for example, received commands or requests) or any specific task will be received, completed or initiated to be executed by the same server (that is, by the same software and / or hardware); this means that any number of software elements or hardware devices can be involved in receiving / transmitting, executing or initiating the execution of any request or the consequences of any request associated with the client device, and all this software and hardware can be one server or several servers ; both options are included in the expression “at least one server”.

[0027] В контексте настоящего описания, если конкретно не указано иное, термин «база данных» подразумевает под собой любой структурированный набор данных, не зависящий от конкретной структуры, программного обеспечения по управлению базой данных, аппаратного обеспечения компьютера, на котором данные хранятся, используются или иным образом оказываются доступны для использования. База данных может находиться на том же оборудовании, выполняющем процесс, на котором хранится или используется информация, хранящаяся в базе данных, или же база данных может находиться на отдельном оборудовании, например, выделенном сервере или множестве серверов.[0027] In the context of the present description, unless specifically indicated otherwise, the term "database" means any structured data set that is independent of the specific structure, database management software, hardware of the computer on which the data is stored, used or otherwise are available for use. The database can be located on the same equipment that performs the process on which information stored in the database is stored or used, or the database can be on separate equipment, for example, a dedicated server or multiple servers.

[0028] В контексте настоящего описания, если конкретно не указано иное, выражение «трехмерный графический объект» подразумевает под собой любой трехмерный графический объект, который может быть отображен на экране компьютера (или другими средствами визуального вывода). Трехмерные графические объекты могут быть любыми трехмерными графическими объектами, включая плоские объекты, линейные объекты и другие объекты. Трехмерные графические объекты могут иметь любую форму. Поверхности трехмерных графических объектов могут быть плоскими или искривленными поверхностями, или их комбинацией, в зависимости от трехмерного графического объекта.[0028] In the context of the present description, unless specifically indicated otherwise, the expression "three-dimensional graphic object" means any three-dimensional graphic object that can be displayed on a computer screen (or other means of visual output). Three-dimensional graphic objects can be any three-dimensional graphic objects, including flat objects, linear objects, and other objects. Three-dimensional graphic objects can have any shape. Surfaces of three-dimensional graphic objects can be flat or curved surfaces, or a combination thereof, depending on the three-dimensional graphic object.

[0029] В контексте настоящего описания, если конкретно не указано иное, термин «координаты» подразумевает под собой любые системы координат, подходящие для определения положения в пространстве. Координаты могут определять положение точек, линий, поверхностей с помощью подходящих систем координат. Системы отсчета могут являться, например, числами и/или любыми другими символами, которые используются для определения расположения точки, линии, поверхности в пространстве данного измерения относительно системы линий (осей) или в других неподвижных системах отсчета.[0029] In the context of the present description, unless specifically indicated otherwise, the term "coordinates" means any coordinate system suitable for determining a position in space. Coordinates can determine the position of points, lines, surfaces using suitable coordinate systems. Reference systems can be, for example, numbers and / or any other symbols that are used to determine the location of a point, line, surface in the space of a given measurement relative to a system of lines (axes) or in other fixed reference systems.

[0030] В контексте настоящего описания, если конкретно не указано иное, выражение «стандартные координаты» подразумевает любые стандартные координаты - например, декартовы координаты, полярные координаты относительно расположения наблюдателя, и другие координаты, известные в данной области техники, кроме координат, сохраненных как карта высот. Координаты карт высот, даже те, что известны в данной области техники, конкретно упоминаются как карты высот.[0030] In the context of the present description, unless specifically indicated otherwise, the expression "standard coordinates" means any standard coordinates - for example, Cartesian coordinates, polar coordinates relative to the location of the observer, and other coordinates known in the art, except for coordinates stored as height map. The height map coordinates, even those known in the art, are specifically referred to as height maps.

[0031] В контексте настоящего описания, если конкретно не указано иное, поверхность трехмерного графического объекта называется «монотонной» по отношению к плоской поверхности («базе»), если каждая воображаемая линия («высота»), спроецированная с плоской поверхности («базы») на поверхность трехмерного графического объекта, пересекающая поверхность трехмерного графического объекта, и являющаяся ортогональной к базе, пересекает поверхность трехмерного графического объекта только один раз. «Монотонная поверхность» может быть искривленной или плоской поверхностью. Например, любая плоская поверхность, не являющаяся перпендикулярной базе, является монотонной поверхностью по отношению к этой базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, северная или южная полусферическая оболочка, не обладающая толщиной, является монотонной по отношению к расположенной горизонтально базе.[0031] In the context of the present description, unless specifically stated otherwise, the surface of a three-dimensional graphic object is called "monotonous" with respect to a flat surface ("base"), if each imaginary line ("height") projected from a flat surface ("base ”) Onto the surface of a three-dimensional graphic object that intersects the surface of a three-dimensional graphic object, and being orthogonal to the base, crosses the surface of a three-dimensional graphic object only once. A “monotonous surface” may be a curved or flat surface. For example, any flat surface that is not perpendicular to the base is a monotonic surface with respect to this base. As another example, not limiting the scope of the present technical solution, the northern or southern hemispherical shell, not having a thickness, is monotonous with respect to the horizontally located base.

[0032] В контексте настоящего описания, если конкретно не указано иное, поверхность называется «монотонной» по отношению к базе, если по меньшей мере одна высота, спроецированная с плоской поверхности («базы») на поверхность трехмерного графического объекта, являющаяся ортогональной к базе, пересекает поверхность трехмерного графического объекта больше, чем один раз. «Немонотонная поверхность» может быть искривленной или плоской поверхностью. В качестве примера, не ограничивающего объем настоящего технического решения, поверхность шара является немонотонной по отношению к любой базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, северная или южная полусферическая оболочка, не обладающая толщиной, является немонотонной по отношению к расположенной вертикально базе. В качестве другого примера, не ограничивающего объем настоящего технического решения, любая плоская поверхность, перпендикулярная базе, является немонотонной поверхностью по отношению к этой базе.[0032] In the context of the present description, unless specifically indicated otherwise, a surface is called "monotonous" with respect to the base, if at least one height projected from a flat surface ("base") onto the surface of a three-dimensional graphic object that is orthogonal to the base crosses the surface of a three-dimensional graphic object more than once. A “nonmonotonic surface” may be a curved or flat surface. As an example, not limiting the scope of the present technical solution, the surface of the ball is nonmonotonic with respect to any base. As another example, not limiting the scope of the present technical solution, the northern or southern hemispherical shell, not having a thickness, is nonmonotonic with respect to the vertically located base. As another example, not limiting the scope of the present technical solution, any flat surface perpendicular to the base is a nonmonotonic surface with respect to this base.

[0033] В контексте настоящего описания, если конкретно не указано иное, термин «пересекающий элемент» подразумевает плоскую поверхность, которая пересекает поверхность трехмерного графического объекта.[0033] In the context of the present description, unless specifically indicated otherwise, the term "intersecting element" means a flat surface that intersects the surface of a three-dimensional graphic object.

[0034] В контексте настоящего описания, если конкретно не указано иное, термин «угол» означает угол наклона между двумя линиями и плоскостями, или между их воображаемыми продолжениями. В контексте настоящего описания некоторые линии или плоскости могут быть параллельными, и, следовательно, угол наклона между ними может быть нулевым. Принимая это во внимание, в контексте настоящего описания, когда две линии или плоскости параллельны, угол рассматривается как существующий и равный нулю градусов. Термин «угол» включает в себя также криволинейные углы.[0034] In the context of the present description, unless specifically indicated otherwise, the term "angle" means the angle of inclination between two lines and planes, or between their imaginary extensions. In the context of the present description, some lines or planes may be parallel, and therefore, the angle of inclination between them may be zero. Taking this into account, in the context of the present description, when two lines or planes are parallel, the angle is considered as existing and equal to zero degrees. The term "angle" also includes curved angles.

[0035] В контексте настоящего описания выражение «криволинейный угол» означает, если конкретно не указано иное, угол между плоской поверхностью и искривленной поверхностью, который определяется как угол между векторами, пересекающими плоскую поверхность и искривленную поверхность в конкретной точке, причем конкретная точка выбирается в пределах линии пересечения, а линия пересечения является линией, по которой пересекаются две поверхности (плоская и искривленная). «Криволинейный угол» также может быть углом между прямой линией и кривой линией, который определяется как угол между этой прямой линией и касательной к кривой линии в точке пересечения.[0035] In the context of the present description, the expression "curvilinear angle" means, unless specifically indicated otherwise, the angle between the flat surface and the curved surface, which is defined as the angle between the vectors intersecting the flat surface and the curved surface at a specific point, and the specific point is selected in within the intersection line, and the intersection line is the line along which two surfaces intersect (flat and curved). A “curved angle” can also be the angle between a straight line and a curved line, which is defined as the angle between this straight line and the tangent to the curved line at the intersection point.

[0036] В контексте настоящего описания, если конкретно не указано иное, термин «градус» означает 1/360 оборота, и один оборот равен 360 градусов (360°).[0036] In the context of the present description, unless specifically indicated otherwise, the term "degree" means 1/360 revolution, and one revolution is 360 degrees (360 °).

[0037] В контексте настоящего описания, если конкретно не указано иное, «информация» включает в себя любую информацию любого типа, включая информацию, которую можно хранить в базе данных. Таким образом, информация включает в себя, среди прочего, данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.[0037] In the context of the present description, unless specifically indicated otherwise, "information" includes any information of any type, including information that can be stored in a database. Thus, information includes, among other things, data (map data, location data, digital data, etc.), text (opinions, comments, questions, messages, etc.), documents, tables, etc. .d.

[0038] В контексте настоящего описания, если конкретно не указано иное, слово «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).[0038] In the context of the present description, unless specifically indicated otherwise, the word "component" means software (corresponding to a specific hardware context) that is necessary and sufficient to perform the specific specified (s) function (s).

[0039] В контексте настоящего описания, если конкретно не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.[0039] In the context of the present description, unless specifically indicated otherwise, the term "storage medium" means a medium of absolutely any type and nature, including RAM, ROM, disks (CDs, DVDs, floppy disks, hard drives, etc.). e.), USB flash drives, solid state drives, tape drives, etc.

[0040] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной взаимосвязи между этими существительными. Так, например, следует иметь в виду, что использование терминов «первая поверхность» и «третья поверхность» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) поверхностей/между поверхностями, равно как и их использование (само по себе) не предполагает, что некая «вторая поверхность» обязательно должна существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» элемент и «второй» элемент могут являться одним и тем же элементом, а в других случаях они могут являться разными элементами.[0040] In the context of the present description, unless specifically indicated otherwise, the words "first", "second", "third", etc. used in the form of adjectives solely to distinguish the nouns to which they relate from each other, and not for the purpose of describing any specific relationship between these nouns. So, for example, it should be borne in mind that the use of the terms “first surface” and “third surface” does not imply any ordering, chronology, hierarchy or ranking (for example) of surfaces / between surfaces, as well as their use (in itself) does not imply that a certain “second surface” must exist in a given situation. Further, as indicated here in other contexts, the mention of the “first” element and the “second” element does not exclude the possibility that it is one and the same actual real element. So, for example, in some cases, the “first” element and the “second” element can be the same element, and in other cases they can be different elements.

[0041] Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты данного технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.[0041] Each embodiment of the present technical solution pursues at least one of the aforementioned objectives and / or objects. It should be borne in mind that some of the objects of this technical solution, obtained as a result of attempts to achieve the above goals, can satisfy other goals that are not specifically indicated here.

[0042] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.[0042] Additional and / or alternative characteristics, aspects and advantages of embodiments of the present technical solution will become apparent from the following description, the attached drawings and the attached claims.

Краткое описание чертежейBrief Description of the Drawings

[0043] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт, сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:[0043] For a better understanding of the present technical solution, as well as its other aspects and characteristics, reference is made to the following description, which should be used in conjunction with the accompanying drawings, where:

[0044] На Фиг. 1 представлена принципиальная схема системы, выполненной в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0044] FIG. 1 is a schematic diagram of a system made in accordance with embodiments of the present technical solution, not limiting its scope.

[0045] На Фиг. 2 представлен не ограничивающий объем настоящего технического решения пример первой эталонной петли, причем первая эталонная петля была создана вокруг поверхности трехмерного графического объекта, и первая эталонная петля была создана в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0045] FIG. 2 presents a non-limiting example of the first technical loop, the first reference loop being created around the surface of a three-dimensional graphic object, and the first reference loop was created in accordance with non-limiting embodiments of the present technical solution.

[0046] На Фиг. 3 представлен не ограничивающий объем настоящего технического решения пример вида сверху трехмерного графического объекта, изображенного на Фиг. 2.[0046] FIG. 3 presents a non-limiting scope of the present technical solution, an example of a top view of a three-dimensional graphic object depicted in FIG. 2.

[0047] На Фиг. 4 представлен альтернативный пример трехмерного графического объекта, координатных осей и первой эталонной петли, реализованных в соответствии с вариантами осуществления настоящего технического решения и, не ограничивающими его объем.[0047] FIG. 4 presents an alternative example of a three-dimensional graphical object, coordinate axes and the first reference loop, implemented in accordance with the options for implementing the present technical solution and not limiting its scope.

[0048] На Фиг. 5 представлен трехмерный графический объект, изображенный на Фиг. 4, и первая воображаемая эталонная плоскость, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0048] FIG. 5 shows a three-dimensional graphic object depicted in FIG. 4, and the first imaginary reference plane, implemented in accordance with the options for implementing the present technical solution, not limiting its scope.

[0049] На Фиг. 6 представлены видимые и невидимые части трехмерного графического объекта, изображенного на Фиг. 4, трех пересекающих элементов из первого набора пересекающих элементов, и углы между каждым пересекающим элементом из первого набора пересекающих элементов и поверхностью трехмерного графического объекта, изображенного на Фиг. 4, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0049] FIG. 6 shows the visible and invisible parts of the three-dimensional graphic object depicted in FIG. 4, three intersecting elements from the first set of intersecting elements, and the angles between each intersecting element from the first set of intersecting elements and the surface of the three-dimensional graphic object shown in FIG. 4, implemented in accordance with embodiments of the present technical solution, not limiting its scope.

[0050] На Фиг. 7 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, и три пересекающих элемента из первого набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0050] In FIG. 7 shows the visible parts of the three-dimensional graphic object shown in FIG. 4, and three intersecting elements from the first set of intersecting elements, implemented in accordance with embodiments of the present technical solution, not limiting its scope.

[0051] На Фиг. 8 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, три пересекающих элемента из первого набора пересекающих элементов, и углы между пересекающими элементами из первого набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0051] In FIG. 8 shows the visible parts of the three-dimensional graphic object shown in FIG. 4, three intersecting elements from the first set of intersecting elements, and the angles between the intersecting elements from the first set of intersecting elements, implemented in accordance with embodiments of the present technical solution, not limiting its scope.

[0052] На Фиг. 9 представлены видимые части трехмерного графического объекта, изображенный на Фиг. 4, три пересекающих элемента из первого набора пересекающих элементов, вторая эталонная петля, и три пересекающих элемента из второго набора пересекающих элементов, реализованные в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0052] FIG. 9 shows the visible parts of the three-dimensional graphic object shown in FIG. 4, three intersecting elements from the first set of intersecting elements, a second reference loop, and three intersecting elements from the second set of intersecting elements, implemented in accordance with embodiments of the present technical solution, not limiting its scope.

[0053] На Фиг. 10 представлен способ измерения углов между двумя пересекающими элементами, не ограничивающий объем настоящего технического решения, причем измерения проводятся в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем.[0053] In FIG. 10 shows a method for measuring the angles between two intersecting elements, not limiting the scope of the present technical solution, the measurements being carried out in accordance with the embodiments of the present technical solution not limiting its volume.

[0054] На Фиг. 11 представлена блок-схема способа сохранения данных для отрисовки трехмерного графического объекта с Фиг. 4, причем трехмерный графический объект имеет немонотонную поверхность, определенную своими стандартными координатами, и способ является примером настоящего технического решения, не ограничивающим его объем.[0054] FIG. 11 is a flowchart of a data storage method for rendering a three-dimensional graphic object of FIG. 4, and the three-dimensional graphic object has a non-monotonic surface defined by its standard coordinates, and the method is an example of the present technical solution, not limiting its scope.

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

Технический обзорTechnical review

[0055] Поверхности трехмерных графических объектов могут храниться в стандартной системе координат, но способы хранения, требующие меньших затрат памяти, дают различные технические преимущества. Среди таких преимуществ может быть упомянуто, например, снижение количества транзакций машиночитаемого носителя информации, снижение трафика в сети передачи данных, и другие. Задачей предлагаемого технического решения является минимизация по меньшей мере некоторых недостатков, присущих известному уровню техники.[0055] Surfaces of three-dimensional graphical objects can be stored in a standard coordinate system, but storage methods that require less memory use provide various technical advantages. Among these advantages, mention may be made, for example, of a reduction in the number of transactions of a computer-readable storage medium, a decrease in traffic in a data network, and others. The objective of the proposed technical solution is to minimize at least some of the disadvantages inherent in the prior art.

[0056] Для быстрого ввода в курс предлагаемого технического решения будут описаны Фиг. 2 и Фиг. 3. На Фиг. 2 показан вертикальный боковой вид поверхности трехмерного графического объекта 200, в этом примере являющегося яблоком. На Фиг. 3 представлен вид сверху трехмерного графического объекта 200, изображенного на Фиг. 2.[0056] For a quick introduction to the course of the proposed technical solution, FIG. 2 and FIG. 3. In FIG. 2 shows a vertical side view of the surface of a three-dimensional graphic object 200, in this example being an apple. In FIG. 3 is a plan view of the three-dimensional graphical object 200 shown in FIG. 2.

[0057] В некоторых вариантах осуществления настоящего технического решения предлагается способ сохранения координат как карт высот для отрисовки трехмерного графического объекта 200, причем трехмерный графический объект 200 имеет немонотонную поверхность. Машиночитаемые инструкции, сохраненные на носителе информации компьютерного устройства, могут инициировать создание процессором электронного устройства на основе стандартных координат, поверхности трехмерного графического объекта 200. Для сохранения с использованием системы хранения карт высот поверхность трехмерного графического объекта 200 должна быть монотонной, или должен быть найдет способ разделения немонотонной поверхности на монотонные фрагменты. В этом примере трехмерный графический объект 200 (яблоко) имеет немонотонную поверхность. Следовательно, компьютерное устройство должно разделить немонотонную поверхность на множество монотонных фрагментов.[0057] In some embodiments of the present technical solution, there is provided a method of storing coordinates as height maps for rendering a three-dimensional graphical object 200, the three-dimensional graphical object 200 having a non-monotonic surface. Machine-readable instructions stored on the information medium of a computer device can initiate the creation by the processor of an electronic device based on standard coordinates of the surface of a three-dimensional graphic object 200. To save using a height storage system, the surface of a three-dimensional graphic object 200 must be monotonous, or it must find a separation method nonmonotonic surface onto monotonic fragments. In this example, the three-dimensional graphic object 200 (apple) has a non-monotonic surface. Therefore, the computer device must divide the non-monotonic surface into many monotonic fragments.

[0058] В общем случае, поверхность, имеющая ряд крутых изгибов, скорее всего, является немонотонной. Напротив, относительно плоский фрагмент без крутых изгибов, скорее всего, является монотонным. Определяются области поверхности, имеющие крутые изгибы, чтобы разделить поверхность на эти области вдоль «разделительных линий». Следует иметь в виду, что поверхность трехмерного графического объекта может искривляться в различных направлениях. Например, поверхность черенка яблока (не изображена) искривляется в одном направлении (вокруг оси), но может быть относительно прямой в другом направлении (идет прямо вверх). Следовательно, проведение разделительных линий в одном направлении (первого набора разделительных линий) может быть недостаточным для некоторых трехмерных графических объектов, и, дополнительно, может существовать необходимость провести разделительные линии в другом направлении (второй набор разделительных линий). Возможно и то, что будет необходимость в проведении третьего, четвертого и т.д. наборов разделительных линий.[0058] In general, a surface having a series of sharp bends is most likely non-monotonic. In contrast, a relatively flat fragment without sharp bends is most likely monotonous. Surface areas having sharp bends are determined in order to divide the surface into these areas along the “dividing lines”. It should be borne in mind that the surface of a three-dimensional graphic object can be curved in different directions. For example, the surface of an apple handle (not shown) is curved in one direction (around the axis), but can be relatively straight in the other direction (goes straight up). Therefore, drawing dividing lines in one direction (the first set of dividing lines) may not be sufficient for some three-dimensional graphic objects, and, in addition, there may be a need to draw dividing lines in the other direction (second set of dividing lines). It is also possible that there will be a need for a third, fourth, etc. sets of dividing lines.

[0059] Для определения областей, имеющих крутые изгибы и для создания первого набора разделительных линий, на поверхность в определенном порядке могут быть применены несколько разделительных элементов (первый набор разделительных элементов). Перед применением первого набора разделительных элементов может быть необходимо осуществление нескольких процедур.[0059] To identify areas having sharp bends and to create a first set of dividing lines, several dividing elements (first set of dividing elements) can be applied to a surface in a specific order. Before applying the first set of separation elements, it may be necessary to carry out several procedures.

[0060] Сначала может быть создана первая эталонная петля 202, изображенная на Фиг. 2 и Фиг. 3, таким образом, что трехмерный графический объект 200 как бы рассекается плоской поверхностью («первая воображаемая эталонная плоскость») и первая эталонная петля 202 как бы принимает вид «секущей» линии на поверхности трехмерного графического объекта 200, будто яблоко было разрезано ножом (или первой воображаемой эталонной плоскостью). Затем поверхность трехмерного графического объекта 200 может быть пересечена первым набором пересекающих элементов (например, пересекающими плоскими поверхностями) таким образом, что каждый пересекающий элемент пересекает линию, причем линия является касательной к первой эталонной петле 202, под одинаковыми углами (например, под углами 90 градусов), и таким образом, что расстояние между точками пересечения пересекающих элементов и первой эталонной петли 202 одинаково или в основном одинаково. Такое пересечение имеет по меньшей мере два результата. Первый результат: когда пересекающий элемент 204 пересекает поверхность трехмерного графического объекта 200, создаются пересекающие линии 206 на поверхности трехмерного графического объекта 200. Пересекающие линии 206 могут в некоторых вариантах осуществления настоящего технического решения совпадать с разделительными линиями, которые будут описаны позже. Второй результат: пересекающие элементы 204 могут пересекаться друг с другом, образуя углы 208 между пересекающими элементами. Эти углы 208 являются указателями характера поверхности (прямая поверхность, поверхность с крутыми изгибами, поверхность с небольшими изгибами).[0060] First, a first reference loop 202 shown in FIG. 2 and FIG. 3, in such a way that the three-dimensional graphic object 200 is as if cut by a flat surface (the “first imaginary reference plane”) and the first reference loop 202 as if takes the form of a “secant” line on the surface of the three-dimensional graphic object 200, as if the apple had been cut with a knife (or first imaginary reference plane). Then, the surface of the three-dimensional graphic object 200 can be intersected by the first set of intersecting elements (for example, intersecting flat surfaces) so that each intersecting element intersects the line, the line being tangent to the first reference loop 202, at the same angles (for example, at 90 degrees ), and so that the distance between the intersection points of the intersecting elements and the first reference loop 202 is the same or basically the same. Such an intersection has at least two results. First result: when the intersecting element 204 intersects the surface of the three-dimensional graphic object 200, intersecting lines 206 are created on the surface of the three-dimensional graphic object 200. The intersecting lines 206 may in some embodiments of the present technical solution coincide with the dividing lines, which will be described later. Second result: intersecting elements 204 can intersect with each other, forming angles 208 between intersecting elements. These angles 208 are indicative of the nature of the surface (straight surface, surface with sharp bends, surface with slight bends).

[0061] Затем углы между этими пересекающими элементами 204 могут быть измерены.[0061] Then the angles between these intersecting elements 204 can be measured.

[0062] Сначала могут быть измерены углы 208 между последовательными пересекающими элементами 204. Когда угол между последовательными пересекающими элементами 204 является нулевым углом, последовательные пересекающие элементы 204 параллельны. Когда последовательные пересекающие элементы 204 параллельны, поверхность не искривляется в направлении первой эталонной петли 202. Если поверхность не искривляется в направлении первой эталонной петли 202, нет необходимости в разделении между соответствующими последовательными пересекающими линиями 206.[0062] First, angles 208 between successive intersecting elements 204 can be measured. When the angle between successive intersecting elements 204 is a zero angle, successive intersecting elements 204 are parallel. When the successive intersecting elements 204 are parallel, the surface does not bend in the direction of the first reference loop 202. If the surface does not bend in the direction of the first reference loop 202, there is no need for separation between the respective successive intersecting lines 206.

[0063] Когда угол не является крутым, этот факт становится указателем того, что поверхность слегка искривляется в направлении первой эталонной петли 202. В этом случае процессор не будет создавать разделительные линии между соответствующими последовательными пересекающими линиями 206. Угол не является крутым, когда он не превышает предварительно определенный порог (например, 32 градуса).[0063] When the angle is not steep, this fact indicates that the surface is slightly curved in the direction of the first reference loop 202. In this case, the processor will not create dividing lines between the corresponding successive intersecting lines 206. The angle is not steep when it is not exceeds a predefined threshold (e.g. 32 degrees).

[0064] Например, когда угол становится больше (более конкретно, когда он превышает предварительно определенное пороговое значение), этот факт указывает, что поверхность круто искривляется вдоль первой эталонной петли 202, и, следовательно, поверхность в этой области должна быть разделена таким образом, что разделительная линия проходит где-то в пределах интервала, определенного двумя соответствующими пересекающими линиями 206 и пересекает первую эталонную петлю 202. Точное положение разделительной линии в пределах интервала не является важным и может быть выбрано произвольно. В итоге может быть создана разделительная линия. В некоторых вариантах осуществления настоящего технического решения разделительная линия может совпадать с одной их этих двух соответствующих пересекающих линий 206, а в других вариантах осуществления настоящего технического решения она может быть расположена где-то между этими соответствующими пересекающими линиями 206.[0064] For example, when the angle becomes larger (more specifically, when it exceeds a predetermined threshold value), this fact indicates that the surface is sharply curved along the first reference loop 202, and therefore, the surface in this region should be divided in such a way that the dividing line runs somewhere within the interval defined by the two respective intersecting lines 206 and intersects the first reference loop 202. The exact position of the dividing line within the interval is not important and can be selected arbitrarily. As a result, a dividing line can be created. In some embodiments of the present technical solution, the dividing line may coincide with one of these two corresponding intersecting lines 206, and in other embodiments of the present technical solution, it may be located somewhere between these respective intersecting lines 206.

[0065] Способ может повторять измерение углов 208 между последовательными пересекающими элементами 204, раз за разом, создавая дополнительные разделительные линии. Далее, способ может измерять углы между не являющимися последовательными пересекающими элементами 204, но в пределах интервалов, определенных ранее созданными разделительными линиями, пока не останется углов (не пронумерованы), превышающих предварительно определенное пороговое значение в пределах любой области, расположенной между каждыми двумя последовательными разделительными линиями.[0065] The method may repeat the measurement of angles 208 between successive intersecting elements 204, time after time, creating additional dividing lines. Further, the method can measure angles between non-consecutive intersecting elements 204, but within the intervals defined by previously created dividing lines, until there are angles (not numbered) that exceed a predetermined threshold value within any area located between every two consecutive dividing lines lines.

[0066] Вычислительное устройство может затем проверить, являются ли все созданные фрагменты, разделенные разделительными линиями, монотонными. Если да, то вычислительное устройство может создать карты высот для всех созданных сегментов, как будет описано подробнее ниже. Если нет, то вычислительное устройство может создать карты высот только для каждого монотонного фрагмента, а затем продолжить способ следующим образом.[0066] The computing device may then check whether all created fragments, separated by dividing lines, are monotonic. If so, then the computing device can create height maps for all created segments, as will be described in more detail below. If not, then the computing device can create height maps only for each monotonous fragment, and then continue the method as follows.

[0067] Далее может быть создана вторая эталонная петля (не изображена) таким образом, как будто трехмерный графический объект 200 был рассечен второй воображаемой эталонной плоскостью (не изображена), перпендикулярной первой воображаемой эталонной плоскостью, и вторая эталонная петля принимает вид второй секущей линии. Следует отметить, что вторая воображаемая эталонная плоскость не обязательно должна быть перпендикулярной первой воображаемой эталонной петле: первая и вторая воображаемая эталонные плоскости могут пересекаться под разными углами.[0067] A second reference loop (not shown) can then be created in such a way as if the three-dimensional graphic object 200 has been dissected by a second imaginary reference plane (not shown) perpendicular to the first imaginary reference plane, and the second reference loop takes the form of a second cutting line. It should be noted that the second imaginary reference plane does not have to be perpendicular to the first imaginary reference loop: the first and second imaginary reference planes can intersect at different angles.

[0068] Затем, когда создана вторая эталонная петля, поверхность трехмерного графического объекта 200 может быть пересечена вторым набором пересекающих элементов (не изображены) таким образом, что каждый пересекающий элемент пересекает линию, причем линия является касательной ко второй эталонной петле, под одинаковыми углами, и таким образом, что расстояние между точками пересечения пересекающих элементов и второй эталонной петли одинаково или в основном одинаково. Затем углы между этими пересекающими элементами могут быть измерены. Аналогично описанному выше, когда углы между этими пересекающими элементами превышают предварительно определенное пороговое значение, поверхность между этими пересекающими элементами должна быть разделена. В итоге для создания монотонных фрагментов поверхности может быть создан второй набор разделительных линий. Фрагменты могут быть определены разделительными линиями, созданными в течение любой стадии этого способа (т.е. пересечением разделительных линий и первого и второго наборов разделительных линий). Вычислительное устройство может затем проверить, являются ли монотонными заново созданные более мелкие фрагменты, определенные этими разделительными линиями и образованные из немонотонных фрагментов. Если да, то вычислительное устройство может создавать карты высот для всех этих заново созданных более мелких монотонных сегментов. Если нет, то вычислительное устройство может создать карты высот только для каждого монотонного фрагмента.[0068] Then, when the second reference loop is created, the surface of the three-dimensional graphic object 200 can be intersected by the second set of intersecting elements (not shown) so that each intersecting element intersects the line, the line being tangent to the second reference loop, at the same angles, and so that the distance between the intersection points of the intersecting elements and the second reference loop is the same or basically the same. Then the angles between these intersecting elements can be measured. Similar to that described above, when the angles between these intersecting elements exceed a predetermined threshold value, the surface between these intersecting elements must be divided. As a result, a second set of dividing lines can be created to create monotonic surface fragments. Fragments can be defined by dividing lines created during any stage of this method (i.e., by crossing the dividing lines and the first and second sets of dividing lines). The computing device can then check whether the newly created smaller fragments defined by these dividing lines and formed from non-monotonic fragments are monotonic. If so, then the computing device can create height maps for all of these newly created smaller monotonous segments. If not, then the computing device can create height maps only for each monotonous fragment.

СистемаSystem

[0069] На Фиг. 1 представлена схема системы 100, выполненная в соответствии с вариантами осуществления настоящего технического решения, не ограничивающими его объем. Важно иметь в виду, что нижеследующее описание системы 100 представляет собой описание показательных вариантов осуществления настоящего технического решения. Таким образом, все последующее описание представлено только как описание показательного примера настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, это не должно интерпретироваться так, что там, где не были изложены примеры модификаций, никакие модификации невозможны, и/или что то, что описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях этот вариант представлен здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.[0069] In FIG. 1 shows a diagram of a system 100 made in accordance with embodiments of the present technical solution, not limiting its scope. It is important to keep in mind that the following description of system 100 is a description of representative embodiments of the present technical solution. Thus, the entire following description is presented only as a description of a representative example of this technical solution. This description is not intended to determine the scope or boundaries of this technical solution. Some useful examples of modifications to the system 100 may also be covered by the following description. The purpose of this is also solely assistance in understanding, and not determining the scope and boundaries of this technical solution. These modifications are not an exhaustive list, and it will be understood by those skilled in the art that other modifications are possible. In addition, this should not be interpreted so that where examples of modifications have not been set forth, no modifications are possible, and / or that what is described is the only embodiment of this element of the present technical solution. As will be clear to a person skilled in the art, this is most likely not the case. In addition, it should be borne in mind that the system 100 is in some specific manifestations a fairly simple embodiment of the present technical solution, and in such cases, this option is presented here in order to facilitate understanding. As will be clear to a person skilled in the art, many embodiments of the present technical solution will have much greater complexity.

[0070] Система 100 включает в себя компьютерное устройство 102, являющееся сервером 102. Сервер 102 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 102 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 102 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 102 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 102 может быть разделена и может выполняться с помощью нескольких серверов.[0070] The system 100 includes a computer device 102, which is a server 102. The server 102 may be a regular computer server. In an example embodiment of the present technical solution, the server 102 may be a Dell ™ PowerEdge ™ server that uses the Microsoft ™ Windows Server ™ operating system. Needless to say, the server 102 may be any other suitable hardware and / or application software and / or system software, or a combination thereof. In the presented embodiment of the present technical solution, not limiting its scope, server 102 is a single server. In other embodiments of the present technical solution, not limiting its scope, the functionality of the server 102 can be divided and can be performed using multiple servers.

[0071] В некоторых вариантах осуществления настоящего технического решения сервер 102 может находиться под контролем и/или управлением поставщика картографических сервисов, такого, например, как поставщик сервиса Яндекс.Карты (Yandex.Maps™). В альтернативных вариантах осуществления настоящего технического решения сервер 102 может находиться под контролем и/или управлением поставщика таких сервисов, как сервисы компьютерных игр, сервисы графического дизайна и других сервисов, имеющих отношение к компьютерной графике.[0071] In some embodiments of the present technical solution, the server 102 may be controlled and / or managed by a map service provider, such as, for example, a Yandex.Maps (Yandex.Maps ™) service provider. In alternative embodiments of the present technical solution, the server 102 may be under the control and / or control of a provider of services such as computer gaming services, graphic design services, and other services related to computer graphics.

[0072] Сервер 102 включает в себя носитель 104 информации, который может использоваться сервером 102. В общем случае носитель 104 информации может быть выполнен как носитель любого характера и вида, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. а также их комбинацию.[0072] The server 102 includes a storage medium 104 that can be used by the server 102. In general, the storage medium 104 can be configured as any type or medium, including RAM, ROM, disks (CDs, DVDs, floppy disks, hard drives, etc.), USB flash drives, solid state drives, tape drives, etc. as well as their combination.

[0073] Варианты осуществления сервера 102 хорошо известны. Таким образом, достаточно отметить, что сервер 102 включает в себя, среди прочего, интерфейс сетевой передачи данных (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети передачи данных (не изображена); и процессор 108, соединенный с интерфейсом сетевой передачи данных и носителем 104 информации, причем процессор 108 выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор 108 может иметь доступ к машиночитаемым инструкциям, хранящимся на носителе 104 информации, выполнение которых инициирует реализацию процессором 108 различных описанных здесь процедур.[0073] Embodiments of the server 102 are well known. Thus, it is sufficient to note that the server 102 includes, inter alia, a network data transmission interface (for example, a modem, network card, and the like) for two-way communication over a data network (not shown); and a processor 108 connected to the network data interface and the storage medium 104, the processor 108 being configured to perform various procedures, including those described below. To this end, the processor 108 may have access to computer-readable instructions stored on the information medium 104, the execution of which initiates the implementation by the processor 108 of the various procedures described herein.

[0074] В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, сеть передачи данных может представлять собой Интернет. В других вариантах осуществления настоящего технического решения сеть передачи данных может быть реализована иначе - в виде глобальной сети передачи данных, локальной сети передачи данных, частной сети передачи данных и т.п.[0074] In some non-limiting embodiments of the present technical solution, the data network may be the Internet. In other embodiments of the present technical solution, the data network can be implemented differently - in the form of a global data network, local data network, private data network, etc.

[0075] Носитель 104 информации выполнен с возможностью хранить данные, включая машиночитаемые инструкции и другие данные, включая любого типа координаты поверхностей графических объектов. В некоторых вариантах осуществления настоящего технического решения носитель 104 информации может хранить по меньшей мере часть данных в базе данных 106. В других вариантах осуществления настоящего технического решения носитель 104 информации может хранить по меньшей мере часть данных в любом наборе данных, который отличается от базы данных.[0075] The storage medium 104 is configured to store data, including computer-readable instructions and other data, including any type of coordinate of the surfaces of graphic objects. In some embodiments of the present technical solution, the storage medium 104 may store at least a portion of the data in the database 106. In other embodiments of the present technical solution, the storage medium 104 may store at least a portion of the data in any data set that is different from the database.

[0076] Данные, сохраненные на носителе 104 информации (и, более конкретно, по меньшей мере частично, в некоторых вариантах осуществления настоящего технического решения, в базе данных 106) могут включать в себя стандартные координаты для отрисовки трехмерных графических объектов. Трехмерные графические объекты могут быть трехмерными графическими объектами любого типа.[0076] Data stored on the information medium 104 (and, more specifically, at least in part, in some embodiments of the present technical solution, in the database 106) may include standard coordinates for rendering three-dimensional graphic objects. Three-dimensional graphic objects can be three-dimensional graphic objects of any type.

[0077] Поверхности трехмерных графических объектов определяют их контуры. Поверхности трехмерных пространственных объектов могут быть плоскими и/или искривленными поверхностями. Искривленные поверхности могут быть правильной геометрической формы (например, куб, шар) и/или неправильной геометрической формы (яблоко).[0077] The surfaces of three-dimensional graphic objects define their contours. Surfaces of three-dimensional features can be flat and / or curved surfaces. Curved surfaces can be of regular geometric shape (e.g., cube, ball) and / or irregular geometric shape (apple).

[0078] Поверхности трехмерных графических объектов могут быть определены стандартными координатами. Примером стандартной системы координат является декартова система координат. Другим примером стандартной системы координат, не ограничивающим объем настоящего технического решения, являются, например, полярные координаты относительно расположения наблюдателя.[0078] The surfaces of three-dimensional graphic objects can be defined by standard coordinates. An example of a standard coordinate system is the Cartesian coordinate system. Another example of a standard coordinate system, not limiting the scope of the present technical solution, are, for example, polar coordinates relative to the location of the observer.

[0079] Трехмерные графические объекты могут быть монотонными или немонотонными. Трехмерный графический объект является монотонным по отношению к прямой плоскости (базе), если каждая линия («высота»), ортогональная к базе, пересекает поверхность трехмерного графического объекта только один раз. Трехмерный графический объект является немонотонным по отношению к прямой плоскости (базе), если по меньшей мере одна линия, ортогональная к базе, пересекает поверхность трехмерного графического объекта по меньшей мере два раза.[0079] Three-dimensional graphic objects can be monotonic or nonmonotonic. A three-dimensional graphic object is monotonic with respect to a straight plane (base) if each line (“height”) orthogonal to the base crosses the surface of the three-dimensional graphic object only once. A three-dimensional graphic object is nonmonotonic with respect to a straight plane (base) if at least one line orthogonal to the base intersects the surface of the three-dimensional graphic object at least two times.

[0080] На Фиг. 4 изображен неограничивающий пример трехмерного графического объекта 200. Трехмерный графический объект 200 является трехмерным графическим объектом неправильной формы. Координаты поверхностей трехмерного графического объекта 200 могут быть определены на основе декартовой системы координат. Декартова система координат является системой координат, которая определяет каждую точку в трехмерном пространстве с помощью трех численных координат, которые являются расстояниями знаковой величины от точки до трех фиксированных перпендикулярных направленных линий, Y-оси (не пронумерована), Х-оси (не пронумерована), и Z-оси (не пронумерована), причем это расстояние измеряется в одинаковых единицах длины. Термин «расстояния знаковой величины» означает, что каждое ненулевое вещественное число может быть либо положительным, либо отрицательным. Оси называются координатными осями или просто осями в системе, и точка 408, где все оси сходятся, может быть указана как обладающая следующими координатами: (0;0;0).[0080] In FIG. 4 illustrates a non-limiting example of a three-dimensional graphic object 200. Three-dimensional graphic object 200 is a three-dimensional graphic object of irregular shape. The surface coordinates of the three-dimensional graphic object 200 can be determined based on the Cartesian coordinate system. A Cartesian coordinate system is a coordinate system that defines each point in three-dimensional space using three numerical coordinates, which are the distances of a sign magnitude from a point to three fixed perpendicular directed lines, the Y-axis (not numbered), the X-axis (not numbered), and Z-axis (not numbered), and this distance is measured in the same units of length. The term "sign distance" means that each nonzero real number can be either positive or negative. The axes are called coordinate axes or simply axes in the system, and the point 408, where all the axes converge, can be indicated as having the following coordinates: (0; 0; 0).

[0081] Трехмерный графический объект 200, изображенный на Фиг. 4, является немонотонным по отношению к поверхности, определенной осями YZ: если спроецировать высоту от поверхности, определенной осями YZ, в точку 402 на поверхности трехмерного графического объекта 200, высота также пересечет поверхность трехмерного графического объекта 200 в точке 404.[0081] The three-dimensional graphic object 200 shown in FIG. 4 is non-monotonic with respect to the surface defined by the YZ axes: if you project the height from the surface defined by the YZ axes to a point 402 on the surface of the three-dimensional graphic object 200, the height will also intersect the surface of the three-dimensional graphic object 200 at point 404.

[0082] Трехмерный графический объект 200 является немонотонным по отношению к любой другой поверхности, включая поверхности, определенные осями XY и XZ, по той же самой причине: как можно видеть на Фиг. 4, по меньшей мере некоторые высоты (не изображены), которые могут быть спроецированы с любой плоской поверхности, включая поверхности, определенные осями XY и XZ, могут пересекать поверхность трехмерного графического объекта 200 более чем в одной точке.[0082] The three-dimensional graphic object 200 is non-monotonic with respect to any other surface, including surfaces defined by the XY and XZ axes, for the same reason: as can be seen in FIG. 4, at least some heights (not shown) that can be projected from any flat surface, including surfaces defined by the XY and XZ axes, can intersect the surface of a three-dimensional graphic object 200 at more than one point.

[0083] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют извлечение процессором 108 стандартных координат трехмерного графического объекта и, на основе этих координат, создание поверхности трехмерного графического объекта. Например, процессор 108 может извлекать стандартные координаты трехмерного графического объекта 200 и, на основе координат, создавать поверхность трехмерного графического объекта 200, как показано на Фиг. 4.[0083] The storage medium 104 may store machine-readable instructions that, when executed, initiate the processor 108 to extract the standard coordinates of a three-dimensional graphic object and, based on these coordinates, create a surface of the three-dimensional graphic object. For example, the processor 108 can extract the standard coordinates of the three-dimensional graphical object 200 and, based on the coordinates, create the surface of the three-dimensional graphical object 200, as shown in FIG. four.

[0084] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют создание процессором 108 воображаемой первой эталонной плоскости 502, изображенной на Фиг. 5, которая, в свою очередь, определяет первую эталонную петлю 410, изображенную на Фиг. 4, на которой воображаемая первая эталонная плоскость 502 пересекается с поверхностью трехмерного графического объекта 200. Другими словами, процессор 108 создает первую эталонную петлю 410 таким образом, что она полностью расположена на поверхности трехмерного графического объекта 200 в пределах воображаемой первой эталонной плоскости 502, как изображено на Фиг. 5.[0084] The storage medium 104 may store machine-readable instructions that, when executed, trigger the processor 108 to create an imaginary first reference plane 502 of FIG. 5, which in turn defines the first reference loop 410 shown in FIG. 4, in which an imaginary first reference plane 502 intersects with the surface of the three-dimensional graphic object 200. In other words, the processor 108 creates the first reference loop 410 so that it is completely located on the surface of the three-dimensional graphic object 200 within the imaginary first reference plane 502, as shown in FIG. 5.

[0085] В некоторых вариантах осуществления настоящего технического решения для создания первой эталонной петли 410 процессор 108 может определить две наиболее удаленные точки 402, 404 на поверхности трехмерного графического объекта 200, а затем создать первую воображаемую эталонную плоскость 502, которая включает в себя воображаемую первую осевую линию 406, соединяющую эти две наиболее удаленные точки 402, 404. Линия пересечения между поверхностью трехмерного объекта 200 и первой воображаемой эталонной плоскостью 502 является первой эталонной петлей 410.[0085] In some embodiments of the present technical solution for creating the first reference loop 410, the processor 108 can determine the two farthest points 402, 404 on the surface of the three-dimensional graphic object 200, and then create the first imaginary reference plane 502, which includes an imaginary first axial a line 406 connecting these two farthest points 402, 404. The line of intersection between the surface of the three-dimensional object 200 and the first imaginary reference plane 502 is the first reference loop 410.

[0086] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют создание процессором 108 второй эталонной петли 902, изображенной на Фиг. 9. Вторая эталонная петля 902 также является линией, которая расположена на поверхности трехмерного графического объекта 200. Процессор 108 создает вторую эталонную петлю 902 таким образом, что она полностью расположена в пределах второй воображаемой эталонной плоскости (не изображена), которая не совпадает с первой воображаемой эталонной плоскостью 502.[0086] The storage medium 104 may store machine-readable instructions that, when executed, initiate the creation by the processor 108 of the second reference loop 902 depicted in FIG. 9. The second reference loop 902 is also a line that is located on the surface of the three-dimensional graphic object 200. The processor 108 creates the second reference loop 902 so that it is completely located within the second imaginary reference plane (not shown), which does not coincide with the first imaginary reference plane 502.

[0087] В некоторых вариантах осуществления настоящего технического решения, не ограничивающих его объем, для создания второй эталонной петли 902 процессор 108 может создавать вторую воображаемую эталонную плоскость, которая включает в себя первую осевую линию 406, и является ортогональной к первой воображаемой эталонной плоскости 502. Затем линия пересечения между поверхностью трехмерного объекта 200 и второй воображаемой эталонной плоскостью может быть выбрана как вторая эталонная петля 902.[0087] In some non-limiting embodiments of the present technical solution, to create a second reference loop 902, the processor 108 may create a second imaginary reference plane that includes a first center line 406 and is orthogonal to the first imaginary reference plane 502. Then, the intersection line between the surface of the three-dimensional object 200 and the second imaginary reference plane can be selected as the second reference loop 902.

[0088] В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, для создания второй эталонной петли 902 процессор 108 может определить точку (не изображена), расположенную в середине первой осевой линии 406 между точками 402 и 404. Затем процессор может создавать воображаемую вторую осевую линию (не изображена) как линию, перпендикулярную первой осевой линии 406 в этой точке. Затем процессор может создавать вторую воображаемую плоскость, которая включает в себя вторую осевую линию, и которая является ортогональной первой воображаемой эталонной плоскости 502. Затем линия пересечения между поверхностью трехмерного объекта 200 и второй воображаемой эталонной плоскостью может быть выбрана как вторая эталонная петля 902.[0088] In other non-limiting embodiments of the present technical solution, to create a second reference loop 902, the processor 108 may determine a point (not shown) located in the middle of the first center line 406 between points 402 and 404. The processor may then create an imaginary the second center line (not shown) as a line perpendicular to the first center line 406 at this point. The processor can then create a second imaginary plane, which includes a second center line, and which is orthogonal to the first imaginary reference plane 502. Then, the intersection line between the surface of the three-dimensional object 200 and the second imaginary reference plane can be selected as the second reference loop 902.

[0089] В других альтернативных вариантах осуществления настоящего технического решения, не ограничивающих его объем, процессор 108 может создать вторую эталонную петлю 902 любым другим способом, при условии, что первая эталонная петля 410 и вторая эталонная петля 902 пересекают друг друга.[0089] In other non-limiting alternative embodiments of the present technical solution, processor 108 may create a second reference loop 902 in any other way, provided that the first reference loop 410 and the second reference loop 902 intersect each other.

[0090] В других альтернативных вариантах осуществления настоящего технического решения процессор 108 может создать вторую эталонную петлю 902 любым другим способом, при условии, что первая эталонная петля 410 и вторая эталонная петля 902 не совпадают.[0090] In other alternative embodiments of the present technical solution, the processor 108 may create a second reference loop 902 in any other way, provided that the first reference loop 410 and the second reference loop 902 do not match.

[0091] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют применение процессором 108 к поверхности трехмерного графического объекта 200 первого набора пересекающих элементов 610, 620, 630 таким образом, что пересекающие элемента 610, 620, 630 из первого набора пересекающих элементов пересекают первую эталонную петлю 410 в соответствующих точках 612, 622, 632 пересечения в предварительно определенных интервалах, как изображено на Фиг. 6. Предварительно определенный интервал может выражаться в пикселях (например, 4 пикселя). Однако предварительно определенный интервал может выражаться в любой другой подходящей системе мер.[0091] The storage medium 104 may store machine-readable instructions that, when executed, initiate application by the processor 108 to the surface of the three-dimensional graphic object 200 of a first set of intersecting elements 610, 620, 630 such that the intersecting elements 610, 620, 630 of the first set intersecting elements intersect the first reference loop 410 at respective intersection points 612, 622, 632 at predetermined intervals, as shown in FIG. 6. A predetermined interval may be expressed in pixels (for example, 4 pixels). However, a predetermined interval may be expressed in any other suitable system of measures.

[0092] Пересекающие элементы могут быть пересекающими плоскостями. На Фиг. 6 пересекающие элементы 610, 620, 630 являются пересекающими плоскостями 610, 620, 630. Как изображено на Фиг. 6, в результате пересечения поверхности трехмерного цифрового объекта 200 пересекающими плоскостями 610, 620, 630, создаются пересекающие линии 616, 626, 636.[0092] The intersecting elements may be intersecting planes. In FIG. 6, the intersecting elements 610, 620, 630 are intersecting planes 610, 620, 630. As shown in FIG. 6, as a result of the intersection of the surface of a three-dimensional digital object 200 with intersecting planes 610, 620, 630, intersecting lines 616, 626, 636 are created.

[0093] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют применение процессором 108 к поверхности трехмерного графического объекта 200 второго набора пересекающих элементов 910, 920, 930 таким образом, что пересекающие элементы 910, 920, 930 из второго набора пересекающих элементов пересекают вторую эталонную петлю 902 в соответствующих точках 912, 922, 932 пересечения в предварительно определенных интервалах, как изображено на Фиг. 9. Предварительно определенный интервал может выражаться в пикселях (например, пикселя). Однако предварительно определенный интервал может выражаться в любой другой подходящей системе мер.[0093] The storage medium 104 may store machine-readable instructions that, when executed, initiate application by the processor 108 to the surface of the three-dimensional graphic object 200 of a second set of intersecting elements 910, 920, 930 such that the intersecting elements 910, 920, 930 from the second set intersecting elements intersect the second reference loop 902 at respective intersection points 912, 922, 932 at predetermined intervals, as shown in FIG. 9. A predetermined interval may be expressed in pixels (for example, a pixel). However, a predetermined interval may be expressed in any other suitable system of measures.

[0094] Интервал может быть предварительно определен процессором 108. В некоторых вариантах осуществления настоящего технического решения интервалы могут быть предварительно определены отдельно для различных типов трехмерных графических объектов. В некоторых вариантах осуществления настоящего технического решения интервалы могут быть предварительно определены отдельно для различных наборов пересекающих элементов, пересекающих различные эталонные петли того же самого трехмерного графического объекта. В некоторых вариантах осуществления настоящего технического решения интервалы могут быть предварительно определены с учетом одного или нескольких фактов, например, длины соответствующей эталонной петли, природы трехмерного графического объекта 200 и других.[0094] The interval may be predefined by the processor 108. In some embodiments of the present technical solution, the intervals may be predefined separately for various types of three-dimensional graphical objects. In some embodiments of the present technical solution, the intervals can be predefined separately for different sets of intersecting elements intersecting different reference loops of the same three-dimensional graphic object. In some embodiments of the present technical solution, the intervals can be predefined taking into account one or more facts, for example, the length of the corresponding reference loop, the nature of the three-dimensional graphic object 200, and others.

[0095] Например, процессор 108 может определить интервалы отдельно для первого набора пересекающих элементов 610, 620, 630, и отдельно для второго набора пересекающих элементов 910, 920, 930 для того, чтобы сделать интервалы равными 1/400 длины соответствующей эталонной петли соответствующего трехмерного графического объекта 200.[0095] For example, the processor 108 may determine the intervals separately for the first set of intersecting elements 610, 620, 630, and separately for the second set of intersecting elements 910, 920, 930 in order to make the intervals equal to 1/400 of the length of the corresponding reference loop of the corresponding three-dimensional graphic object 200.

[0096] В некоторых вариантах осуществления настоящего технического решения предварительно определенные интервалы могут быть настроены в зависимости от характеристик поверхности используемого трехмерного графического объекта. Например, некоторые вычислительные устройства 102 могут быть специализированы на обработке конкретного типа трехмерных графических объектов, например, больших трехмерных графических объектов, обладающих, в основном, правильной геометрической формой. В таком случае может быть установлен более крупный предварительно определенный интервал, чем в случае, когда вычислительное устройство 102 специализировано на работе с менее крупными трехмерными объектами неправильной формы.[0096] In some embodiments of the present technical solution, predetermined intervals can be adjusted depending on the surface characteristics of the used three-dimensional graphic object. For example, some computing devices 102 may be specialized in processing a particular type of three-dimensional graphic objects, for example, large three-dimensional graphic objects having a substantially regular geometric shape. In this case, a larger predefined interval can be set than in the case when the computing device 102 is specialized in working with smaller, three-dimensional irregularly shaped objects.

[0097] Процессор 108 может применять к поверхности трехмерного графического объекта 200 один или несколько наборов пересекающих элементов таким образом, что каждый пересекающий элемент из частного набора пересекающих элементов пересекает свою эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения. Например, процессор 108 может применить к поверхности трехмерного графического объекта 200 первый набор пересекающих элементов 610, 620, 630 таким образом, что каждый пересекающий элемент 610, 620, 630 из первого набора пересекающих элементов пересекает первую эталонную петлю 410 в каждой соответствующей точке 612, 622, 632 пересечения под одинаковым углом 614, 624, 634 пересечения. Углы 614, 624, 634 пересечения могут быть в диапазоне между нулем градусов и 180 градусами. На Фиг. 6 каждый из углов 614, 624, 634 пересечения составляет 90 градусов. Аналогично, процессор 108 может применить к поверхности трехмерного графического объекта 200 второй набор пересекающих элементов 910, 920, 930 таким образом, что каждый пересекающий элемент 910, 920, 930 из второго набора пересекающих элементов пересекает первую эталонную петлю 902 в каждой соответствующей точке 912, 922, 932 пересечения под одинаковым углом пересечения (не пронумеровано). Углы пересечения могут быть в диапазоне между нулем градусов и 180 градусами. На Фиг. 9 каждый из углов пересечения составляет 90 градусов.[0097] The processor 108 may apply one or more sets of intersecting elements to the surface of the three-dimensional graphical object 200 such that each intersecting element from a private set of intersecting elements intersects its reference loop at each corresponding intersection point at the same intersection angle. For example, processor 108 may apply to the surface of a three-dimensional graphic object 200 a first set of intersecting elements 610, 620, 630 such that each intersecting element 610, 620, 630 of the first set of intersecting elements intersects the first reference loop 410 at each corresponding point 612, 622 , 632 intersections at the same intersection angle 614, 624, 634. The intersection angles 614, 624, 634 may be in the range between zero degrees and 180 degrees. In FIG. 6, each of the intersection angles 614, 624, 634 is 90 degrees. Similarly, the processor 108 can apply to the surface of the three-dimensional graphic object 200 a second set of intersecting elements 910, 920, 930 so that each intersecting element 910, 920, 930 from the second set of intersecting elements intersects the first reference loop 902 at each corresponding point 912, 922 , 932 intersections at the same intersection angle (not numbered). The intersection angles can be between zero degrees and 180 degrees. In FIG. 9, each of the intersection angles is 90 degrees.

[0098] Процессор 108 может применить каждый пересекающий элемент таким образом, что пересекающий элемент из соответствующего набора пересекающих элементов пересекает соответствующую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, причем каждый пересекающий элемент из этого соответствующего набора пересекающих элементов является перпендикулярным соответствующей воображаемой эталонной плоскости. Например, процессор 108 может применить к поверхности трехмерного графического объекта 200 первый набор пересекающих элементов 610, 620, 630 таким образом, что каждый пересекающий элемент 610, 620, 630 из первого набора пересекающих элементов пересекает первую эталонную петлю 410 в каждой соответствующей точке 612, 622, 632 пересечения под одинаковым углом 614, 624, 634 пересечения, который составляет 90 градусов, причем каждый пересекающий элемент 610, 620, 630 из первого набора пересекающих элементов является перпендикулярным первой воображаемой эталонной плоскости 502 (т.е. пересекает ее также под углом 90 градусов). Кроме того, процессор 108 может применить к поверхности трехмерного графического объекта 200 второй набор пересекающих элементов 910, 920, 930 таким образом, что каждый пересекающий элемент 910, 920, 930 из второго набора пересекающих элементов пересекает вторую эталонную петлю 902 под одинаковым углом в 90 градусов, и является перпендикулярным второй воображаемой эталонной плоскости, которая включает в себя вторую эталонную петлю 902, изображенную на Фиг. 9.[0098] The processor 108 may apply each intersecting element such that the intersecting element from the corresponding set of intersecting elements intersects the corresponding reference loop at each corresponding intersection point at the same intersection angle, wherein each intersecting element from this corresponding set of intersecting elements is perpendicular to the corresponding imaginary reference the plane. For example, processor 108 may apply a first set of intersecting elements 610, 620, 630 to the surface of a three-dimensional graphic object 200 such that each intersecting element 610, 620, 630 from the first set of intersecting elements intersects the first reference loop 410 at each corresponding point 612, 622 , 632 intersections at the same intersection angle 614, 624, 634, which is 90 degrees, with each intersecting element 610, 620, 630 of the first set of intersecting elements being perpendicular to the first imaginary reference plane and 502 (i.e., it also intersects at an angle of 90 degrees). In addition, the processor 108 can apply to the surface of the three-dimensional graphic object 200 a second set of intersecting elements 910, 920, 930 so that each intersecting element 910, 920, 930 from the second set of intersecting elements intersects the second reference loop 902 at the same angle of 90 degrees , and is perpendicular to the second imaginary reference plane, which includes the second reference loop 902 shown in FIG. 9.

[0099] Углы между пересекающими элементами могут различаться из-за того факта, что каждый пересекающий элемент из частного набора пересекающих элементов пересекает соответствующую эталонную петлю (т.е. поверхность трехмерного графического объекта 200) под одинаковым углом (например, 90 градусов), но соответствующая эталонная петля искривляется (т.е. сама поверхность вдоль соответствующей эталонной петли искривляется). Вследствие этого угол является острым в случае, когда поверхность слегка искривлена, и угол становится больше в областях, где поверхность искривляется более круто. На плоских фрагментах (если они присутствуют) поверхности, пересекающие элементы, будут параллельными (нулевой угол между пересекающими элементами). Таким образом, если любые два данных пересекающих элемента параллельны, это дает указание на то, что фрагмент поверхности между этими двумя пересекающими элементами является плоской поверхностью (в направлении вдоль соответствующей эталонной петли). Угол в один градус между пересекающими элементами указывает на то, что фрагмент поверхности между этими двумя пересекающими элементами искривляется слегка, так, что это почти незаметно. Угол в 90 градусов между пересекающими элементами указывает на то, что фрагмент поверхности между этими двумя пересекающими элементами поворачивает на 90 градусов.[0099] The angles between the intersecting elements may vary due to the fact that each intersecting element from a private set of intersecting elements intersects the corresponding reference loop (ie, the surface of the three-dimensional graphic object 200) at the same angle (for example, 90 degrees), but the corresponding reference loop is curved (i.e., the surface itself along the corresponding reference loop is curved). As a result, the angle is sharp when the surface is slightly curved and the angle becomes larger in areas where the surface is curved more abruptly. On planar fragments (if present) the surfaces intersecting the elements will be parallel (zero angle between the intersecting elements). Thus, if any two of these intersecting elements are parallel, this indicates that the surface fragment between these two intersecting elements is a flat surface (in the direction along the corresponding reference loop). An angle of one degree between the intersecting elements indicates that the surface fragment between the two intersecting elements is slightly bent so that it is almost imperceptible. An angle of 90 degrees between intersecting elements indicates that a surface fragment between these two intersecting elements rotates 90 degrees.

[00100] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют измерение процессором 108 множества углов между пересекающими элементами из частного набора пересекающих элементов. Процессор 108 может измерить все углы между каждыми двумя последовательными пересекающими элементами из соответствующего набора пересекающих элементов, т.е. между соответствующими парами пересекающих элементов. Процессор 108 может измерить углы между не являющимися последовательными пересекающими элементами. В некоторых вариантах осуществления настоящего технического решения пересекающие элементы являются пересекающими плоскостями, а измерение углов между пересекающими элементами является измерением углов между нормалями (векторами нормалей) соответствующих пересекающих плоскостей.[00100] The storage medium 104 may store machine-readable instructions that, when executed, initiate a measurement by the processor 108 of a plurality of angles between intersecting elements from a private set of intersecting elements. The processor 108 can measure all angles between every two successive intersecting elements from the corresponding set of intersecting elements, i.e. between the corresponding pairs of intersecting elements. The processor 108 may measure angles between non-consecutive intersecting elements. In some embodiments of the present technical solution, the intersecting elements are intersecting planes, and the measurement of the angles between the intersecting elements is a measurement of the angles between the normals (normal vectors) of the corresponding intersecting planes.

[00101] Например, носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют измерение процессором 108 множества углов между пересекающими элементами 610, 620, 630 из первого набора пересекающих элементов, причем все пересекающие элементы 610, 620, 630 из первого набора пересекающих элементов являются пересекающими плоскостями 610, 620, 630. Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, дополнительно инициируют измерение процессором 108 угла 802 между парой последовательных пересекающих элементов 610 и 620 и измерение угла 804 между парой последовательных пересекающих элементов 620 и 630. Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, дополнительно инициируют измерение процессором 108 угла 806 между парой не являющихся последовательными пересекающих элементов 610 и 630. Измерение углов между пересекающими элементами 610 и 620 может быть осуществлено, например, с помощью измерения угла между вектором 1002 нормали («нормалью») к пересекающему элементу 610 и вектором 1004 нормали («нормалью») к пересекающему элементу 620, как изображено на Фиг. 10.[00101] For example, the storage medium 104 may store machine-readable instructions that, when executed, initiate the measurement by the processor 108 of a plurality of angles between intersecting elements 610, 620, 630 from the first set of intersecting elements, all intersecting elements 610, 620, 630 from the first the set of intersecting elements are intersecting planes 610, 620, 630. The storage medium 104 may store machine-readable instructions, which, when executed, additionally initiate a measurement by the processor 108 of the angle 802 between the pair of sequences intersecting elements 610 and 620 and measuring an angle 804 between a pair of consecutive intersecting elements 620 and 630. The storage medium 104 may store machine-readable instructions that, when executed, further initiate a measurement by the processor 108 of an angle 806 between a pair of non-sequential intersecting elements 610 and 630 The measurement of the angles between the intersecting elements 610 and 620 can be carried out, for example, by measuring the angle between the normal vector 1002 ("normal") to the intersecting element 610 and the normal vector 1004 (" normal ") to the intersecting element 620, as shown in FIG. 10.

[00102] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют создание процессором 108 одной разделительной линии в ответ на то, что один угол из множества углов между двумя частными пересекающими элементами из этого частного набора пересекающих элементов превышает предварительно определенный порог. Аналогично, процессор 108 может, в ответ на то, что два или несколько из множества углов между соответствующими пересекающими элементами из этого частного набора пересекающих элементов превышают предварительно определенный порог, создать две или несколько разделительных линий. Разделительные линии, созданные в результате измерения углов между пересекающими элементами из частного набора пересекающих элементов, составляют частный набор разделительных линий (первый набор разделительных линий, второй набор разделительных линий, и т.д.).[00102] The storage medium 104 may store machine-readable instructions that, when executed, initiate the creation of a single dividing line by the processor 108 in response to the fact that one angle of the plurality of angles between two partial intersecting elements from this particular set of intersecting elements exceeds a predetermined threshold . Similarly, the processor 108 may, in response to the fact that two or more of the plurality of angles between respective intersecting elements from this particular set of intersecting elements exceed a predetermined threshold, create two or more dividing lines. Dividing lines created by measuring the angles between intersecting elements from a private set of intersecting elements make up a private set of dividing lines (first set of dividing lines, second set of dividing lines, etc.).

[00103] Как было упомянуто выше, набор разделительных линий может включать в себя одну или несколько разделительных линий. Разделительные линии являются линиями, созданными для того, чтобы служить границами фрагментов поверхности трехмерного графического объекта 200. Разделительные линии могут быть созданы следующим образом. Сначала разделительные линии из частного набора разделительных линий могут быть созданы таким образом, что каждая разделительная линия расположена в пределах интервалов, определенных соответствующими двумя последовательными пересекающими элементами, угол между которыми превышает предварительно определенный порог. Таким образом созданные разделительные линии разделяют поверхность трехмерного графического объекта на пространственные сегменты. Затем углы между не являющимися последовательными элементами, размещенными между созданными последовательными разделительными линиями, могут быть измерены и, в ответ на то, что угол между соответствующими двумя не являющимися последовательными пересекающими элементами превышает предварительно определенное значение, может быть создана дополнительная разделительная линия в том же наборе разделительных линий. В результате создания дополнительных разделительных линий из одного и того же набора разделительных линий, может быть создано еще два фрагмента поверхности (два «дочерних» фрагмента поверхности «родительского» фрагмента поверхности). Затем измерение углов между не являющимися последовательными элементами, размещенными между последовательными разделительными линиями из того же набора разделительных линий, и создание новых разделительных линий в том же наборе разделительных линий может быть повторено снова и снова, пока не останется углов, превышающих предварительно определенный порог между любыми двумя пересекающими элементами из одного и того же набора пересекающих элементов, причем два пересекающих элемента расположены в пространстве между любыми двумя последовательными разделительными линиями из одного и того же набора разделительных линий. Другими словами, измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий может быть осуществлено последовательно и периодически.[00103] As mentioned above, a set of dividing lines may include one or more dividing lines. Dividing lines are lines created to serve as boundaries of fragments of the surface of a three-dimensional graphic object 200. Dividing lines can be created as follows. First, dividing lines from a private set of dividing lines can be created in such a way that each dividing line is located within the intervals defined by the respective two successive intersecting elements, the angle between which exceeds a predetermined threshold. Thus created dividing lines divide the surface of a three-dimensional graphic object into spatial segments. Then the angles between non-consecutive elements placed between the created successive dividing lines can be measured and, in response to the fact that the angle between the corresponding two non-consecutive intersecting elements exceeds a predetermined value, an additional dividing line in the same set can be created dividing lines. As a result of creating additional dividing lines from the same set of dividing lines, two more surface fragments can be created (two “daughter” surface fragments of the “parent” surface fragment). Then, the measurement of the angles between non-consecutive elements placed between successive dividing lines from the same set of dividing lines, and the creation of new dividing lines in the same set of dividing lines can be repeated again and again until there are no angles exceeding a predetermined threshold between any two intersecting elements from the same set of intersecting elements, and two intersecting elements are located in the space between any two last by dividing dividing lines from the same set of dividing lines. In other words, measuring a plurality of angles between intersecting elements from a first set of intersecting elements and creating at least one dividing line from a first set of dividing lines can be performed sequentially and periodically.

[00104] Создание разделительных линий может быть продемонстрировано с использованием примера измерения угла между двумя последовательными пересекающими элементами, причем угол превышает предварительно определенный порог. Например, предварительно определенный порог установлен как 32 градуса. В ответ на то, что угол 802 между пересекающими элементами 610, 620 из первого набора пересекающих элементов превышает предварительно определенный порог в 32 градуса, процессор 108 создает разделительную линию 820. В этом примере разделительная линия 820 совпадает с пересекающей линией 626. Однако разделительная линия не обязательно должна совпадать с пересекающей линией. Разделительная линия может быть расположена между соответствующими двумя пересекающими линиями, созданными углом двух пересекающихся плоскостей, который превышает предварительно определенный порог. Первый набор разделительных линий включает в себя на этот момент одну разделительную линию 820, которая расположена в пределах соответствующего интервала, определенного двумя частными пересекающими элементами 610, 620 для разделения поверхности трехмерного графического объекта 200 на фрагменты поверхности. Аналогично могут быть созданы другие разделительные линии, если будут определены углы между последовательными пересекающими элементами, превышающие предварительно определенный порог. Затем, в пределах каждого фрагмента поверхности, могут быть измерены углы между не являющимися последовательными пересекающими элементами, и, в ответ на то, что углы между двумя не являющимися последовательными пересекающими элементами превышают предварительно определенный порог в 32 градуса, процессор 108 создает дополнительную разделительную линию. Процессор 108 может повторять этот этап до тех пор, пока все углы не станут меньше, чем 32 градуса.[00104] The creation of dividing lines can be demonstrated using an example of measuring the angle between two successive intersecting elements, the angle exceeding a predetermined threshold. For example, a predefined threshold is set to 32 degrees. In response to the fact that the angle 802 between the intersecting elements 610, 620 from the first set of intersecting elements exceeds a predetermined threshold of 32 degrees, the processor 108 creates a dividing line 820. In this example, the dividing line 820 is the same as the intersecting line 626. However, the dividing line does not must coincide with the intersecting line. The dividing line may be located between the respective two intersecting lines created by the angle of two intersecting planes, which exceeds a predetermined threshold. The first set of dividing lines includes at this moment one dividing line 820, which is located within the corresponding interval defined by two partial intersecting elements 610, 620 for dividing the surface of the three-dimensional graphic object 200 into fragments of the surface. Similarly, other dividing lines can be created if angles between successive intersecting elements exceeding a predetermined threshold are determined. Then, within each fragment of the surface, the angles between non-sequential intersecting elements can be measured, and, in response to the angles between two non-sequential intersecting elements exceeding a predetermined threshold of 32 degrees, the processor 108 creates an additional dividing line. The processor 108 may repeat this step until all angles become less than 32 degrees.

[00105] Разделение поверхности трехмерного графического объекта 200 может привести к созданию монотонных фрагментов поверхности, поскольку искривленные части поверхности могут быть определены с помощью определения крутых углов, и поверхность может быть затем разделена на ряд монотонных фрагментов, пока в каждом фрагменте не будут отсутствовать пересекающие элементы, образующие превышающий порог угол. В итоге полученные фрагменты могут не включать в себя искривления, которые делают фрагмент немонотонным. Однако некоторые из фрагментов поверхности или даже все фрагменты поверхности могут оставаться немонотонными, если поверхность искривляется в другом направлении, не в том, в котором проходит соответствующая эталонная петля (в примере выше это первая эталонная петля 410). Монотонные фрагменты поверхности могут быть сохранены как карта высот, а немонотонные фрагменты поверхности не могут. Следовательно, может существовать необходимость в определении того, привело ли разделение поверхности трехмерного объекта 200 разделительными линиями из первого набора разделительных линий к созданию монотонных фрагментов.[00105] Separating the surface of the three-dimensional graphic object 200 can lead to the creation of monotonic fragments of the surface, since the curved parts of the surface can be determined by determining steep angles, and the surface can then be divided into a series of monotonous fragments until there are no intersecting elements in each fragment forming an angle exceeding the threshold. As a result, the obtained fragments may not include curvatures that make the fragment nonmonotonic. However, some of the surface fragments or even all surface fragments may remain nonmonotonic if the surface is curved in a different direction, not in the direction in which the corresponding reference loop extends (in the example above, this is the first reference loop 410). Monotonic surface fragments can be saved as a height map, while nonmonotonic surface fragments cannot. Therefore, there may be a need to determine whether the separation of the surface of the three-dimensional object 200 by dividing lines from the first set of dividing lines led to the creation of monotonic fragments.

[00106] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют определение процессором 108 (после создания набора разделительных линий) среди созданных фрагментов поверхности (причем созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности и немонотонных. Определение может быть осуществлено любым подходящим способом, например, анализом декартовых координат соответствующего фрагмента поверхности. Созданные фрагменты поверхности могут быть определены либо: (1) одной разделительной линией, либо (2) несколькими разделительными линиями из частного набора разделительных линий, либо (3) несколькими разделительными линиями из различных наборов разделительных линий.[00106] The storage medium 104 may store machine-readable instructions that, when executed, initiate the determination by the processor 108 (after creating a set of dividing lines) among the created surface fragments (wherein the created surface fragments are determined by the dividing lines) monotonic surface fragments and non-monotonic. The determination can be carried out in any suitable way, for example, by analyzing the Cartesian coordinates of the corresponding surface fragment. Created surface fragments can be defined either: (1) by one dividing line, or (2) by several dividing lines from a private set of dividing lines, or (3) by several dividing lines from different sets of dividing lines.

[00107] В качестве иллюстративного примера, не ограничивающего объем настоящего технического решения, созданные фрагменты поверхности могут быть определены одной разделительной линией, когда разделительная линия проходит вокруг поверхности трехмерного графического объекта 200, и таким образом разделят поверхность на две части, как экватор делит поверхность Земли на северное полушарие и южное полушарие. В других иллюстративных примерах, не ограничивающих объем настоящего технического решения, созданные фрагменты поверхности могут быть определены несколькими разделительными линиями из частного набора разделительных линий, например, как в случае, изображенном на Фиг. 3: поверхность яблока может быть разделена на радиальные сегменты. Таким образом, если поверхность яблока была бы разделена разделительными линиями, которые (исключительно с иллюстративными целями) совпадали бы с пересекающими линиями 206, фрагменты поверхности определялись бы этими разделительными линиями 206. В других иллюстративных примерах, не ограничивающих объем настоящего технического решения, созданные фрагменты поверхности могут быть определены несколькими разделительными линиями из разных наборов разделительных линий, например, как в случае, изображенном на Фиг. 9.[00107] As an illustrative example, not limiting the scope of the present technical solution, the created surface fragments can be defined by one dividing line when the dividing line passes around the surface of the three-dimensional graphic object 200, and thus divide the surface into two parts, as the equator divides the surface of the Earth to the northern hemisphere and southern hemisphere. In other illustrative examples, not limiting the scope of the present technical solution, the created surface fragments can be determined by several dividing lines from a private set of dividing lines, for example, as in the case depicted in FIG. 3: the surface of the apple can be divided into radial segments. Thus, if the surface of the apple were separated by dividing lines that (exclusively for illustrative purposes) would coincide with the intersecting lines 206, fragments of the surface would be determined by these dividing lines 206. In other illustrative examples that do not limit the scope of the present technical solution, the created surface fragments can be defined by several dividing lines from different sets of dividing lines, for example, as in the case depicted in FIG. 9.

[00108] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют создание процессором 108 карты высот, в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, для этого определенного по меньшей мере одного монотонного фрагмента поверхности. Создание карт высот может включать в себя: (i) создание баз для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, чтобы были проекции на каждую базу от каждого фрагмента поверхности соответственно, и сохранение координат баз; (ii) проецирование высот с каждого из по меньшей мере одного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот; (iii) определение значений высот, причем каждое значение высоты представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, и значения высот нужны для создания карт высот монотонных фрагментов поверхности; (iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.[00108] The storage medium 104 may store machine-readable instructions that, when executed, initiate the creation by the processor 108 of a height map, in response to determining at least one monotonic fragment of the surface, for that at least one monotonic fragment of the surface. Creating altitude maps may include: (i) creating bases for each of at least one created monotonous fragment of the surface so that there are projections onto each base from each fragment of the surface, respectively, and preserving the coordinates of the bases; (ii) projecting heights from each of at least one surface fragment onto its respective base, said projection being performed with a predetermined height step, in a predetermined height projection order; (iii) determining height values, each height value representing the distance between the corresponding base and the corresponding point on the corresponding monotonic surface fragment, and the height values are needed to create height maps of monotonic surface fragments; (iv) saving data for rendering a monotonous fragment of the surface as a set: base coordinates, height step, predetermined height projection order, and a sequence of height values in connection with the corresponding base.

[00109] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют создание процессором 108 после того, как был создан монотонный фрагмент поверхности, базы для монотонного фрагмента поверхности. В некоторых вариантах осуществления настоящего технического решения машиночитаемые инструкции могут инициировать создание процессором 108 для каждого монотонного фрагмента поверхности его соответствующей базы.[00109] The storage medium 104 may store machine-readable instructions that, when executed, initiate the creation by the processor 108 after a monotonic fragment of the surface has been created, a base for the monotonic fragment of the surface. In some embodiments of the present technical solution, machine-readable instructions may initiate the creation by the processor 108 for each monotonous fragment of the surface of its corresponding base.

[00110] Создание базы может быть выполнено проведением проекции к плоской поверхности таким образом, что база является частью плоской поверхности, определенной проекцией. Другими словами, база является частью плоской поверхности, определенной проекцией к этой плоской поверхности разделительных линий, причем разделительные линии определяют соответствующий монотонный фрагмент поверхности. Исключительно с целью иллюстрации, затемнение монотонного фрагмента поверхности на плоской поверхности может показать форму потенциальной базы этого монотонного фрагмента поверхности, при условии, что каждый луч пересекает монотонный фрагмент поверхности только один раз.[00110] Creating a base can be performed by projecting to a flat surface so that the base is part of a flat surface defined by the projection. In other words, the base is part of a flat surface defined by the projection of dividing lines to that flat surface, the dividing lines defining a corresponding monotonic fragment of the surface. For the sole purpose of illustration, the dimming of a monotonic fragment of a surface on a flat surface can show the shape of the potential base of this monotonic fragment of a surface, provided that each beam crosses a monotonic fragment of the surface only once.

[00111] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их выполнении, инициируют сохранение процессором 108 координат созданных баз. Координаты баз могут быть сохранены в любой подходящей системе координат.[00111] The storage medium 104 may store machine-readable instructions, which, when executed, will cause the processor 108 to save the coordinates of the created bases. Base coordinates can be stored in any suitable coordinate system.

[00112] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют проецирование процессором 108 с предварительно определенным шагом, начиная от начала соответствующего фрагмента поверхности и заканчивая концом фрагмента поверхности, высот с фрагмента поверхности на базу. Интервалы между высотами предварительно определены таким образом, что интервалы между высотами меньше, чем интервалы между пересекающими элементами. Например, интервалы между высотами могут быть предварительно определены таким образом, что каждый интервал между двумя последовательными высотами равен 1/10 интервала между двумя последовательными пересекающими элементами. Чем меньше предварительно определенный интервал между последовательными высотами, тем более точны координаты соответствующий части поверхности.[00112] The storage medium 104 may store machine-readable instructions that, when executed, initiate projection by the processor 108 with a predetermined step, starting from the beginning of the corresponding surface fragment and ending with the end of the surface fragment, heights from the surface fragment to the base. The intervals between the heights are predefined so that the intervals between the heights are less than the intervals between the intersecting elements. For example, the intervals between the heights can be predefined so that each interval between two consecutive heights is equal to 1/10 of the interval between two consecutive intersecting elements. The smaller the predefined interval between successive heights, the more accurate the coordinates corresponding to a part of the surface.

[00113] Носитель 104 информации может хранить машиночитаемые инструкции, которые, при их исполнении, инициируют определение процессором 108 значений высот. Значения высот являются расстояниями между базой и соответствующими координатами фрагмента поверхности. Задачей определения является создание карты высот фрагмента поверхности.[00113] The storage medium 104 may store machine-readable instructions that, when executed, trigger processor 108 to determine altitude values. The heights are the distances between the base and the corresponding coordinates of the surface fragment. The task of determining is to create a map of the heights of the surface fragment.

[00114] Чтобы проиллюстрировать описанное выше, приведем другой пример и представим, что на столе лежит зубная щетка, причем щетинки перпендикулярны плоской поверхности основания щетки, параллельны друг другу, направлены вверх, но обладают разной длиной. Щетинки расположены рядами. Расстояние между каждыми двумя щетинками в ряду одинаково, а также расстояние между рядами является одинаковым. Затем расположим на концах совокупности щетинок тонкую пленку. Из-за различной длины щетинок поверхность зубной щетки, представленная пленкой и определенная кончиками совокупности щетинок, является волнистой. Можно сказать, что координаты пленки могут быть представлены картой высот, где плоская поверхность основания щетки является базой монотонного фрагмента поверхности, который является пленкой, щетинки являются спроецированными высотами, а длины щетинок являются значениями высот. Обладая всеми этими данными и зная координаты плоской поверхности основания щетки, расстояния между щетинками в рядах и расстояние между рядами, процессор 108 может сохранить: 1) стандартные координаты базы, 2) шаг высот (расстояния между каждыми двумя щетинками в ряду и расстояние между рядами), 3) высоты порядка проецирования (например, начиная с верхней левой щетинки, проходя по каждому последующему ряду слева направо, и заканчивая нижней правой щетинкой), и 4) последовательность значений высот, например, +8, +9, +10, +11, +10, +9, +8, +9, +10, +11, +10, и так далее. Следовательно, каждая соответствующая точка на поверхности объекта будет определена не двумя координатами, как в декартовой системе координат, а только одной координатой (значениями высот), и справочной информацией, которая по многим пунктам является общей: координаты базы, шаг высот, предварительно определенный порядок проецирования высот. В этом примере все значения высот являются положительными значениями. Однако в других вариантах осуществления настоящего технического решения значения высот могут быть положительными значениями, нулевыми значениями, отрицательными значениями, или их комбинацией. Значения высот могут быть положительными и отрицательными в случаях, когда база пересекает свой соответствующий фрагмент поверхности.[00114] To illustrate the above, we give another example and imagine that a toothbrush lies on the table, the bristles being perpendicular to the flat surface of the base of the brush, parallel to each other, pointing upward, but have different lengths. Setae arranged in rows. The distance between each two bristles in a row is the same, and the distance between the rows is the same. Then we place a thin film at the ends of the set of bristles. Due to the different lengths of the bristles, the surface of the toothbrush, represented by a film and defined by the tips of the set of bristles, is wavy. It can be said that the coordinates of the film can be represented by a height map, where the flat surface of the base of the brush is the base of a monotonic fragment of the surface, which is the film, the bristles are projected heights, and the lengths of the bristles are height values. Having all this data and knowing the coordinates of the flat surface of the base of the brush, the distance between the bristles in the rows and the distance between the rows, the processor 108 can save: 1) the standard coordinates of the base, 2) the height step (the distance between each two bristles in a row and the distance between the rows) , 3) the heights of the projection order (for example, starting from the upper left bristle, passing through each subsequent row from left to right, and ending with the lower right bristle), and 4) a sequence of height values, for example, +8, +9, +10, +11 , +10, +9, +8, +9, +10, +11, +10, and so on e. Therefore, each corresponding point on the surface of the object will be determined not by two coordinates, as in the Cartesian coordinate system, but only by one coordinate (height values), and reference information, which is common for many points: base coordinates, height step, predefined projection order heights. In this example, all elevation values are positive values. However, in other embodiments of the present technical solution, the heights may be positive values, zero values, negative values, or a combination thereof. Height values can be positive and negative in cases where the base intersects its corresponding surface fragment.

[00115] В некоторых вариантах осуществления настоящего технического решения некоторая справочная информация, например, шаг высот и предварительно определенный порядок проецирования высот, может быть общей для всех точек на любой поверхности, в то время как координаты базы и значения высот будут различаться.[00115] In some embodiments of the present technical solution, some background information, for example, a step of heights and a predetermined order of projecting heights, may be common to all points on any surface, while the coordinates of the base and the values of heights will differ.

[00116] Вычислительное устройство 102 системы 100 было описано выше как сервер 102. Однако это не является необходимым условием в каждом варианте осуществления настоящего технического решения. В альтернативном варианте осуществления настоящего технического решения вычислительное устройство 102 может быть альтернативно осуществлено как клиентское устройство 102.[00116] Computing device 102 of system 100 has been described above as server 102. However, this is not a prerequisite in each embodiment of the present technical solution. In an alternative embodiment of the present technical solution, computing device 102 may alternatively be implemented as client device 102.

[00117] Клиентское устройство 102 обычно связано с пользователем (не изображен). Следует отметить, что тот факт, что клиентское устройство 102 связано с пользователем, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, регистрации, или чего-либо подобного.[00117] Client device 102 is typically associated with a user (not shown). It should be noted that the fact that the client device 102 is associated with the user does not imply any particular mode of operation, nor does it require a login, registration, or the like.

[00118] Клиентское устройство 102 может быть, например, реализовано как Dell™ Precision Т1700 МТ CA033PT170011RUWS PC с процессором 108 Intel® Xeon™ с частотой 3300 МГц, видеокартой nVIDIA Quadro K2000 (не изображена) и с установленной и действующей операционной системой Windows 7® Pro 64-bit. Клиентское устройство 102, среди прочего, включает в себя интерфейс связи (не изображен), например, модем, сетевую карту и так далее для двусторонней связи по сети передачи данных (не изображена) с другими вычислительными устройствами. Как будет понятно специалисту в данной области техники, реализация клиентского устройства 102 никак конкретно не ограничена. Клиентское устройство 102 может быть реализовано в виде персонального компьютера (настольного компьютера, ноутбука, нетбука и т.п.), беспроводного устройства передачи данных (мобильного телефона, смартфона, планшета и т.п.), а также другого оборудования. Клиентское устройство 102 может осуществлять те же самые функции, что и сервер 102.[00118] The client device 102 can, for example, be implemented as a Dell ™ Precision T1700 MT CA033PT170011RUWS PC with an Intel® Xeon ™ processor 108 with a frequency of 3300 MHz, an nVIDIA Quadro K2000 graphics card (not shown) and with installed and running Windows 7® operating system Pro 64-bit. The client device 102, among other things, includes a communication interface (not shown), for example, a modem, a network card, and so on, for two-way communication over a data network (not shown) with other computing devices. As will be clear to a person skilled in the art, the implementation of client device 102 is not specifically limited. Client device 102 may be implemented as a personal computer (desktop computer, laptop, netbook, etc.), a wireless data transmission device (mobile phone, smartphone, tablet, etc.), as well as other equipment. Client device 102 may perform the same functions as server 102.

[00119] На Фиг. 11 изображен компьютерный способ 1100 сохранения данных для отрисовки трехмерного графического объекта 200, причем трехмерный графический объект 200 обладает немонотонной поверхностью, определяемой своими стандартными координатами.[00119] In FIG. 11 depicts a computer-generated data storage method 1100 for rendering a three-dimensional graphic object 200, the three-dimensional graphic object 200 having a non-monotonous surface defined by its standard coordinates.

[00120] Сохранение трехмерных графических объектов в стандартной системе координат, например, в декартовой системе координат, может потребовать значительных ресурсов от вычислительного устройства. Координаты поверхностей трехмерных объектов, сохраненные на картах высот, могут занимать меньше пространства на машиночитаемом носителе информации и дают возможность уменьшить сетевой трафик при передаче координат с одного вычислительного устройства на другое.[00120] Saving three-dimensional graphic objects in a standard coordinate system, for example, in a Cartesian coordinate system, may require significant resources from a computing device. The coordinates of the surfaces of three-dimensional objects stored on height maps can take up less space on a machine-readable storage medium and make it possible to reduce network traffic when transferring coordinates from one computing device to another.

[00121] В общем случае этапы способа 1100 предполагают разделение немонотонных поверхностей трехмерного графического объекта 200 на монотонные фрагменты поверхностей. Чтобы быть монотонной, поверхность должна быть плоской или искривляться слегка. Анализ взаимного расположения пересекающих элементов дает возможность определить подходящее расположение разделительных линий, в которых процессор 108 может разделить поверхность на фрагменты для создания монотонных фрагментов поверхности. После создания монотонных фрагментов поверхностей процессор 108 может создать соответствующие базы для соответствующих монотонных фрагментов поверхности, и создать карту высот для фрагментов поверхностей.[00121] In general, the steps of method 1100 involve dividing non-monotonous surfaces of a three-dimensional graphic object 200 into monotonous fragments of surfaces. To be monotonous, the surface must be flat or curved slightly. An analysis of the mutual arrangement of the intersecting elements makes it possible to determine a suitable arrangement of dividing lines in which the processor 108 can divide the surface into fragments to create monotonic fragments of the surface. After creating monotonic surface fragments, the processor 108 can create the appropriate base for the corresponding monotonic surface fragments, and create a height map for the surface fragments.

[00122] Этап 1102 - на основе стандартных координат трехмерного графического объекта 200 создание поверхности трехмерного графического объекта 200[00122] Step 1102 — based on the standard coordinates of the three-dimensional graphic object 200, creating a surface of the three-dimensional graphic object 200

[00123] Способ 1100 начинается на этапе 1102, на котором процессор 108 извлекает из носителя 104 информации стандартные координаты поверхности трехмерного графического объекта 200, изображенного на Фиг. 4, и на основе извлеченных стандартных координат создает поверхность трехмерного графического объекта 200.[00123] The method 1100 begins at step 1102, in which the processor 108 extracts from the information medium 104 standard coordinates of the surface of the three-dimensional graphical object 200 shown in FIG. 4, and based on the extracted standard coordinates creates the surface of a three-dimensional graphic object 200.

[00124] Затем способ 1100 переходит к этапу 1104.[00124] Then, the method 1100 proceeds to step 1104.

[00125] Этап 1104 - создание первой эталонной петли 410, расположенной на поверхности трехмерного графического объекта 200 таким образом, что первая эталонная петля 410 полностью расположена в первой воображаемой эталонной плоскости 502, пересекающей трехмерный графический объект 200[00125] Step 1104 - creating a first reference loop 410 located on the surface of the three-dimensional graphic object 200 so that the first reference loop 410 is completely located in the first imaginary reference plane 502 intersecting the three-dimensional graphic object 200

[00126] Далее, на этапе 1104 процессор 108 создает первую эталонную петлю 410, расположенную на поверхности трехмерного графического объекта 200 таким образом, что первая эталонная петля 410 полностью расположена в первой воображаемой эталонной плоскости 502, пересекающей трехмерный графический объект 200.[00126] Next, at step 1104, the processor 108 creates a first reference loop 410 located on the surface of the three-dimensional graphic object 200 so that the first reference loop 410 is completely located in the first imaginary reference plane 502 intersecting the three-dimensional graphic object 200.

[00127] Первая воображаемая эталонная плоскость может быть расположена таким образом, что она включает в себя воображаемую первую осевую линию, соединяющую две наиболее удаленные точки в пределах поверхности трехмерного графического объекта. Однако это не является обязательным. В этом варианте осуществления настоящего технического решения первая воображаемая эталонная плоскость 502 может быть расположена таким образом, что она включает в себя воображаемую первую осевую линию 406, соединяющую две наиболее удаленные точки 402, 404 в пределах поверхности трехмерного графического объекта 200.[00127] The first imaginary reference plane can be positioned so that it includes an imaginary first center line connecting the two farthest points within the surface of a three-dimensional graphic object. However, this is not required. In this embodiment of the present technical solution, the first imaginary reference plane 502 can be positioned so that it includes an imaginary first center line 406 connecting the two farthest points 402, 404 within the surface of the three-dimensional graphic object 200.

[00128] Затем способ 1100 переходит к этапу 1106.[00128] Then, the method 1100 proceeds to step 1106.

[00129] Этап 1106 - применение к поверхности трехмерного графического объекта 200 первого набора пересекающих элементов 610, 620, 630[00129] Step 1106 - applying to the surface of the three-dimensional graphic object 200 of the first set of intersecting elements 610, 620, 630

[00130] На этапе 1106 процессор 108 применяет к поверхности трехмерного графического объекта 200 первый набор пересекающих элементов 610, 620, 630. Пересекающие элементы в этих вариантах осуществления настоящего технического решения являются пересекающими элементами 610, 620, 630. В альтернативных вариантах осуществления настоящего технического решения пересекающие элементы могут быть пересекающими осями, пересекающими поверхность трехмерного графического объекта 200.[00130] At step 1106, the processor 108 applies to the surface of the three-dimensional graphic object 200 a first set of intersecting elements 610, 620, 630. The intersecting elements in these embodiments of the present technical solution are the intersecting elements 610, 620, 630. In alternative embodiments of the present technical solution the intersecting elements may be intersecting axes intersecting the surface of the three-dimensional graphic object 200.

[00131] Процессор применяет первый набор пересекающих элементов 610, 620, 630 таким образом, что пересекающие элементы 610, 620, 630 из первого набора пересекающих элементов пересекают первую эталонную петлю 410 в соответствующих точках 612, 622, 632 пересечения в предварительно определенных интервалах. То же самое применимо в альтернативных вариантах осуществления настоящего технического решения, в которых пересекающие элементы 610, 620, 630 являются пересекающими линиями. В этом неограничивающем примере настоящего технического решения интервал пересечения составляет 4 пикселя.[00131] The processor applies the first set of intersecting elements 610, 620, 630 such that the intersecting elements 610, 620, 630 of the first set of intersecting elements intersect the first reference loop 410 at respective intersection points 612, 622, 632 at predetermined intervals. The same applies in alternative embodiments of the present technical solution in which the intersecting elements 610, 620, 630 are intersecting lines. In this non-limiting example of the present technical solution, the intersection interval is 4 pixels.

[00132] Процессор применяет первый набор пересекающих элементов 610, 620, 630 таким образом, что каждый пересекающий элемент 610, 620, 630 из первого набора пересекающих элементов пересекает первую эталонную петлю 410 в каждой соответствующей точке 612, 622, 632 пересечения под одинаковым углом 614, 624, 634 пересечения. В этом варианте осуществления настоящего технического решения одинаковый угол пересечения составляет 90 градусов. В других вариантах осуществления настоящего технического решения угол пересечения может быть больше 90 градусов или меньше 90 градусов, но все углы пересечения должны быть одинаковы.[00132] The processor applies the first set of intersecting elements 610, 620, 630 so that each intersecting element 610, 620, 630 of the first set of intersecting elements intersects the first reference loop 410 at each corresponding intersection point 612, 622, 632 at the same angle 614 , 624, 634 intersections. In this embodiment of the present technical solution, the same intersection angle is 90 degrees. In other embodiments of the present technical solution, the intersection angle may be greater than 90 degrees or less than 90 degrees, but all intersection angles should be the same.

[00133] То же самое применимо в альтернативных вариантах осуществления настоящего технического решения, в которых пересекающие элементы 610, 620, 630 являются пересекающими осями.[00133] The same applies in alternative embodiments of the present technical solution in which the intersecting elements 610, 620, 630 are intersecting axes.

[00134] Процессор применяет первый набор пересекающих элементов 610, 620, 630 таким образом, что каждый пересекающий элемент 610, 620, 630 из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости 502. То же самое применимо в альтернативных вариантах осуществления настоящего технического решения, в которых пересекающие элементы 610, 620, 630 являются пересекающими осями.[00134] The processor uses the first set of intersecting elements 610, 620, 630 in such a way that each intersecting element 610, 620, 630 of the first set of intersecting elements is perpendicular to the first imaginary reference plane 502. The same applies to alternative embodiments of the present technical solution, in which the intersecting elements 610, 620, 630 are intersecting axes.

[00135] Затем способ 1100 переходит к этапу 1108.[00135] Then, the method 1100 proceeds to step 1108.

[00136] Этап 1108 - измерение множества углов 802, 804 между пересекающими элементами 610, 620, 630 из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол 802 из множества углов 802, 804 между двумя частными пересекающими элементами 610, 620 из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий 820[00136] Step 1108 - measuring a plurality of angles 802, 804 between intersecting elements 610, 620, 630 from a first set of intersecting elements and, in response to at least one angle 802 of a plurality of angles 802, 804 between two partial intersecting elements 610, 620 from the first set of intersecting elements exceeds a predetermined threshold, creating the first set of dividing lines 820

[00137] На этапе 1108 процессор 108 измеряет множество углов 802, 804 между пересекающими элементами 610, 620, 630 из первого набора пересекающих элементов. В итоге процессор 108 может определять, что один или несколько углов между последовательными парами пересекающих элементов превышают предварительно определенный порог. В ответ на то, что один или несколько углов превышают предварительно определенный порог, процессор 108 создает первый набор разделительных линий 820, причем первый набор разделительных линий 820 включает в себя по меньшей мере одну разделительную линию 820, и каждая разделительная линия 820 из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами 610, 620, чтобы разделить поверхность трехмерного графического объекта 200 на фрагменты поверхности.[00137] At 1108, a processor 108 measures a plurality of angles 802, 804 between intersecting elements 610, 620, 630 from a first set of intersecting elements. As a result, the processor 108 may determine that one or more angles between successive pairs of intersecting elements exceed a predetermined threshold. In response to one or more angles exceeding a predetermined threshold, the processor 108 creates a first set of dividing lines 820, the first set of dividing lines 820 including at least one dividing line 820, and each dividing line 820 from the first set of dividing lines lines is located within the corresponding interval defined by the indicated two partial intersecting elements 610, 620 to divide the surface of the three-dimensional graphic object 200 into fragments of the surface.

[00138] В некоторых вариантах осуществления настоящего технического решения процессор 108 может осуществлять измерение множества углов 802, 804 между пересекающими элементами 610, 620, 630 из первого набора пересекающих элементов, и создание дополнительных разделяющих линий последовательно и периодически: после того как были созданы разделительные линии, процессор 108 может повторить измерение углов между не являющимися последовательными пересекающими элементами, расположенными в пределах отдельных сегментов. В ответ на то, что один угол превышает предварительно определенный порог, процессор создает еще одну разделительную линию. Эта разделительная линия принадлежит к тому же самому набору разделительных линий, что и линия, пересекающая ту же самую эталонную петлю. Поскольку была создана новая разделительная линия, было создано еще два фрагмента. Такая же процедура может быть осуществлена периодически во всех исходных и последовательно образованных сегментах, пока не будут отсутствовать пересекающие элементы сегмента, в пределах которых образовывается угол, превышающий пороговое значение.[00138] In some embodiments of the present technical solution, the processor 108 may measure a plurality of angles 802, 804 between intersecting elements 610, 620, 630 from a first set of intersecting elements, and creating additional dividing lines sequentially and periodically: after dividing lines have been created , the processor 108 may repeat the measurement of angles between non-consecutive intersecting elements located within individual segments. In response to the fact that one angle exceeds a predetermined threshold, the processor creates another dividing line. This dividing line belongs to the same set of dividing lines as the line crossing the same reference loop. Since a new dividing line was created, two more fragments were created. The same procedure can be carried out periodically in all initial and sequentially formed segments, until there are no intersecting elements of the segment, within which an angle is formed that exceeds the threshold value.

[00139] Созданные разделяющие линии лежат между пересекающими линиями 616, 626, 636, которые являются линиями пересечения пересекающих элементов 610, 620, 630 с поверхностью трехмерного графического объекта 200.[00139] The created dividing lines lie between the intersecting lines 616, 626, 636, which are the intersection lines of the intersecting elements 610, 620, 630 with the surface of the three-dimensional graphic object 200.

[00140] В альтернативных вариантах осуществления настоящего технического решения, в которых пересекающие элементы 610, 620, 630 являются пересекающими осями, отсутствуют пересекающие линии 616, 626, 636. Несмотря на это, созданные разделительные линии, лежат между пересекающими элементами, которые в этом случае являются пересекающими осями.[00140] In alternative embodiments of the present technical solution, in which the intersecting elements 610, 620, 630 are intersecting axes, there are no intersecting lines 616, 626, 636. Despite this, the created dividing lines lie between the intersecting elements, which in this case are intersecting axes.

[00141] Затем способ 1100 переходит к этапу 1110.[00141] Then, the method 1100 proceeds to step 1110.

[00142] Этап 1110 - определение среди созданных фрагментов поверхности (созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности и немонотонных фрагментов поверхности, в ответ на определение по меньшей мере одного монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности[00142] Step 1110 — determining among the created surface fragments (created surface fragments determined by dividing lines) monotonic surface fragments and non-monotonic surface fragments, in response to determining at least one monotonic surface fragment, creating a height map for the determined at least one monotonic fragment surface

[00143] На этапе 1110 процессор 108 определяет среди созданных фрагментов поверхности монотонные фрагменты поверхности и немонотонные фрагменты поверхности. Определение может быть осуществлено любым подходящим способом, например, с помощью анализа стандартных координат соответствующего фрагмента поверхности.[00143] At block 1110, the processor 108 determines from the generated surface fragments monotonic surface fragments and non-monotonic surface fragments. The determination can be carried out in any suitable way, for example, by analyzing the standard coordinates of the corresponding surface fragment.

[00144] Далее, в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, процессор 108 создает карту высот для всех определенных монотонных фрагментов поверхности.[00144] Further, in response to the fact that at least one monotonic surface fragment is determined, the processor 108 creates a height map for all determined monotonic surface fragments.

[00145] Для создания карты высот для монотонного фрагмента поверхности процессор 108 создает базы для каждого из по меньшей мере одного созданного монотонного фрагмента поверхности для того, что получить проекции на каждую базу от каждого фрагмента поверхности соответственно. Процессор 108 далее создает координаты баз, в любой подходящей системе стандартных координат на носителе 104 информации.[00145] To create a height map for a monotonic surface fragment, the processor 108 creates bases for each of the at least one created monotonic surface fragment in order to obtain projections on each base from each surface fragment, respectively. The processor 108 further creates the coordinates of the bases, in any suitable system of standard coordinates on the storage medium 104.

[00146] Далее процессор 108 проецирует высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот. В этом варианте осуществления настоящего технического решения шаг высот составляет 1 пиксель, проецирование осуществляется ряд за рядом, начиная с верхнего ряда и заканчивая нижним рядом, последовательность высот проходит от верхней левой точки до правой до конца базы, затем переходит на следующий ряд, первую левую точку во втором ряду, и так далее, пока не достигнет нижней правой точки. Затем процессор 108 определяет значения высот и сохраняет все данные как совокупность: координат баз, шага высот, предварительно определенного порядка проецирования высот, и последовательности значений высот в связи с соответствующей базой.[00146] Next, the processor 108 projects the heights from each of the at least one monotonous fragment of the surface onto its corresponding base, said projection being performed with a predetermined height step, in a predetermined height projection order. In this embodiment of the present technical solution, the height step is 1 pixel, projection is carried out row by row, starting from the top row and ending with the bottom row, the sequence of heights passes from the top left point to the right to the end of the base, then goes to the next row, the first left point in the second row, and so on, until it reaches the bottom right point. Then, the processor 108 determines the heights and saves all the data as a set: the coordinates of the bases, the height step, a predetermined order for projecting the heights, and the sequence of heights in connection with the corresponding base.

[00147] Затем способ 1100 переходит к этапу 1112.[00147] Then, the method 1100 proceeds to step 1112.

[00148] Этап 1112 - проверка того, являются ли все созданные фрагменты поверхности монотонными[00148] Step 1112 - checking whether all created fragments of the surface are monotonic

[00149] На этапе 1112 процессор 108 осуществляет проверку того, являются ли все созданные фрагменты поверхности монотонными. Если все созданные фрагменты поверхности являются монотонными, способ 1000 оканчивается после создания карт высот для всех монотонных фрагментов поверхности. В другом случае, если по меньшей мере один созданный фрагмент поверхности не является монотонным, карта высот для этого немонотонного фрагмента создана не будет. В таком случае способ 1100 переходит к этапу 1114.[00149] At step 1112, the processor 108 checks whether all created fragments of the surface are monotonic. If all created surface fragments are monotonic, method 1000 ends after creating height maps for all monotonic surface fragments. In another case, if at least one created surface fragment is not monotonic, a height map for this nonmonotonic fragment will not be created. In this case, the method 1100 proceeds to step 1114.

[00150] Этап 1114 - создание второй эталонной петли 902, расположенной на поверхности трехмерного графического объекта 200 таким образом, что вторая эталонная петля 902 полностью расположена во второй воображаемой эталонной плоскости 620, пересекающей трехмерный графический объект 200[00150] Step 1114 is the creation of a second reference loop 902 located on the surface of the three-dimensional graphic object 200 so that the second reference loop 902 is completely located in the second imaginary reference plane 620 intersecting the three-dimensional graphic object 200

[00151] Далее, на этапе 1114 процессор 108 создает вторую эталонную петлю 902, расположенную на поверхности трехмерного графического объекта 200 таким образом, что вторая эталонная петля 902 полностью расположена во второй воображаемой эталонной плоскости 620, пересекающей трехмерный графический объект 200. Процессор 108 создает вторую эталонную петлю 902 аналогично тому, как он создает первую эталонную петлю 410. Первая воображаемая эталонная плоскость 502 и вторая воображаемая эталонная плоскость 620 не должны совпадать. В некоторых вариантах осуществления настоящего технического решения первая воображаемая эталонная плоскость и вторая воображаемая эталонная плоскость могут пересекать друг друга под углом 90 градусов, таким образом, что вторая воображаемая эталонная плоскость пересекает воображаемую первую осевую линию в середине этой линии. В этом примере первая воображаемая эталонная плоскость 502 и вторая воображаемая эталонная плоскость 620 могут пересекать друг друга под углом 90 градусов, таким образом, что вторая воображаемая эталонная плоскость 620 пересекает воображаемую первую осевую линию 406 в середине этой линии 406. В других вариантах осуществления настоящего технического решения первая воображаемая эталонная плоскость 502 и вторая воображаемая эталонная плоскость 620 пересекают друг друга под другим углом. В некоторых вариантах осуществления настоящего технического решения первая воображаемая эталонная плоскость 502 и вторая воображаемая эталонная плоскость 620 могут пересекать друг друга таким образом, что вторая воображаемая эталонная плоскость 620 пересекает воображаемую первую осевую линию 406 не в середине этой линии 406, или даже пересекает продолжение воображаемой первой осевой линии 406 вне трехмерного объекта 200.[00151] Next, at step 1114, the processor 108 creates a second reference loop 902 located on the surface of the three-dimensional graphic object 200 so that the second reference loop 902 is completely located in the second imaginary reference plane 620 intersecting the three-dimensional graphic object 200. The processor 108 creates a second reference loop 902 is similar to how it creates the first reference loop 410. The first imaginary reference plane 502 and the second imaginary reference plane 620 do not have to match. In some embodiments of the present technical solution, the first imaginary reference plane and the second imaginary reference plane can intersect each other at an angle of 90 degrees, so that the second imaginary reference plane intersects the imaginary first center line in the middle of this line. In this example, the first imaginary reference plane 502 and the second imaginary reference plane 620 can intersect each other at an angle of 90 degrees, so that the second imaginary reference plane 620 intersects the imaginary first center line 406 in the middle of this line 406. In other embodiments of the present technical solutions, the first imaginary reference plane 502 and the second imaginary reference plane 620 intersect each other at a different angle. In some embodiments of the present technical solution, the first imaginary reference plane 502 and the second imaginary reference plane 620 can intersect each other so that the second imaginary reference plane 620 does not intersect the imaginary first center line 406 in the middle of this line 406, or even intersects the continuation of the imaginary first center line 406 outside the three-dimensional object 200.

[00152] Затем способ 1100 переходит к этапу 1116.[00152] Then, the method 1100 proceeds to step 1116.

[00153] Этап 1116 - применение к поверхности трехмерного графического объекта 200 второго набора пересекающих элементов 910, 920, 930[00153] Step 1116 - applying to the surface of the three-dimensional graphic object 200 a second set of intersecting elements 910, 920, 930

[00154] Процессор 108 осуществляет этап 1116 аналогично тому, как он осуществляет этап 1106. Процессор 108 применяет к поверхности трехмерного графического объекта 200 второй набор пересекающих элементов 910, 920, 930 таким образом, что: (а) пересекающие элементы из второго набора пересекающих элементов пересекают первую эталонную петлю 902 в соответствующих точках пересечения в предварительно определенных интервалах, (b) каждый пересекающий элемент 910, 920, 930 из второго набора пересекающих элементов пересекает первую эталонную петлю 902 в каждой соответствующей точке 912, 922, 932 пересечения под одинаковым 914, 924, 934 углом пересечения и каждый пересекающий элемент 910, 920, 930 из второго набора пересекающих элементов является перпендикулярным второй воображаемой эталонной плоскости 620.[00154] The processor 108 performs step 1116 in the same way as it carries out step 1106. The processor 108 applies a second set of intersecting elements 910, 920, 930 to the surface of a three-dimensional graphic object 200 such that: (a) intersecting elements from a second set of intersecting elements intersect the first reference loop 902 at respective intersection points at predetermined intervals, (b) each intersecting element 910, 920, 930 from a second set of intersecting elements intersects the first reference loop 902 at each the intersection point 912, 922, 932 at the same intersection angle, and each intersection element 910, 920, 930 of the second set of intersection elements is perpendicular to the second imaginary reference plane 620.

[00155] Затем способ 1100 переходит к этапу 1118.[00155] Then, the method 1100 proceeds to step 1118.

[00156] Этап 1118 - измерение множества углов между пересекающими элементами 910, 920, 930 из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий[00156] Step 1118 - measuring a plurality of angles between intersecting elements 910, 920, 930 from a second set of intersecting elements and, in response to at least one angle from a plurality of angles between two partial intersecting elements from a second set of intersecting elements defined threshold, creating a second set of dividing lines

[00157] На этапе 1118 процессор 108 измеряет множество углов между пересекающими элементами 910, 920, 930 из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создает второй набор разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта 200 на фрагменты поверхности. Процессор 108 осуществляет этап 1116 аналогично тому, как он осуществляет этап 1106.[00157] At step 1118, the processor 108 measures a plurality of angles between intersecting elements 910, 920, 930 from a second set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a second set of intersecting elements exceeds a predetermined threshold, creates a second set of dividing lines, and the second set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines iny located within the appropriate range defined by these two partial elements intersect to divide the surface of the three-dimensional graphic object 200 on the surface of the fragments. The processor 108 performs step 1116 in the same way as it carries out step 1106.

[00158] Затем способ 1100 переходит к этапу 1120.[00158] Then, the method 1100 proceeds to step 1120.

[00159] Этап 1120 - определение монотонных фрагментов поверхности и немонотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхности (заново созданные более мелкие фрагменты поверхности определяются разделительными линиями), причем заново созданные более мелкие фрагменты поверхности образовались из немонотонных фрагментов, и, в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности[00159] Step 1120 is the determination of monotonic surface fragments and nonmonotonic surface fragments among newly created smaller surface fragments (newly created smaller surface fragments are defined by dividing lines), the newly created smaller surface fragments being formed from nonmonotonic fragments, and, in response to determining at least one newly created smaller monotonous fragment of the surface, creating a height map for a specific at least one newly created with Buildings smaller monotonic fragment surface

[00160] Процессор 108 осуществляет этап 1120 аналогично тому, как он осуществляет этап 1110. Разница заключается в том, что на этапе 1110 фрагменты поверхности определяются разделительными линиями из одного набора разделительных линий, в то время как на этапе 1120 фрагменты поверхности могут быть определены разделительными линиями и первого, и второго наборов разделительных линий. Следовательно, фрагменты поверхности на этапе 1118 могут быть меньше, и вероятность, что все фрагменты поверхности монотонны, выше. Создание карт высот может быть осуществлено на этапе 1118 по отношению к новым немонотонным фрагментам поверхности. Другими словами, нет необходимости в создании карт высот для этих немонотонных фрагментов поверхности, которые получились из разделения исходных немонотонных фрагментов поверхности, поскольку их координату уже сохранены как карты высот на этапе 1110.[00160] The processor 108 proceeds to step 1120 in the same way as it carries out the step 1110. The difference is that in step 1110, surface fragments are determined by dividing lines from one set of dividing lines, while in step 1120, surface fragments can be determined by dividing lines of both the first and second sets of dividing lines. Therefore, surface fragments in step 1118 may be smaller, and the likelihood that all surface fragments are monotonous is higher. Creation of height maps can be carried out at block 1118 with respect to new nonmonotonic fragments of the surface. In other words, there is no need to create height maps for these non-monotonic surface fragments, which were obtained from the separation of the original non-monotonic surface fragments, since their coordinate was already saved as height maps in step 1110.

[00161] Если все фрагменты поверхности, созданные на этапе 1120 монотонны, способ 1000 завершается. С другой стороны, если по меньшей мере один созданный фрагмент поверхности немонотонный, может быть создан третий набор разделительных линий для создание более мелких фрагментов поверхности.[00161] If all surface fragments created in step 1120 are monotonous, method 1000 ends. On the other hand, if at least one created surface fragment is non-monotonic, a third set of dividing lines can be created to create smaller surface fragments.

[00162] В некоторых вариантах осуществления настоящего технического решения процессор 108 может дополнительно сравнивать размер стандартных данных координат и данных карт высот по отношению по меньшей мере к одному фрагменту поверхности. Если размер данных карты высот меньше, чем размер данных стандартных координат, данные стандартных координат могут быть удалены с носителя 104 информации.[00162] In some embodiments of the present technical solution, the processor 108 may further compare the size of standard coordinate data and height map data with respect to at least one surface fragment. If the size of the height map data is smaller than the size of the standard coordinate data, the standard coordinate data can be deleted from the information medium 104.

[00163] Однако, если размер данных карты высот больше, чем размер данных стандартных координат, координаты этого соответствующего фрагмента могут продолжаться.[00163] However, if the size of the height map data is larger than the size of the standard coordinate data, the coordinates of this corresponding fragment may continue.

[00164] Затем способ 1100 завершается.[00164] Then, the method 1100 ends.

[00165] Конкретный технический эффект, применимый по меньшей мере к некоторым вариантам осуществления настоящего технического решения включает в себя сбережение объемов памяти носителей информации компьютерного устройства, поскольку сохранение поверхностей трехмерных графических объектов как последовательностей карт высот может быть менее ресурсозатратным, чем сохранение поверхностей трехмерных графических объектов в некоторых стандартных системах координат. В некоторых случаях, когда координаты трехмерных графических объектов должны быть отправлены по сетям передачи данных, настоящего технического решения может уменьшить объемы трафика.[00165] A specific technical effect applicable to at least some embodiments of the present technical solution includes saving memory volumes of information carriers of a computer device, since saving surfaces of three-dimensional graphic objects as sequences of height maps can be less resource-intensive than saving surfaces of three-dimensional graphic objects in some standard coordinate systems. In some cases, when the coordinates of three-dimensional graphic objects must be sent via data networks, this technical solution can reduce the amount of traffic.

[00166] Этапы способа 1100 объяснялись в том виде, в котором они могут быть выполнены на вычислительном устройстве 102, являющимся сервером 102 системы 100. Однако этапы способа 1200 могут быть выполнены на вычислительном устройстве 102, являющимся клиентским устройством 102 системы 100.[00166] The steps of method 1100 are explained as they can be performed on computing device 102, which is server 102 of system 100. However, the steps of method 1200 can be performed on computing device 102, which is client device 102 of system 100.

[00167] Таким образом, с одной точки зрения, варианты осуществления настоящего технического решения можно изложить следующим образом, структурированно, пронумерованными пунктами:[00167] Thus, from one point of view, embodiments of the present technical solution can be stated as follows, in a structured, numbered paragraphs:

[00168] [Пункт 1] Компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта (200), причем трехмерный графический объект (200) обладает немонотонной поверхностью, способ создания данных карт высот использует стандартные координаты, причем стандартные координаты сохраняются на носителе информации, и стандартные координаты определяют поверхность трехмерного графического объекта (200), способ включает в себя:[00168] [Claim 1] A computer method for creating height map data for rendering a three-dimensional graphic object (200) on a computing device, the three-dimensional graphic object (200) having a non-uniform surface, the method of creating height map data uses standard coordinates, and standard coordinates are stored on information carrier, and standard coordinates determine the surface of a three-dimensional graphic object (200), the method includes:

(i) на основе стандартных координат трехмерного графического объекта (200) создание (1102) поверхности трехмерного графического объекта (200);(i) based on the standard coordinates of the three-dimensional graphic object (200), the creation (1102) of the surface of the three-dimensional graphic object (200);

(ii) создание первой эталонной петли (410), расположенной на поверхности трехмерного графического объекта (200) таким образом, что первая эталонная петля (410) полностью расположена в первой воображаемой эталонной плоскости (502), пересекающей трехмерный графический объект (200);(ii) creating a first reference loop (410) located on the surface of the three-dimensional graphic object (200) so that the first reference loop (410) is completely located in the first imaginary reference plane (502) intersecting the three-dimensional graphic object (200);

(iii) применение к поверхности трехмерного графического объекта (200) первого набора пересекающих элементов (610, 620, 630) таким образом, что:(iii) applying to the surface of a three-dimensional graphic object (200) a first set of intersecting elements (610, 620, 630) in such a way that:

(a) пересекающие элементы (610, 620, 630) из первого набора пересекающих элементов пересекают первую эталонную петлю (410) в соответствующих точках (612, 622, 632) пересечения в предварительно определенных интервалах,(a) intersecting elements (610, 620, 630) from the first set of intersecting elements intersect the first reference loop (410) at the corresponding intersection points (612, 622, 632) at predetermined intervals,

(b) каждый пересекающий элемент (610, 620, 630) из первого набора пересекающих элементов пересекает первую эталонную петлю (410) в каждой соответствующей точке (612, 622, 632) пересечения под одинаковым углом (614, 624, 634) пересечения, и(b) each intersecting element (610, 620, 630) from the first set of intersecting elements intersects the first reference loop (410) at each corresponding intersection point (612, 622, 632) at the same intersection angle (614, 624, 634), and

(c) каждый пересекающий элемент (610, 620, 630) из первого набора пересекающих элементов пересекает первую воображаемую эталонную плоскость (502) под одинаковым углом;(c) each intersecting element (610, 620, 630) from the first set of intersecting elements intersects the first imaginary reference plane (502) at the same angle;

(v) измерение множества углов (802, 804) между пересекающими элементами (610, 620, 630) из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол (802) из множества (802, 804) углов между двумя частными пересекающими элементами (610, 620) из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий (820), причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию (820), и каждая разделительная линия (820) из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами (610, 620), чтобы разделить поверхность трехмерного графического объекта (200) на фрагменты поверхности;(v) measuring a plurality of angles (802, 804) between intersecting elements (610, 620, 630) from a first set of intersecting elements and, in response to at least one angle (802) from a plurality of (802, 804) angles between two partial intersecting elements (610, 620) from the first set of intersecting elements exceeds a predetermined threshold, creating a first set of dividing lines (820), the first set of dividing lines including at least one dividing line (820), and each dividing line line (820) from the first set of sections itelnyh lines located within the corresponding slot from an intersecting said two partial elements (610, 620) to separate the surface of a three-dimensional graphical object (200) on the surface of the fragments;

(vi) определение среди созданных фрагментов поверхности (причем созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности;(vi) determining among the created surface fragments (wherein the created surface fragments are determined by dividing lines) monotonic surface fragments;

(vii) в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.(vii) in response to the fact that at least one monotonic fragment of the surface is defined, creating a height map for the determined at least one monotonic fragment of the surface.

[00169] [Пункт 2] Способ по п. 1, в котором пересекающие элементы являются пересекающими плоскостями (610, 620, 630), и в которых измерение множества углов (802, 804) между пересекающими элементами (610, 620, 630) является измерение углов между нормалями соответствующих пересекающих плоскостей (610, 620, 630).[00169] [Claim 2] The method of claim 1, wherein the intersecting elements are intersecting planes (610, 620, 630), and in which the measurement of the plurality of angles (802, 804) between the intersecting elements (610, 620, 630) is measurement of angles between normals of the corresponding intersecting planes (610, 620, 630).

[00170] [Пункт 3] Способ по любому из пп. 1-2, в котором измерение множества углов (802, 804) между пересекающими элементами (610, 620, 630) из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий (820) осуществляется последовательно и периодически.[00170] [Claim 3] The method according to any one of paragraphs. 1-2, in which the measurement of the set of angles (802, 804) between the intersecting elements (610, 620, 630) from the first set of intersecting elements and creating at least one dividing line from the first set of dividing lines (820) is carried out sequentially and periodically.

[00171] [Пункт 4] Способ по п. 3, в котором указанные два частных пересекающих элемента (610, 620) из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, способ дополнительно включает в себя:[00171] [Claim 4] The method of claim 3, wherein said two particular intersecting elements (610, 620) from the first set of intersecting elements forming an angle exceeding a predetermined threshold are consecutive intersecting elements, and at least one the dividing line from the first set of dividing lines is at least one original dividing line from the first set of dividing lines, the method further includes:

измерение множества углов (802, 804) между не являющимися последовательными пересекающими элементами (610, 620, 630) из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта (200) на более мелкие фрагменты поверхности.measuring multiple angles (802, 804) between non-consecutive intersecting elements (610, 620, 630) from the first set of intersecting elements within the surface fragments defined by the original dividing lines, and, in response to at least one angle from the set of angles between two partial non-consecutive intersecting elements within a fragment of the surface defined by the original intersecting lines exceeds a predetermined threshold, creating at least one additional ADDITIONAL parting line of the first set of dividing lines, wherein each additional separation line from the first set of dividing lines located within the appropriate range defined by these two partial non-successive crossing elements for dividing the surface of three-dimensional graphical object (200) into smaller fragments surfaces.

[00172] [Пункт 5] Способ по любому из пп. 1-4, в котором каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта (200) в каждой соответствующей точке пересечения равен 90 градусов.[00172] [Clause 5] The method according to any one of paragraphs. 1-4, in which each intersection angle between each intersecting element and the surface of the three-dimensional graphic object (200) at each corresponding intersection point is 90 degrees.

[00173] [Пункт 6] Способ по любому из пп. 1-5, в котором указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, способ дополнительно включает в себя:[00173] [Clause 6] The method according to any one of paragraphs. 1-5, in which the specified definition of monotonic surface fragments further includes determining non-monotonic surface fragments and, in response to at least one created surface fragment is not monotonic, the method further includes:

(i) создание второй эталонной петли (902), расположенной на поверхности трехмерного графического объекта (200) таким образом, что вторая эталонная петля (902) полностью расположена во второй воображаемой эталонной плоскости (620), пересекающей трехмерный графический объект (200);(i) creating a second reference loop (902) located on the surface of the three-dimensional graphic object (200) so that the second reference loop (902) is completely located in the second imaginary reference plane (620) intersecting the three-dimensional graphic object (200);

(ii) применение к поверхности трехмерного графического объекта (200) второго набора пересекающих элементов (910, 920, 930) таким образом, что:(ii) applying to the surface of the three-dimensional graphic object (200) a second set of intersecting elements (910, 920, 930) in such a way that:

(a) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю (902) в соответствующих точках пересечения в предварительно определенных интервалах,(a) intersecting elements from a second set of intersecting elements intersect a second reference loop (902) at respective intersection points at predetermined intervals,

(b) каждый пересекающий элемент (910, 920, 930) из второго набора пересекающих элементов пересекает вторую эталонную петлю (902) в каждой соответствующей точке (912, 922, 932) пересечения под одинаковым углом (914, 924, 934) пересечения, и(b) each intersecting element (910, 920, 930) from the second set of intersecting elements intersects the second reference loop (902) at each corresponding intersection point (912, 922, 932) at the same intersection angle (914, 924, 934), and

(с) каждый пересекающий элемент (910, 920, 930) из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости (620);(c) each intersecting element (910, 920, 930) from the second set of intersecting elements is perpendicular to the second imaginary reference plane (620);

(iii) измерение множества углов между пересекающими элементами (910, 920, 930) из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создает второй набор разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта (200) на фрагменты поверхности;(iii) measuring a plurality of angles between intersecting elements (910, 920, 930) from a second set of intersecting elements and, in response to at least one angle of a plurality of angles between two partial intersecting elements from a second set of intersecting elements exceeds a predetermined threshold, creates a second set of dividing lines, the second set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines is located in the pre affairs of the corresponding interval defined by the indicated two partial intersecting elements in order to divide the surface of a three-dimensional graphic object (200) into fragments of the surface;

(vi) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей (причем заново созданные более мелкие фрагменты поверхностей определяются разделительными линиями), и заново созданные более мелкие фрагменты поверхностей образовались из немонотонных фрагментов;(vi) determining monotonic surface fragments among newly created smaller surface fragments (the newly created smaller surface fragments being defined by dividing lines), and the newly created smaller surface fragments formed from non-monotonic fragments;

(vii) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.(vii) in response to determining at least one newly created smaller monotonic surface fragment, creating a height map for the specified at least one newly created smaller monotonic surface fragment.

[00174] [Пункт 7] Способ по любому из пп. 1-6, в котором создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя:[00174] [Clause 7] The method according to any one of paragraphs. 1-6, in which the creation of a height map for each monotonous fragment of the surface further includes:

(i) создание баз для каждого созданного монотонного фрагмента поверхности для получения проекций на каждую базу каждого фрагмента поверхности соответственно и сохранение координат баз;(i) creating bases for each created monotonous fragment of the surface to obtain projections on each base of each fragment of the surface, respectively, and preserving the coordinates of the bases;

(ii) проецирование высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот;(ii) projecting a height from each of at least one monotonous fragment of the surface onto its corresponding base, said projection being performed with a predetermined pitch, in a predetermined height projection order;

(iii) определение значений высот, причем каждое значение высот представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, причем значения высот нужны для создания карт высот монотонных фрагментов поверхности;(iii) determining heights, each heights representing the distance between the corresponding base and the corresponding point on the corresponding monotonous fragment of the surface, and heights are needed to create height maps of monotonous fragments of the surface;

(vi) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности:(vi) data storage for rendering a monotonous fragment of the surface as a set:

координат баз,base coordinates

шага высот,pitch,

предварительно определенного порядка проецирования высот, иa predetermined height projection order, and

последовательности значений высот в связи с соответствующей базой.sequences of elevation values in relation to the corresponding base.

[00175] [Пункт 8] Способ по п. 7, в котором создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.[00175] [Claim 8] The method of claim 7, wherein the base is created by projecting to a flat surface, and the base is part of a flat surface defined by said projection.

[00176] [Пункт 9] Способ по любому из пп. 7-8, в котором значения высот являются по меньшей мере одним из: положительным значением, нулевым значением, отрицательным значением.[00176] [Clause 9] The method according to any one of paragraphs. 7-8, in which the heights are at least one of: a positive value, a zero value, a negative value.

[00177] [Пункт 10] Вычислительное устройство создания данных карт высот для отрисовки трехмерного графического объекта (200), трехмерный графический объект (200) обладает немонотонной поверхностью, определенной своими стандартными координатами; вычислительное устройство включает в себя процессор (108) и носитель (104) информации, на котором хранятся машиночитаемые инструкции, которые, при их исполнении процессором (108), инициируют выполнение процессором (108) способа по любому из пп. 1-9.[00177] [Clause 10] A computing device for creating height map data for rendering a three-dimensional graphic object (200), a three-dimensional graphic object (200) has a non-monotonic surface defined by its standard coordinates; the computing device includes a processor (108) and a storage medium (104) of information on which machine-readable instructions are stored, which, when executed by the processor (108), initiate the execution by the processor (108) of the method according to any one of claims. 1-9.

[00178] Модификации и улучшения вышеописанных вариантов осуществления настоящего технического решения будут ясны специалистам в данной области техники. Предшествующее описание представлено только в качестве примера и не несет никаких ограничений. Таким образом, объем настоящего технического решения ограничен только объемом прилагаемой формулы изобретения.[00178] Modifications and improvements to the above-described embodiments of the present technical solution will be apparent to those skilled in the art. The preceding description is provided as an example only and is not subject to any restrictions. Thus, the scope of the present technical solution is limited only by the scope of the attached claims.

Claims (78)

1. Компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта, причем трехмерный графический объект обладает немонотонной поверхностью, способ создания данных карт высот использует стандартные координаты, причем стандартные координаты сохраняются на носителе информации, и стандартные координаты определяют поверхность трехмерного графического объекта, способ включает в себя:1. A computer method for creating height map data for rendering a three-dimensional graphic object on a computing device, the three-dimensional graphic object having a non-uniform surface, the method for creating height map data uses standard coordinates, the standard coordinates being stored on the information medium, and standard coordinates determining the surface of the three-dimensional graphic object The method includes: на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта;based on the standard coordinates of a three-dimensional graphic object, creating a surface of a three-dimensional graphic object; создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект;creating a first reference loop located on the surface of the three-dimensional graphic object so that the first reference loop is completely located in the first imaginary reference plane intersecting the three-dimensional graphic object; применение к поверхности трехмерного графического объекта первого набора пересекающих элементов таким образом, что:applying to the surface of a three-dimensional graphic object the first set of intersecting elements in such a way that: пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,intersecting elements from the first set of intersecting elements intersect the first reference loop at respective intersection points at predetermined intervals, каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, иeach intersecting element from the first set of intersecting elements intersects the first reference loop at each respective intersection point at the same intersection angle, and каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости;each intersecting element from the first set of intersecting elements is perpendicular to the first imaginary reference plane; измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;measuring a plurality of angles between intersecting elements from a first set of intersecting elements and, in response to the fact that at least one angle of a plurality of angles between two partial intersecting elements from a first set of intersecting elements exceeds a predetermined threshold, creating a first set of dividing lines, the first the set of dividing lines includes at least one dividing line, and each dividing line from the first set of dividing lines is located within tvetstvuyuschego interval defined by intersecting said two partial elements in order to divide the surface of the three-dimensional graphical object surface into fragments; определение среди созданных фрагментов поверхности монотонных фрагментов поверхности;determination among the created surface fragments of monotonic surface fragments; в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности;in response to the fact that at least one monotonic fragment of the surface is determined, creating a height map for the determined at least one monotonic fragment of the surface; причем пересекающие элементы являются пересекающими плоскими поверхностями;moreover, the intersecting elements are intersecting flat surfaces; сохранение карты высот на носителе информации.Saving the height map on the storage medium. 2. Способ по п. 1, в котором пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.2. The method according to claim 1, in which the intersecting elements are intersecting planes, and the measurement of the set of angles between the intersecting elements is a measurement of the angles between the normals of the corresponding intersecting planes. 3. Способ по п. 1, в котором измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.3. The method according to claim 1, in which the measurement of the plurality of angles between intersecting elements from the first set of intersecting elements and creating at least one dividing line from the first set of dividing lines is carried out sequentially and periodically. 4. Способ по п. 3, в котором указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, способ дополнительно включает в себя:4. The method of claim 3, wherein said two particular intersecting elements from a first set of intersecting elements forming an angle exceeding a predetermined threshold are consecutive intersecting elements, and said at least one dividing line from the first set of dividing lines is at least at least one source dividing line from the first set of dividing lines, the method further includes: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и,measuring a plurality of angles between non-consecutive intersecting elements from the first set of intersecting elements within the surface fragments defined by the original dividing lines, and, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.in response to the fact that at least one angle from the plurality of angles between two partial non-consecutive intersecting elements within a surface fragment defined by the original intersecting lines exceeds a predetermined threshold, creating at least one additional dividing line from the first set of dividing lines and each additional dividing line from the first set of dividing lines is located within the corresponding interval defined by the decree two partial non-sequential intersecting elements to divide the surface of a three-dimensional graphic object into smaller fragments of the surface. 5. Способ по п. 1, в котором каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.5. The method according to claim 1, wherein each intersection angle between each intersecting element and the surface of a three-dimensional graphic object at each corresponding intersection point is 90 degrees. 6. Способ по п. 1, в котором указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, способ дополнительно включает в себя:6. The method according to claim 1, wherein said determination of monotonic surface fragments further includes determining non-monotonic surface fragments and, in response to at least one created surface fragment is not monotonic, the method further includes: создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект;creating a second reference loop located on the surface of the three-dimensional graphic object so that the second reference loop is completely located in the second imaginary reference plane intersecting the three-dimensional graphic object; применение к поверхности трехмерного графического объекта второго набора пересекающих элементов таким образом, что:applying to the surface of a three-dimensional graphic object a second set of intersecting elements in such a way that: пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,intersecting elements from a second set of intersecting elements intersect the second reference loop at respective intersection points at predetermined intervals, каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, иeach intersecting element from the second set of intersecting elements intersects the second reference loop at each corresponding intersection point at the same intersection angle, and каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости;each intersecting element from the second set of intersecting elements is perpendicular to the second imaginary reference plane; измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;measuring a plurality of angles between intersecting elements from a second set of intersecting elements and, in response to the fact that at least one angle from a plurality of angles between two partial intersecting elements from a second set of intersecting elements exceeds a predetermined threshold, creating a second set of dividing lines, the second the set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines is located within tvetstvuyuschego interval defined by intersecting said two partial elements in order to divide the surface of the three-dimensional graphical object surface into fragments; определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, причем заново созданные более мелкие фрагменты поверхностей образованы из немонотонных фрагментов;determination of monotonous surface fragments among newly created smaller surface fragments, and newly created smaller surface fragments formed from non-monotonic fragments; в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности;in response to determining at least one newly created smaller monotonic surface fragment, creating a height map for the determined at least one newly created smaller monotonic surface fragment; причем пересекающие элементы являются пересекающими плоскими поверхностями.moreover, the intersecting elements are intersecting flat surfaces. 7. Способ по п. 1, в котором создание и сохранение карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя:7. The method according to p. 1, in which the creation and preservation of a height map for each monotonous fragment of the surface further includes: создание баз для каждого созданного монотонного фрагмента поверхности для получения проекций на каждую базу каждого фрагмента поверхности соответственно и сохранение координат баз;creating bases for each created monotonous fragment of the surface to obtain projections on each base of each fragment of the surface, respectively, and saving the coordinates of the bases; проецирование высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот;projecting heights from each of at least one monotonous fragment of the surface onto its corresponding base, said projection being performed with a predetermined height step, in a predetermined height projection order; определение значений высот, причем каждое значение высот представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, причем значения высот используются для создания карт высот монотонных фрагментов поверхности;determining height values, each height value representing the distance between the corresponding base and the corresponding point on the corresponding monotonic fragment of the surface, and the height values are used to create height maps of monotonic surface fragments; сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности:saving data for rendering a monotonous fragment of the surface as a set: координат баз,base coordinates шага высот,pitch, предварительно определенного порядка проецирования высот, иa predetermined height projection order, and последовательности значений высот в связи с соответствующей базой;sequences of elevation values in relation to the corresponding base; причем база является плоской поверхностью, а высота является воображаемой линией, ортогональной базе.moreover, the base is a flat surface, and the height is an imaginary line, orthogonal to the base. 8. Способ по п. 7, в котором значения высот являются по меньшей мере одним из: положительным значением, нулевым значением, отрицательным значением.8. The method according to claim 7, in which the heights are at least one of: a positive value, a zero value, a negative value. 9. Вычислительное устройство для создания данных карт высот для отрисовки трехмерного графического объекта, трехмерный графический объект обладает немонотонной поверхностью, определенной своими стандартными координатами; вычислительное устройство включает в себя процессор и носитель информации, на котором хранятся машиночитаемые инструкции, которые при их исполнении инициируют выполнение процессором:9. A computing device for creating height map data for rendering a three-dimensional graphic object, a three-dimensional graphic object has a non-monotonic surface defined by its standard coordinates; the computing device includes a processor and a storage medium that stores machine-readable instructions that, when executed, initiate execution by the processor: на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта;based on the standard coordinates of a three-dimensional graphic object, creating a surface of a three-dimensional graphic object; создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект;creating a first reference loop located on the surface of the three-dimensional graphic object so that the first reference loop is completely located in the first imaginary reference plane intersecting the three-dimensional graphic object; применение к поверхности трехмерного графического объекта первого набора пересекающих элементов таким образом, что:applying to the surface of a three-dimensional graphic object the first set of intersecting elements in such a way that: пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,intersecting elements from the first set of intersecting elements intersect the first reference loop at respective intersection points at predetermined intervals, каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, иeach intersecting element from the first set of intersecting elements intersects the first reference loop at each respective intersection point at the same intersection angle, and каждый пересекающий элемент из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости;each intersecting element from the first set of intersecting elements is perpendicular to the first imaginary reference plane; измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создание первого набора разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;measuring a plurality of angles between intersecting elements from a first set of intersecting elements and, in response to the fact that at least one angle of a plurality of angles between two partial intersecting elements from a first set of intersecting elements exceeds a predetermined threshold, creating a first set of dividing lines, the first the set of dividing lines includes at least one dividing line, and each dividing line from the first set of dividing lines is located within tvetstvuyuschego interval defined by intersecting said two partial elements in order to divide the surface of the three-dimensional graphical object surface into fragments; определение среди созданных фрагментов поверхности монотонных фрагментов поверхности;determination among the created surface fragments of monotonic surface fragments; в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности;in response to the fact that at least one monotonic fragment of the surface is determined, creating a height map for the determined at least one monotonic fragment of the surface; причем пересекающие элементы являются пересекающими плоскими поверхностями;moreover, the intersecting elements are intersecting flat surfaces; сохранение карты высот на носителе информации.Saving the height map on the storage medium. 10. Вычислительное устройство по п. 9, в котором пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.10. The computing device according to claim 9, in which the intersecting elements are intersecting planes, and the measurement of the set of angles between the intersecting elements is a measurement of the angles between the normals of the corresponding intersecting planes. 11. Вычислительное устройство по п. 9, в котором измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.11. The computing device according to claim 9, in which the measurement of the plurality of angles between intersecting elements from the first set of intersecting elements and creating at least one dividing line from the first set of dividing lines is carried out sequentially and periodically. 12. Вычислительное устройство по п. 11, в котором указанные два частных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, процессор выполнен с дополнительной возможностью осуществлять:12. The computing device of claim 11, wherein said two partial intersecting elements from a first set of intersecting elements forming an angle exceeding a predetermined threshold are consecutive intersecting elements, and said at least one dividing line from the first set of dividing lines is at least one source dividing line from the first set of dividing lines, the processor is made with the additional ability to implement: измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и,measuring a plurality of angles between non-consecutive intersecting elements from the first set of intersecting elements within the surface fragments defined by the original dividing lines, and, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.in response to the fact that at least one angle from the plurality of angles between two partial non-consecutive intersecting elements within a surface fragment defined by the original intersecting lines exceeds a predetermined threshold, creating at least one additional dividing line from the first set of dividing lines and each additional dividing line from the first set of dividing lines is located within the corresponding interval defined by the decree two partial non-sequential intersecting elements to divide the surface of a three-dimensional graphic object into smaller fragments of the surface. 13. Вычислительное устройство по п. 9, в котором каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.13. The computing device according to claim 9, in which each angle of intersection between each intersecting element and the surface of a three-dimensional graphic object at each corresponding intersection point is 90 degrees. 14. Вычислительное устройство по п. 9, в котором указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, процессор выполнен с дополнительной возможностью осуществлять:14. The computing device according to claim 9, wherein said determination of monotonic surface fragments further includes determining non-monotonic surface fragments and, in response to at least one created surface fragment is not monotonic, the processor is configured to: создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект;creating a second reference loop located on the surface of the three-dimensional graphic object so that the second reference loop is completely located in the second imaginary reference plane intersecting the three-dimensional graphic object; применение к поверхности трехмерного графического объекта второго набора пересекающих элементов таким образом, что:applying to the surface of a three-dimensional graphic object a second set of intersecting elements in such a way that: пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,intersecting elements from a second set of intersecting elements intersect the second reference loop at respective intersection points at predetermined intervals, каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, иeach intersecting element from the second set of intersecting elements intersects the second reference loop at each corresponding intersection point at the same intersection angle, and каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости;each intersecting element from the second set of intersecting elements is perpendicular to the second imaginary reference plane; измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя частными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создание второго набора разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя частными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;measuring a plurality of angles between intersecting elements from a second set of intersecting elements and, in response to the fact that at least one angle from a plurality of angles between two partial intersecting elements from a second set of intersecting elements exceeds a predetermined threshold, creating a second set of dividing lines, the second the set of dividing lines includes at least one dividing line, and each dividing line from the second set of dividing lines is located within tvetstvuyuschego interval defined by intersecting said two partial elements in order to divide the surface of the three-dimensional graphical object surface into fragments; определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей, причем заново созданные более мелкие фрагменты поверхностей образованы из немонотонных фрагментов;determination of monotonous surface fragments among newly created smaller surface fragments, and newly created smaller surface fragments formed from non-monotonic fragments; в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности;in response to determining at least one newly created smaller monotonic surface fragment, creating a height map for the determined at least one newly created smaller monotonic surface fragment; причем пересекающие элементы являются пересекающими плоскими поверхностями.moreover, the intersecting elements are intersecting flat surfaces. 15. Вычислительное устройство по п. 9, в котором при создании и сохранении карты высот для каждого монотонного фрагмента поверхности процессор дополнительно выполнен с возможностью осуществлять:15. The computing device according to claim 9, in which when creating and saving a height map for each monotonous fragment of the surface, the processor is additionally configured to: создание баз для каждого созданного монотонного фрагмента поверхности для получения проекций на каждую базу каждого фрагмента поверхности соответственно и сохранение координат баз;creating bases for each created monotonous fragment of the surface to obtain projections on each base of each fragment of the surface, respectively, and saving the coordinates of the bases; проецирование высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот;projecting heights from each of at least one monotonous fragment of the surface onto its corresponding base, said projection being performed with a predetermined height step, in a predetermined height projection order; определение значений высот, причем каждое значение высот представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, причем значения высот нужны для создания карт высот монотонных фрагментов поверхности;determining height values, each height value representing the distance between the corresponding base and the corresponding point on the corresponding monotonic fragment of the surface, and the height values are needed to create height maps of monotonic surface fragments; сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности:saving data for rendering a monotonous fragment of the surface as a set: координат баз,base coordinates шага высот,pitch, предварительно определенного порядка проецирования высот, иa predetermined height projection order, and последовательности значений высот в связи с соответствующей базой;sequences of elevation values in relation to the corresponding base; причем база является плоской поверхностью, а высота является воображаемой линией, ортогональной базе.moreover, the base is a flat surface, and the height is an imaginary line, orthogonal to the base. 16. Вычислительное устройство по п. 15, в котором значения высот являются по меньшей мере одним из: положительным значением, нулевым значением, отрицательным значением.16. The computing device of claim 15, wherein the heights are at least one of: a positive value, a zero value, a negative value.
RU2015156693A 2015-12-29 2015-12-29 Method and system of storage of data for drawing three-dimensional graphic objects RU2629439C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2015156693A RU2629439C2 (en) 2015-12-29 2015-12-29 Method and system of storage of data for drawing three-dimensional graphic objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015156693A RU2629439C2 (en) 2015-12-29 2015-12-29 Method and system of storage of data for drawing three-dimensional graphic objects

Publications (2)

Publication Number Publication Date
RU2015156693A RU2015156693A (en) 2017-07-06
RU2629439C2 true RU2629439C2 (en) 2017-08-29

Family

ID=59309422

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015156693A RU2629439C2 (en) 2015-12-29 2015-12-29 Method and system of storage of data for drawing three-dimensional graphic objects

Country Status (1)

Country Link
RU (1) RU2629439C2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6441816B1 (en) * 1999-12-29 2002-08-27 Intel Corporation Method for modeling and rendering complex surfaces using local height maps
US20020190988A1 (en) * 2001-05-15 2002-12-19 Jerome Maillot System of feature-based surface mapping
US20060109277A1 (en) * 2003-04-15 2006-05-25 Imagination Technologies Limited Efficient bump mapping using height maps
US20080186310A1 (en) * 2004-08-06 2008-08-07 Nobuhiro Kondo Transforming a Polygonized Object Into an Implicit-Function Representation
RU2470367C2 (en) * 2009-06-26 2012-12-20 Интел Корпорейшн Graphics analysis method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6441816B1 (en) * 1999-12-29 2002-08-27 Intel Corporation Method for modeling and rendering complex surfaces using local height maps
US20020190988A1 (en) * 2001-05-15 2002-12-19 Jerome Maillot System of feature-based surface mapping
US20060109277A1 (en) * 2003-04-15 2006-05-25 Imagination Technologies Limited Efficient bump mapping using height maps
US20080186310A1 (en) * 2004-08-06 2008-08-07 Nobuhiro Kondo Transforming a Polygonized Object Into an Implicit-Function Representation
RU2470367C2 (en) * 2009-06-26 2012-12-20 Интел Корпорейшн Graphics analysis method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
учебное пособие Ю.Н. Косников "Поверхностные модели в системах трехмерной компьютерной графики", опубл. 2007 г. *

Also Published As

Publication number Publication date
RU2015156693A (en) 2017-07-06

Similar Documents

Publication Publication Date Title
US11209837B2 (en) Method and device for generating a model of a to-be reconstructed area and an unmanned aerial vehicle flight trajectory
US8793107B2 (en) Accuracy-based significant point derivation from dense 3D point clouds for terrain modeling
US20090063105A1 (en) System and method for computing minimum distances between two point clouds
US20220011136A1 (en) Road data processing method, apparatus, device, and storage medium
CN102722885B (en) Method for accelerating three-dimensional graphic display
US20150109290A1 (en) Device and method for removing noise points in point clouds
US10402629B1 (en) Facial recognition using fractal features
US10380454B2 (en) Identifying a visual center of a polygon
CN110163863A (en) Three-dimension object dividing method, equipment and medium
CN110647596A (en) Map data processing method and device
US9811539B2 (en) Hierarchical spatial clustering of photographs
JP2023064082A (en) Method of constructing three-dimensional map in high-definition map, apparatus, device, and storage medium
US9135749B2 (en) Method and apparatus for processing three-dimensional model data
CN111581324A (en) Navigation data generation method, device and equipment
WO2017036409A1 (en) Site acquisition method, server, client and system
RU2629439C2 (en) Method and system of storage of data for drawing three-dimensional graphic objects
CN115965735B (en) Texture map generation method and device
RU2637903C2 (en) Method and computer device for creating simplified borders of graphic objects
US20210004378A1 (en) K-Nearest Neighbour Spatial Queries on a Spatial Database
RU2637901C2 (en) Method and data storing computer device for drawing graphic objects
CN116051925B (en) Training sample acquisition method, device, equipment and storage medium
CN116524165B (en) Migration method, migration device, migration equipment and migration storage medium for three-dimensional expression model
US11657562B2 (en) Utilizing hemispherical clamping for importance sampling of image-based light to render a virtual environment
CN115953553B (en) Avatar generation method, apparatus, electronic device, and storage medium
CN117370846B (en) Hydraulic fracturing three-dimensional fracture network construction method and system based on microseism event