vitaly_l писал(а):Постольку поскольку, я вижу/чувствую/слышу/ощущаю/понимаю - всю программу задолго до её написания. Мне достаточно одного взгляда на задачу и я уже знаю, смогу ли я решить эту задачу или написать эту программу.
звучит прям магически, если честно заинтриговали...
Давайте проведем эксперимент, сейчас я эту задачу не решаю, но в будущем очень хочу решить, примерный вектор движения мне понятен, но он меня пугает, хочу услышать что вы скажите на эту проблему.
Это будет будущий модуль для zcad-а, когда я освобожусь от графовых деревьев. И в zcad будет введена сущность помещения. Но это пока не скоро.
Собственно задача. И так есть помещение, на рисунке 1 показано синим контуром (внутренний контур помещения, по стене). Внутри данного помещения могут быть исключающие области (показаны красным цветом, так же по стене).
Помещение может быть любой формы, то что на рисунке, вроде бы должно учитывать все формы, но может быть, какие то более сложные формы мог не учесть.
Внутри данного помещения надо расставить пожарные извещатели (дымовые или тепловые), расстояние от извещателя до стены и расстояние между извещателями прописано нормами, для разной высоты потолков. Примем, от извещателя до стены не более: 4,5м, между извещателями не более 9м, но цифры могут меняться по заданию пользователя.
Задача: Зная внутренний контур помещения и исключающие контуры внутри данного помещения, расставить извещатели, как на примере рисунок 2 (но это я так, быстро набросал, кривовато, программа должна более качественно расставлять)
есть следующие исходные данные:
1. Внутренний контур помещения — список координат узлов линий (полилиния)
2. Исключающие контуры внутри данного помещения - список координат узлов линий (полилиния)
3. Габаритные размеры извещателя (10х10см)
Возможно получить другие данные, если надо, Вы только предложите. Решение только должно учитывать, что датчики могут располагаться ближе и к стенам, и к друг другу, желательно пропорционально, как на рисунке 3, но хотелось бы что бы соблюдалась чистота линий как на примерах. Возможно ли это? Не много ли я хочу от программы?
Цитируя Вас
. Думаю что много времени это проблема не займет. Если можете решить эту задачу, то опишите алгоритма решения. Если нет, то нетПостольку поскольку, я вижу/чувствую/слышу/ощущаю/понимаю - всю программу задолго до её написания.
Обращение ко Всем!
Аутодеск рубит огромное бабло на своих продуктах Автокад и Ревит. Открытых программ 2d/3d проектирования можно сказать что нет. freecad не про это. ZCAD чем Вам не идея, достаточно модульная структура, на сколько я понял лицензия позволяющая писать платные модули с закрытым кодом. Проектирования это широчайшая сфера развития ПО. Вообще нет ни одно бесплатной программы с BIM технологией. ZCAD можно развить достаточно сильно и доказать Autodesk-у, да и вообще всему миру, на что способно сплоченное общество программистов. Да и в проекте есть лидер zub, сколько лет он пишет эту программу, разве это не главное доказательство что он не бросит свою идею и свой проект!!!