Portál AbcLinuxu, 3. června 2024 22:46

Problém rotace plochy XY

5.3.2006 12:48 | Ostatní

Pro účely své diplomové práce potřebuji vyřešit následující problém, a už si s tím lámu hlavu celé dopoledne:

Mám zadánu plochu v prostoru, označím ji a. Tato plocha vznikla rotací plochy XY, která byla rotována postupně kolem os x, y, z. Stojím před úkolem zjistit úhly, o které byla rotována, abych ji mohl zpětně rotací kolem os z, y, x vrátit do původního stavu XY.

Plochou XY míním plochu v prostoru označenou analyticky vyjádřenou jako:

x = u
y = v
z = 0

Díky za každou dobrou radu.

       

Hodnocení: 50 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

5.3.2006 12:56 #Tom
Rozbalit Rozbalit vše Snad to pomůže
Odpovědět | Sbalit | Link | Blokovat | Admin
Analytické vyjádření jsem nějak nepochopil, ale pokud máte zadány dvě plochy a znáte k nim normálové vektory, můžete pomocí těchto dvou vektorů najít lineární zobrazení (matici), které tyto vektory i ony plochy otočí na sebe. V oné matici pak budou hledané (Eulerovy) úhly.
5.3.2006 13:16 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Snad to pomůže
Dost dobře tomu nerozumím. Nejdříve jsem to chtěl řešit pomocí odchylek těch ploch (a tedy i normálových vektorů), jenže jsem nebyl schopen to dotáhnout do konce. Nevím, jakou matici myslíte a jak ji z těch dvou normálových vektorů vytvořím :-(
5.3.2006 13:26 #Tom
Rozbalit Rozbalit vše Re: Snad to pomůže
Nevím, jestli by to šlo v tomto případě použít. Pokud jsou ale známy dva vektory, tak je lze normovat a oba doplnit na dvě různé ortonormální báze. (Stačí si vymyslet nějaké lineárně nezávislé vektory, provést Gram-Schmidtův ortogonalizační proces, normování a kontrolu pravotočivosti (determinant), nebo místo toho udělat dva po sobě jdoucí vektorové součiny). Tím vzniknou dvě báze, jejich matice se už dají snadno ponásobit mezi sebou tak, aby vyšla matice přechodu z jedné do druhé. V té matici přechodu pak vystupují Eulerovy úhly, lépe řečeno jejich kosiny.

Matice otočení s Eulerovými úhly je třeba v těchto skriptech na straně 187.
5.3.2006 13:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Odpovědět | Sbalit | Link | Blokovat | Admin
A jak byla zadána ta rotovaná plocha? Parametricky, nebo implicitně?
Jak moc jsou ábíčkáři inteligentní? ;-)
5.3.2006 13:14 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Parametricky.
5.3.2006 14:26 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Takže ta rotovaná rovina je zadaná dvěma věktory, respektive vztahem X = A x T, kde X = [x ; y ; z], A = [ a11 a12 ; a21 a22 ; a31 a32], T = [u ; v] (kde ";" je "přechod na další řádek"), a pro u=0, v=0 je X = [0 0 0]?
5.3.2006 15:09 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Přesně. Snažil jsem se v tom najít nějakou lineární závislost, ale bezúspěšně :-)
5.3.2006 13:24 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Odpovědět | Sbalit | Link | Blokovat | Admin
Jestli dobře chápu tvé "analytické vyjádřejí", tak ta plocha žije v nějaké rovině. Takže stačí vzít dva body té plochy, tak aby jim odpovídající vektory - (bod - počátek) byly lineárně nezávislé. Najít otočení jimi určené roviny podle dvou os je triviální. Pak musíš ještě najít otočení podle té třetí osy, ale to už závisí na tom, jak je ta plocha zadaná.
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
5.3.2006 13:26 Kníže Ignor | skóre: 19 | blog: stoupa
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Jestliže parametricky, pak je to trivka, né?
Jestli máš zálohu mého blogu, tak mi ji pošli. Nějak jsem si ho smazal :-)
5.3.2006 15:10 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Kdyby to byla "trivka", tak tady neotravuji :-D Ne, trivka to určitě není.
5.3.2006 14:13 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Ne, plocha nežije v žádné rovině. Je to prostě rovina, která leží v osách X a Y (z = 0).

V zápise mám chybu - správně bych měl mluvit o rovinách, nikoli o plochách. To je zobecnění.
wamba avatar 5.3.2006 15:22 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobrý d.

Jestli jsem tak řešení není jednoznačné a jedno z možných je, že budete otáčet podle dvou os x,y a k tomu vám stačí vědět úhly přímek které vzniknou průnikem roviny a s rovinou x=0, y=0.
This would have been so hard to fix when you don't know that there is in fact an easy fix.
wamba avatar 5.3.2006 15:26 wamba | skóre: 38 | blog: wamba
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Odpovědět | Sbalit | Link | Blokovat | Admin
Dobrý d.

Jestli jsem to dobře pochopil, tak řešení není jednoznačné a jedno z možných je, že budete otáčet podle dvou os x,y a k tomu vám stačí vědět úhly přímek s osou z, které vzniknou průnikem roviny a s rovinou y=0, resp. x=0.
This would have been so hard to fix when you don't know that there is in fact an easy fix.
5.3.2006 21:52 matematik
Rozbalit Rozbalit vše Re: Problém rotace plochy XY
Odpovědět | Sbalit | Link | Blokovat | Admin
Rotace postupně kolem x, y a z nikdo nepoužívá (normálně se používají Eulerovy úhly) a nechce se mi to řešit, ale pokud nutně nepotřebuješ ty úhly, jen zpětnou transformaci, tak když zapíšeš tu rotovanou bázi e'_x, e'_y, e'_z (máš-li jen e'_x, e'_y, tak e'_z = e'_x × e'_y) pomocí staré (na to stačí obyčejná projekce tj. pár skalárních součinů)
e'_x = a_xx e_x + a_xy e_y + a_xz e_z
e'_y = ...
e'_z = ...
tak tou maticí A z a_ij můžeš rovnou transformovat rotované souřadnice zpět do původních: r = A r' (r = (x, y, z)^T, analogicky r').

P.S.: Kdyby někoho napadlo povolit tagy SUP a SUB, tak jsem to mohl napsat čitelněji.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.