...já bych potřeboval vědět velikost vzdálenosti při prázdném průniku.
Pak ale roviny nejsou různoběžné (jak bylo deklarováno).
Vzdálenost množin
je obecně dána vzorcem
.
Offline
Měl jsem na mysli dvě mimobežné roviny (moje chyba)
Chtěl jsem problém co nejvíce zjednodušit, ale asi to byla chyba,takže věc se má tak:
Mám namodelované zmiňované dvě roviny ve 3D prostoru. Roviny by se v prostoru měly volně pohybovat a v případě blížící se kolize by se zastavili v určité vzdálenosti od sebe. Pokud si v každé rovině nadefinuji množinu bodů a budu počítat její vzdálenost, bude to hodně výpočetně náročné (např. v případě více než dvou rovin).
Offline
V trojrozměrném prostoru můžou být dvě roviny
a) rovnoběžné - totožné
- různé
b) různoběžné
jiná situace nastat nemůže, tj. neexistují takové dvě roviny mající prázdný průnik, které nejsou rovnoběžné.
Teoreticky by dvě roviny mohly být mimoběžné v prostorech s dimenzí alespoň 4,
ale nejsem si jistý, jestli je to to, co chceš.
Offline
No jo, když ona rovina není ohraničená, jako třeba úsečka, už mi to došlo. Takže už nevím, jak to mám popsat.. potřebuju teda porovnávat z každé té roviny jen ohraničenou část, např. obdélník.... takže jakoby dva obdélníky poletující prostorem.
Offline
Ahoj,
asi by se to dalo řešit jako vzdálenost všech dvojic mimoběžek tvořících hrancie obou útvarů (kde první přímka je hranice prvního útvaru a druhá je hranicí druhého) - a pokud bod, ve kterém se tato vzdálenost realizuje padne mimo úsečku (hranici), pak je nutno uvažovat vzdálenost koncových bodů úsečky od té druhé. A dále je potřeba uvažovat vzdálenost vrcholů tvořících "rohy" hranic od roviny, ve které leží druhý útvar. A ještě je nutné zkoumat, dza se oba útvary protnou - pak by byla vzdálenost 0. Možná to ale půjde nějak elegantněhi.
Offline
byk7 napsal(a):
je to jen nápad, takže nic nezaručuju, ale řekněme, že máme obdélníky
myslím, že hledání minima by bylo docela časově náročný.
zkusím jít na celý problém jinak. Chtěl bych tu moji ohraničenou rovinu (tedy ten obdélník) pokrýt určitým rastrem bodů v dané vzdálenosti od sebe. To samé bych udělal i s druhým obdélníkem a pak bych počítal a porovnával vzdálenosti mezi jednotlivými body. Není mi ale úplně jasné, jak vytvořit ten rastr, respektive jak vymyslet takové body, které budou patřit do "obdélníku". Dokážu popsat rovinu parametricky i obecně a vím jak zjistit, jestli bod leží v rovině, ale já bych potřeboval ty body které leží v "obdélníku" přímo vytvořit.
Offline
↑ koutnej:
S rastrem to bude náročnější, budeš mít kvadratickou složitost... Podle mě stačí, jak říkám, zkoumat jen speciální body na hranici, protože podle mého bdue platit věta, že pokud minimální vzdálenost se nabývá mezi body X-Y, pak buď X nebo Y leží na hranici těch polygonů - tedy není možné aby X i Y ležely uvnitř. Ale bylo by zajímavé tuto větu dokázat.
Offline
↑ check_drummer:
abych řekl pravdu, tak mi vůbec není jasný, jak to myslíš...
Offline
↑ koutnej:
Místo Tvého pojmu "rovina" použijme pojem "mnohoúhelník". Označme oba mnohoúhelníky A a B. Nechť jejich vzdálenost je d a jedná se o vzdálenost mezi nějakými dvěma body X z A a Y z B (lze ukázat, že ačkoli je vzdálenost definována jako infimum, zde půjde o minimum a tedy skutečně se bude nabývat mezi nějakými dvěma body - jestli Ti tato věta v závorce není jasná, tak ji ignoruj). Otázka: jakou vlastnost mají X a Y? - mohou oba ležet uvnitř A a B a nebo musí alespoň jden z nich ležet na "hranici" mnohoúhelníku A (nebo B)? (Předpokládejme zatím, že se A a B neprotínají.)
Offline