СПОСОБ И СИСТЕМА ХРАНЕНИЯ ДАННЫХ ДЛЯ ОТРИСОВКИ ТРЕХМЕРНЫХ ГРАФИЧЕСКИХ ОБЪЕКТОВ

1. Компьютерный способ создания данных карт высот для отрисовки на вычислительном устройстве трехмерного графического объекта, причем трехмерный графический объект обладает немонотонной поверхностью, способ создания данных карт высот использует стандартные координаты, причем стандартные координаты сохраняются на носителе информации, и стандартные координаты определяют поверхность трехмерного графического объекта, способ включает в себя:
на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта;
создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект;
применение к поверхности трехмерного графического объекта первого набора пересекающих элементов таким образом, что:
(a) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,
(b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и
(c) каждый пересекающий элемент (610, 620, 630) из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости (502);
(iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создает первый набор разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;
(v) определение среди созданных фрагментов поверхности (причем созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности;
(vi) в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.
2. Способ по п. 1, в котором пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.
3. Способ по п. 1, в котором измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.
4. Способ по п. 3, в котором указанные два конкретных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, способ дополнительно включает в себя:
измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и,
в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.
5. Способ по п. 1, в котором каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.
6. Способ по п. 1, в котором указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, способ дополнительно включает в себя:
(i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект;
(ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов таким образом, что:
(a) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,
(b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и
(c) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости;
(iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создает второй набор разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;
(iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей (причем заново созданные более мелкие фрагменты поверхностей определяются разделительными линиями), и заново созданные более мелкие фрагменты поверхностей образовались из немонотонных фрагментов;
(v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.
7. Способ по п. 1, в котором создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя:
(i) создание баз для каждого созданного монотонного фрагмента поверхности для получения проекций на каждую базу каждого фрагмента поверхности соответственно и сохранение координат баз;
(ii) проецирование высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот;
(iii) определение значений высот, причем каждое значение высот представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, причем значения высот нужны для создания карт высот монотонных фрагментов поверхности;
(iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности:
координат баз,
шага высот,
предварительно определенного порядка проецирования высот, и
последовательности значений высот в связи с соответствующей базой.
8. Способ по п. 7, в котором создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.
9. Способ по п. 7, в котором значения высот являются по меньшей мере одним из: положительным значением, нулевым значением, отрицательным значением.
10. Вычислительное устройство для создания данных карт высот для отрисовки трехмерного графического объекта, трехмерный графический объект обладает немонотонной поверхностью, определенной своими стандартными координатами; вычислительное устройство включает в себя процессор и носитель информации, на котором хранятся машиночитаемые инструкции, которые, при их исполнении, инициируют выполнение процессором:
на основе стандартных координат трехмерного графического объекта создание поверхности трехмерного графического объекта;
создание первой эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что первая эталонная петля полностью расположена в первой воображаемой эталонной плоскости, пересекающей трехмерный графический объект;
применение к поверхности трехмерного графического объекта первого набора пересекающих элементов таким образом, что:
(a) пересекающие элементы из первого набора пересекающих элементов пересекают первую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,
(b) каждый пересекающий элемент из первого набора пересекающих элементов пересекает первую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и
(с) каждый пересекающий элемент (610, 620, 630) из первого набора пересекающих элементов перпендикулярен первой воображаемой эталонной плоскости (502);
(iv) измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными пересекающими элементами из первого набора пересекающих элементов превышает предварительно определенный порог, создает первый набор разделительных линий, причем первый набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;
(v) определение среди созданных фрагментов поверхности (причем созданные фрагменты поверхности определяются разделительными линиями) монотонных фрагментов поверхности;
(vi) в ответ на то, что определен по меньшей мере один монотонный фрагмент поверхности, создание карты высот для определенного по меньшей мере одного монотонного фрагмента поверхности.
11. Вычислительное устройство по п. 10, в котором пересекающие элементы являются пересекающими плоскостями, а измерение множества углов между пересекающими элементами является измерением углов между нормалями соответствующих пересекающих плоскостей.
12. Вычислительное устройство по п. 10, в котором измерение множества углов между пересекающими элементами из первого набора пересекающих элементов и создание по меньшей мере одной разделительной линии из первого набора разделительных линий осуществляется последовательно и периодически.
13. Вычислительное устройство по п. 12, в котором указанные два конкретных пересекающих элемента из первого набора пересекающих элементов, образующие угол, превышающий предварительно определенный порог, являются последовательными пересекающими элементами, а указанная по меньшей мере одна разделительная линия из первого набора разделительных линий является по меньшей мере одной исходной разделительной линией из первого набора разделительных линий, процессор 108 выполнен с дополнительной возможностью осуществлять:
измерение множества углов между не являющимися последовательными пересекающими элементами из первого набора пересекающих элементов в пределах фрагментов поверхности, определенных исходными разделительными линиями, и,
в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными не являющимися последовательными пересекающими элементами в пределах фрагмента поверхности, определенного исходными пересекающими линиями, превышает предварительно определенный порог, создание по меньшей мере одной дополнительной разделительной линии из первого набора разделительных линий, причем каждая дополнительная разделительная линия из первого набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными не являющимися последовательными пересекающими элементами, для разделения поверхности трехмерного графического объекта на более мелкие фрагменты поверхности.
14. Вычислительное устройство по п. 10, в котором каждый угол пересечения между каждым пересекающим элементом и поверхностью трехмерного графического объекта в каждой соответствующей точке пересечения равен 90 градусов.
15. Вычислительное устройство по п. 10, в котором указанное определение монотонных фрагментов поверхности дополнительно включает в себя определения немонотонных фрагментов поверхности и, в ответ на то, что по меньшей мере один созданный фрагмент поверхности не является монотонным, процессор 108 выполнен с дополнительной возможностью осуществлять:
(i) создание второй эталонной петли, расположенной на поверхности трехмерного графического объекта таким образом, что вторая эталонная петля полностью расположена во второй воображаемой эталонной плоскости, пересекающей трехмерный графический объект;
(ii) применение к поверхности трехмерного графического объекта второго набора пересекающих элементов таким образом, что:
(a) пересекающие элементы из второго набора пересекающих элементов пересекают вторую эталонную петлю в соответствующих точках пересечения в предварительно определенных интервалах,
(b) каждый пересекающий элемент из второго набора пересекающих элементов пересекает вторую эталонную петлю в каждой соответствующей точке пересечения под одинаковым углом пересечения, и
(c) каждый пересекающий элемент из второго набора пересекающих элементов перпендикулярен второй воображаемой эталонной плоскости;
(iii) измерение множества углов между пересекающими элементами из второго набора пересекающих элементов и, в ответ на то, что по меньшей мере один угол из множества углов между двумя конкретными пересекающими элементами из второго набора пересекающих элементов превышает предварительно определенный порог, создает второй набор разделительных линий, причем второй набор разделительных линий включает в себя по меньшей мере одну разделительную линию, и каждая разделительная линия из второго набора разделительных линий расположена в пределах соответствующего интервала, определенного указанными двумя конкретными пересекающими элементами, чтобы разделить поверхность трехмерного графического объекта на фрагменты поверхности;
(iv) определение монотонных фрагментов поверхности среди заново созданных более мелких фрагментов поверхностей (причем заново созданные более мелкие фрагменты поверхностей определяются разделительными линиями), и заново созданные более мелкие фрагменты поверхностей образовались из немонотонных фрагментов;
(v) в ответ на определение по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности, создание карты высот для определенного по меньшей мере одного заново созданного более мелкого монотонного фрагмента поверхности.
16. Вычислительное устройство по п. 10, в котором создание карты высот для каждого монотонного фрагмента поверхности дополнительно включает в себя:
(i) создание баз для каждого созданного монотонного фрагмента поверхности для получения проекций на каждую базу каждого фрагмента поверхности соответственно и сохранение координат баз;
(ii) проецирование высоты с каждого из по меньшей мере одного монотонного фрагмента поверхности на его соответствующую базу, причем указанное проецирование выполняется с предварительно определенным шагом высот, в предварительно определенном порядке проецирования высот;
(iii) определение значений высот, причем каждое значение высот представляет расстояние между соответствующей базой и соответствующей точкой на соответствующем монотонном фрагменте поверхности, причем значения высот нужны для создания карт высот монотонных фрагментов поверхности;
(iv) сохранение данных для отрисовки монотонного фрагмента поверхности как совокупности:
координат баз,
шага высот,
предварительно определенного порядка проецирования высот, и
последовательности значений высот в связи с соответствующей базой.
17. Вычислительное устройство по п. 16, в котором создание базы выполняется проведением проекции к плоской поверхности, и база является частью плоской поверхности, определенной указанной проекцией.
18. Вычислительное устройство по п. 16, в котором значения высот являются по меньшей мере одним из: положительным значением, нулевым значением, отрицательным значением.