Только для умных как я

Автор Леночка, 21.01.08, 13:50:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Вячеслав

Микроскопические детали - в полупроводниковой промышленности, там пока таких задач не возникало. На мой взгляд...

Lito 2

Цитата: Леночка от 24.01.08, 14:20:43
Извините еще раз но мне кажется для реализации Вашего алгоритма слишком очень много ресурсов потребуется. И точность тоже под вопросом. А если микроскопическая деталь? Постоянно уменьшать точность. А про габариты ВЫ абсолютно правы, с этим полностью согласна!

Про ресурсы, тут спорный вопрос.
Мне для определения тело или пустое пространство достаточно вносить данные о эскизах в массив и удалять плоскости освобождая тем самым память, а для анализа вход выход достаточно анализировать три поверхности из массива (Да или Нет, то есть тело или пространство). А если еще вынести вычисления в поток и в модели считать все это в слепом режиме скорость будет достаточно приличная и ресурсов немного.
Точность вычислений определяет сам пользователь, в реальных моделях, точность в микронах это очень много. Чем меньше деталь, тем быстрее будет происходить вычисление. Шаг по нарезке детали можно определять из самих габаритов 3D-модели, тем самым, задавая необходимость длительности вычислений.
В вашем случаи, чем больше деталь и сложнее (наличие сложных поверхностей), тем трудней считать уравнения.
Да, кстати, как Ваша библиотека с вычислением уравнений и покрытием всех поверхностей снаружи триангуляционными пластинами доберется до замкнутой области внутри тела смотри рис. и включит их в расчет в CAD системе???
P.S. Современных технологический уровень позволяет создавать такие тела для различных нужд. Например, рост кристаллов и там действительно используют методику численного исследования влияния рассеянного излучения в радиографических задачах (см. вложение)

А для чего данную задачу решенную в CAD системе можно применить конструкторам в производстве, объясните.
:(((

Леночка

Зачем внутренние части? Просто когда я устанавливаю точку из которой буду поверять, я при разбивании граней использую их оптические характеристики(Прозрачность, Излучение и т.д.)  если грань не прозрачна и диффузия определенные значения имеет то одна процедура идет, иначе другая смысл я думаю Вам понятен. А пластинки флашками (вижу не вижу в динамический массив и когда не надо память освобочу). Если нужна помощь и смогу пишите 355-849-461.

YNA

В общем случае задача решается без привлечения каких бы то ни было средств программирования, а простыми и естественными средствами  компас 3D.
Вот один из способов её решение в 5 ходов :
1. любым способом строим плоскость, содержащую в себе «проведённую в любом направлении» линию
2. режем этой плоскостью деталь
3. создаём на плоскости эскиз и проецируем на него отрезок детали и линию
4. воспользовавшись командой «все точки пересечения с кривой» строим эти точки.
5. нажимаем комбинацию Ctrl+A и в опции «свойства» видим количество точек которое равно количеству пересечений линии с гранями детали.

Короче говоря, задание к задаче построено не совсем некорректно, поскольку имеет хотя бы одно примитивное решение.
Попробуем избавить задачу от примитивности, изменив начальные условия, а именно:
В пространстве модели построен 3D сплайн произвольной формы, также в  этом пространстве построена 3D деталь произвольной формы, причем алгоритм построения сплайна и детали мы не знаем (а может быть и знаем).
Требуется найти количество точек пересечения 3D сплайна с гранями детали.

vmnick

Ну господа Ви даете
Если есть деталь Ви можете ее оперировать то есть понимаете ее представление то вопрос умеете ли решать задачу пересечения поверности и прямой.И отдельний вопрос оптимизация етих вичислений .
Вот только вопрос сколько здесь из участвующих в обсуждениии понимают ето как програмисти а сколько как пользователи компаса с его функционалом.

Pav

Цитата: vmnick от 29.01.08, 00:07:45
Ну господа Ви даете
Если есть деталь Ви можете ее оперировать то есть понимаете ее представление то вопрос умеете ли решать задачу пересечения поверности и прямой.И отдельний вопрос оптимизация етих вичислений .
+1

333

А может проще воспользоваться методом ksPart::CurveIntersection

Игорьтек

Цитата: Леночка от 21.01.08, 13:50:53
Задача. Из любой точки в 3-х мерной детали проведена линия в любом направлении. Определить сколько граней она пересекает?. Повторяю только для самых умных.
P.S. Задача 100% имеет решение
Леночка, я думаю что ни одной грани, т.е. ответ = 0.
Просто за 3-х мерную модель берёте шарик, а у шарика вроде нет граней, если мне не изменяет память.
И все! А на все остальные модельки с гранями, просто смотрите как на шарик!