|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
22.06.2016, 16:44 | #1 | |
Как создать контуры по отрезкам
YngIngKllr
СПб
Регистрация: 29.03.2005
Сообщений: 12,968
|
||
Просмотров: 6146
|
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Цитата:
Вроде как Phyton есть готовые решения graham scan algorithm python
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Координаты вообще не хочется использовать....
Тут аналитически можно определить. Использовать что нибудь типа Граф....
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
В виде кода можно?
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
1. А почему 2.7?
2. В Shapely есть возможность создать полигон по точкам и потом получать от него всё что угодно, в том числе координаты наружного контура. Код:
Почему лучше так, а не повторением алгоритма обхода точек самостоятельно - библиотеки в питоне обычно быстрее, т.к. "узкие" участки переписаны на С++.
__________________
Archicad, Smath, VBA |
||||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Brandashmыg
1. Потому как Freecad на 2.7 а для построения и редактирования схем я его хочу использовать. 2. Да тут как бы можно и без библиотеки обойтись, ведь задача чисто аналитическая.
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Почему аналитическая? Выше пример привели - всё через координаты точек. Сами отрезки не нужны. Но тогда может какую-либо область "срезать". Поэтому и проще идти через объединение полигонов - тогда и отверстия и "выгрызы" останутся.
__________________
Archicad, Smath, VBA |
||||
|
||||
По количеству рёбер? У 62 узла и у 310 одинаковое количество отрезков.
__________________
Archicad, Smath, VBA |
||||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
|
|||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Brandashmыg
Так просто чтобы сделать как ты показал, придется координаты преобразовывать в 2d.... Sleekka http://pythontutor.ru/lessons/graphs/ http://pythontutor.ru/lessons/dfs/ Реализация графа в ребрах представлена...
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
DEM
Shapely поддерживает 3д The Polygon constructor takes two positional parameters. The first is an ordered sequence of (x, y[, z])
__________________
Archicad, Smath, VBA |
||||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Цитата:
Представленно 3 плоскости.... В них различные контуры представлены. Часть узлов уже удалена, т.к. они не нужны. Это те узлы которые находятся внутри контура.... ----- добавлено через ~9 мин. ----- Зы. А по части Shapely ты по моему не прав.... Там все таки надо по порядку задавать грани... Но там вроде как есть создание полигона по точкам... Да и в чистом пайтоне я встречал алгоритм для 2d
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Каждый КЭ СРАЗУ после чтения загоняешь в полигон, потом делаешь для всех union и получаешь обобщённый полигон плиты.
А для чего это всё? Опалубку вытаскивать? ----------------- Пример: https://github.com/kuvbur/asf-reinfo...aster/parse.py класс asf функция get_element
__________________
Archicad, Smath, VBA Последний раз редактировалось Brandashmыg, 22.06.2016 в 23:15. |
||||
|
||||
YngIngKllr Регистрация: 29.03.2005
СПб
Сообщений: 12,968
|
Brandashmыg
Да хочу получить геометрическую модель а не сеточную. Чтобы потом проще править было. Сетку потом буду делать в gmsh, или перекидывать в dxf и в Робот загонять. Вообще-то идея создание своего препроцессора и постпроцессора. Потом можно будет и армирование просматривать, в том же Freecade и сразу распечатку делать. Много чего задумано.... ----- добавлено через ~8 ч. ----- Так сперва то надо создать полигон.... Надо определить последовательность точек...
__________________
Работаю за еду. Working for food. Für Essen arbeiten. العمل من أجل الغذاء Працую за їжу. |
|||
|
||||
Для четырёх узлового КЭ порядок точек будет не важен. Посмотри код на гитхабе - там просто список скармливаешь ему и всё.
__________________
Archicad, Smath, VBA |
||||
|
||||
А почему самое короткое ребро обязательно внешнее?
__________________
Archicad, Smath, VBA |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Revit: как создать сварной арматурный каркас? | extraneous | Revit | 42 | 28.12.2016 05:52 |
Solidworks 2014. Как создать выпадающий список? | voverrr | SolidWorks | 1 | 18.02.2016 16:27 |
Как в SCAD создать группу нагружений из загружений? | МишаИнженер | SCAD | 1 | 21.08.2011 05:30 |
найти пустые контуры | АлексЮстасу | Программирование | 4 | 26.02.2011 02:54 |