A
alexey
При разработке прикладной программы под AutoCAD(и не только) столкнулся со следующей проблемой - необходимо в программе организовать обработку трехмерных обьектов и после этого вывести чертежи, содержашие проекции обьектов на заданные плоскости (в том числе и разрезы), при этом не хотелось бы прибегать к услугам третьих программ (SolidWorks и прочие), в принципе данная проблема разрешима но информации по ее решению очень мало, в основном все что касается 3D - это в первую очередь игровые системы, основанные на OpenGL и DirectX, но эти системы выдают результат в виде картинки(а про точность я молчу), а мне нужна информация в координатном, векторном виде. На сегодняшний день мне удалось успешно решить проблему получения проекции на заданную плоскость - задача чисто математическая, но возникла одна из самых сложных проблем, это невидимые линии, плоскости, которые закрываются другими плоскостями, особенно эта проблема усложняется для тел вращения. Кроме того остается проблема двух наиболее часто используемых операций - вычитание одного трехмерногог тале из другого(пересечение) и их суммирование, но эта проблема в общем случае решима, и не является особо сложной, во всяком случае когда речь не идет опять таки о телах вращения, да и кроме того большинство из форм, с которыми придется иметь дело моей программе мне известны, они достаточно просты (паралелепипеды и образующие от них).
Одним словвом в качестве входных данных - координаты вершин многоугольников, из которых состоит трехмерное тело, на выходе координаты двухмерных многоугольников и линий, которыми описывается двухмерная проекция. Результат - с учетом невидимости невидимых поверхностей(извините за тавтологию :blink: )
В настоящий момент работа движется, но достаточно медленно, и чем дальше она продвигается тем сильнее меня мучает чувство что я изобретаю велосипед (ведь работает как-то SolidWorks (впрочем немного легче становится от мысли что объем работы у меня на порядок меньше - никаких источников освещения и прочей прелести), но тем не менее.....
Должна же быть теория всего этого дела, может кто учавствовал в подобных проектах или знает где можно достать полезную практическую или теоретическую информацию на эту тему.
Одним словвом в качестве входных данных - координаты вершин многоугольников, из которых состоит трехмерное тело, на выходе координаты двухмерных многоугольников и линий, которыми описывается двухмерная проекция. Результат - с учетом невидимости невидимых поверхностей(извините за тавтологию :blink: )
В настоящий момент работа движется, но достаточно медленно, и чем дальше она продвигается тем сильнее меня мучает чувство что я изобретаю велосипед (ведь работает как-то SolidWorks (впрочем немного легче становится от мысли что объем работы у меня на порядок меньше - никаких источников освещения и прочей прелести), но тем не менее.....
Должна же быть теория всего этого дела, может кто учавствовал в подобных проектах или знает где можно достать полезную практическую или теоретическую информацию на эту тему.