Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Zdravím,
neví prosím nějaká dobrá duše, jak by se dalo vypočítat těžiště n-stěnu? :-)
Jedná se o model glóbu, který jsem složil v programu Photoscan a výsledkem je několikamilionstěn, u kterého musím najít střed (těžiště, centroid), podle kterého budu dělat projekci a transformaci.
Jako vstup jsou 3D souřadnice, které nejsou žádným způsobem seřazeny, např.:
-2.23699035 -2.14078474 6.16905209
-2.25237825 -2.21112941 6.25258638
-2.27436095 -2.14518128 6.20422442
-2.26117133 -2.07923315 6.12948321
-2.22819727 -2.26608618 6.29215526
Děkuji moc, Michal :-)
Offline
Ahoj,
asi bych ho rozdělil na čtyřstěny, počítal jejich těžiště (jako aritmetický průměr souřadnic vrcholů) a následně bych spočítal vážený aritmetický průměr souřadnic těchto těžišť, kde váha je dána objeme čtyřstěnu. Ale nevím, zda je to správné a taky zda je to algoritmicky snadno realizovatelné..
Offline
Ahoj,
na takto surová data to asi nebude bohužel fungovat - nevím, které body jsou sousední - aby se čtyřstěny nepřekrývaly
Offline
↑ michal.kowalski:
Zdravím,
nějaká informace o tom které vrcholy náleží které stěně ale myslím bude potřeba, jak jinak bychom pouze ze souřadnic vrcholů dokázali těleso rekonstruovat? Nebo máme nějaké další informace jako např. že všechny stěny jsou trojúhelníky, těleso je konvexní atd.?
Offline
Ahoj,
bohužel program tyto informace nevyhodí je to prostě neuspořádaný shluk bodů. Z těchto bodů by teoreticky šlo udělat čtyřstěny (na povrchu tělesa trojúhelník), ale nevím které body jsou sousední.
Můj prozatimní nejlepší nápad spočívá v metodě, kdy budu pohybovat středem koule v osách x, y, z a pro každou polohu budu měnit v určitém intervalu poloměr koule a v každém tomto měření počítat odchylky bodů od pláště - když bude průměrná odchylka nejmenší, bude nalezen střed koule a její poloměr. Bohužel tato "dřevorubecká" metoda bude asi celkem pomalá
Offline
Tahle funkce pro Matlab
http://de.mathworks.com/matlabcentral/f … centroid.m
dělá přesně to co navrhnul ↑ check_drummer:, přičemž "sousednost" vrcholů se určí pomocí konvexního obalu těch bodů. Vlastní implementace od nuly pokud nemáš Matlab ale asi nebude triviální...
Offline