Vzdálenost dvou bodů na povrchu krychle – Matematika – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Vzdálenost dvou bodů na povrchu krychle – Matematika – Fórum – Programujte.comVzdálenost dvou bodů na povrchu krychle – Matematika – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Bogus
~ Anonymní uživatel
3 příspěvky
30. 10. 2014   #1
-
0
-

Zdravím,

můj dotaz zní, jakým vzorcem mohu vypočítat vzdálenost dvou bodů na povrchu krychle, konkrétně na protějších stěnách. Přišel jsem už na vzorec pro body na sousedních stranách a na jedné straně. Ten je stejný, ale na protější ne. Tento vzorec bych chtěl použít jako příkaz u programování.

Hledám nejkratší možnou vzálenost, ale podmínkou je, že cesta musí být rovnoběžná s hranami krychle.

Připojen obrázek.


Můj vzorec pro body na jedné stěně nebo na vedlejších stěnách je po zadání souřadnic A [x1, y1, z1]
a B [x2, y2, z2] :
v = |x1-x2| + |y1-y2| + |z1-z3|

Děkuji za pomoc!

Připojen obrázek.

Nahlásit jako SPAM
IP: 62.168.34.–
Reklama
Reklama
Kit+11
Guru
30. 10. 2014   #2
-
0
-

#1 Bogus
Rozlož si povrch krychle do roviny - jako kdyby byla slepena z papíru.

Nahlásit jako SPAM
IP: 2a00:1028:83a0:37a6:221:5...–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Bogus
~ Anonymní uživatel
3 příspěvky
30. 10. 2014   #3
-
0
-

#2 Kit
To jsem si taky dělal a nepomohlo, potřebuju najít univerzální vzorec, do kterého budu dosazovat jen souřadnice....

Nahlásit jako SPAM
IP: 62.168.34.–
Honzc
~ Anonymní uživatel
220 příspěvků
31. 10. 2014   #4
-
0
-

#3 Bogus

Obecně:
v1=|x1-x2| + |y1-y2| + |z1-z2|

v2=0

když |x1-x2| = a   pak

   v2 = 2*min(y1,y2,z1,z2,a-y1,a-y2,a-z1,a-z2)

když |y1-y2| = a   pak

   v2 = 2*min(x1,x2,z1,z2,a-x1,a-x2,a-z1,a-z2)

když |z1-z2| = a   pak

   v2 = 2*min(x1,x2,y1,y2,a-x1,a-x2,a-y1,a-y2)

v = v1+v2

kde min(...) značí minimální číslo z čísel v závorce)  může vyjít i 0, pokud body veží na protilehlých hranách jedné stěny

Nahlásit jako SPAM
IP: 93.181.78.–
Bogus
~ Anonymní uživatel
3 příspěvky
31. 10. 2014   #5
-
0
-

#4 Honzc
Děkuji moc:) !

Nahlásit jako SPAM
IP: 81.30.230.–
Honzc
~ Anonymní uživatel
220 příspěvků
2. 11. 2014   #6
-
0
-

#5 Bogus
Ještě se to může vylepšit tím, že velikost hrany a se najde takto: (nemusí se tedy zadávat)

a = max(|x1-x2|, |y1-y2|, |z1-z2|)

Ostatní stejné.

Nahlásit jako SPAM
IP: 86.61.178.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý