Pull to refresh

Comments 8

Использует ли C3D парадигму exact geometric computation или полагается на приближенные вычисления?
Если речь идет об использовании CGAL (Computational Geometry Algorithms Library), то C3D не использует её.
Если речь идет о точности вычислений, то для геометрических построений C3D применяет большое количество приемов и тактик, чтобы обеспечить высокую точность.
Большинство объектов (кривых, поверхностей и пр.) выдают геометрическую информацию с максимальной возможной точностью, то есть с точностью, которую могут обеспечить числа double. Есть объекты, которые выдают геометрическую информацию, получаемую итерационными методами. В этом случае точность задается тем объектом, который использует результаты, и точность может быть разной.
Приближённые вычисления используются там, где без них нельзя обойтись, например, при расчёте объёмов или инерционных характеристик.

Если использовать double неизбежно возникают проблемы с предикатами, например, лежит ли точка на прямой. Из-за этого некоторые алгоритмы могут работать нестабильно или неправильно. Как с этой проблемой справляетесь ?

Чтобы ответить на вопрос «Лежит ли точка на прямой?», нужно знать, с какой точностью вы желаете иметь ответ. Здесь мы подходим с инженерной точки зрения.

Конечно, могут быть и другие проблемы. В таких случаях мы возвращаем геометрическую модель к предыдущему равновесному состоянию и сообщаем о проблеме.

Ну раз это предикат, то я хочу это знать с абсолютной точностью.

Эмитировать абсолютную точность можно, если задать нулевую погрешность, и даже можно получить ответ, но ответ не будет достоверен, так как исходные данные (положение точки и положение прямой) известны не с абсолютной точностью.

А с поверхностями как работаете? Nurbs есть? Переходы между криволинейными поверхностями сделать сможете с обеспечением G2?


И на счет точности: у вас точность задана на всю модель или на каждый энтити в Brep?

"А с поверхностями как работаете?" — Вопрос не понятен. Полноценные построения идут как создание оболочек BRep.


Nurbs есть.


"Переходы между криволинейными поверхностями сделать сможете с обеспечением G2?" — Есть у поверхности соединения. Для поверхности по сети кривых в разработке.


"И на счет точности: у вас точность задана на всю модель или на каждый энтити в Brep?" — Точность при создании модели не задается, но допустима неточная геометрия BRep при построениях и импорте. Данные о неточности содержатся в ребрах и вершинах.

Sign up to leave a comment.

Articles