Witam
Chciałbym wiedzieć, czy możliwe jest stworzenie prostokąta zdolnego do najmniejszego możliwego rozmiaru w porównaniu z poligonem
rectangle_capable.pdf
Witam
Chciałbym wiedzieć, czy możliwe jest stworzenie prostokąta zdolnego do najmniejszego możliwego rozmiaru w porównaniu z poligonem
Witam
O ile mi wiadomo, nie ma automatycznego rozwiązania, po prostu umieść boki pokrywające się z wierzchołkami wielokąta.
W rzeczywistości znalazłem program LISP, który to robi:
;; SmallestRectangle.lsp [nazwa polecenia: SR]
;; Aby narysować najmniejszy prostokąt ortogonalny wokół użytkownika:
;; Wybrana grupa obiektów. Rysuje na bieżącej warstwie.
;; Kent Cooper, 27 lutego 2013
(defun C:SR (/obb oLL oUR ss LL UR); = Najmniejszy prostokąt
(defun obb (ent); = Narożniki obwiedni obiektu
(vla-getboundingbox (vlax-ename->vla-object ent) 'minpt 'maxpt)
(setq
oLL (vlax-safearray->list minpt); Lewy dolny róg obiektu
oUR (vlax-safearray->list maxpt); Prawy górny róg obiektu
); setq powiedział:
); Defun -- obb
(vl-load-com)
(podpowiedź "\nAby narysować wokół nich najmniejszy prostokąt"),
(setq ss (ssget))
(obb (ssname ss 0))
(setq LL oLL YOUR oUR); początkowy całkowity LL&UR [pierwszego obiektu]
(ssdel (ssname ss 0) ss)
(powtórzyć (sslength ss)
(obb (ssname ss 0))
(setq
LL (mapcar 'min oLL LL); najmniejszej ilości każdego składnika
UR (mapcar 'max oUR UR); Największy z każdego składnika
); setq powiedział:
(ssdel (ssname ss 0) ss)
); Powtórzyć
(polecenie "_.rectangle" "_none" LL "_none" UR)
(prinç)
); defun -- C:SR
Wiosna:
http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/the-smallest-rectangle-enclosing-selected-set-of-objects/td-p/3791519
Edycja: aby uzyskać informacje na temat korzystania z języka LISP, zobacz ten samouczek:
http://cadxp.com/topic/14323-charger-un-lisp/