Matematické Fórum

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

#1 26. 10. 2010 14:29

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Zobrazení krychle na ploše + možnost otáčení s krychlí

Zdravím,
potřeboval bych poradit s jedním algoritmem, který by mi zobrazil krychli na ploše (tzn. převedl její body v prostoru do roviny) a zároveň mi umožnil s krychlí otáčet (stačí po ose x a y).

Přemýšlím nad tím už několik týdnů a ne a ne na to přijít. Zobrazil jsem si krychli (to takový problém nebyl - abych si to ulehčil, střed krychle je na souřadnicích [0,0,0]) a dokážu ji i otáčet po ose x/y pomocí dvou kružnic (jedna mi vyjadřuje otáčení po ose x a druhá po ose y), jak je Vám už ale asi jadné, toto otáčení nefunguje v případě, kdy je krychle otočena (aspoň na jedné z os) o jiný úhel než násobek 90°. A tady si už právě nevím rady.

Napadlo mě otáčet krychli ne po kružnicích, ale po elipsách (na ploše to je vlastně kružnice v prostoru). Z každé elipsy bych si zjistil souřadnice (X1, Y1 a X2,Y2) a souřadnice bodu (vrcholu krychle), který chci zobrazit by ležel mezi těmito body ve středu (aspoň taková je moje teorie - jestli je správná, to nevím).

Vzhledem k tomu, že je to sakra těžké na představivost (uvědomit si, kdy jsme ještě v 3D prostoru a kdy už v 2D), našel jsem ještě něco o Polárních souřadnicích (v 3D prostoru to jsou myslím Sférické a potom bych musel asi použít Transformační rovnice na promítnutí na plochu). Bohužel je to učivo vysokých škol a já jsem středoškolák, takže jsem si vše musel načíst (učitelé mi moc neporadili) a nejsem z toho vůbec chytrý. Mohl by mi někdo, prosím, vysvětlit jak s nimi promítnout krychli (vrcholy krychle, u kterých znám souřadnice) na plochu a abych s krychlí mohl otáčet (pokud jsem to pochopil dobře, tak neotáčím s krychlí, ale s bodem, ze kterého se dívám (kamerou) a to už jsem se ztratil uplně).

Bohužel nevím, která varianta je výhodnější (přes sférické souřadnice měnit bod zobrazení a potom preš transformační rovnice přenést souřadnice na plochu nebo přes dvě elipsy otáčet s krychlí a potom ji zobrazit na plochu). Pokud by mi někdo dokázal poradit, byl bych mu moc vděčný.

Předem děkuji za každou radu. Pazzi

Offline

  • (téma jako vyřešené označil(a) Pazzi)

#2 27. 10. 2010 23:30

xxsawer
Příspěvky: 196
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

↑ Pazzi:
Jednoduchá otázka...k čemu to potřebuješ?
Jestli si chceš napsat program, kde si budeš moct otáčet krychlí tak takhle se to nedělá, od toho jsou knihovny, nastuduj si OpenGL

Offline

 

#3 28. 10. 2010 10:35

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Jo, chci si napsat program, ve kterém si budu moct otáčet s krychlí. No když jsem používal DirectX.3D, krychle se mi sbíhala do úběžníku, což já nechci. Potřebuju, aby všechny rovnoběžné čáry byly opravdu rovnoběžné, proto jsem se rozhodl, že si zkusím zobrazení (a otáčení) krychle napsat sám.

Offline

 

#4 28. 10. 2010 12:11 — Editoval gladiator01 (28. 10. 2010 12:20)

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

↑ Pazzi:
Tomu se říká perspektiva :) - vzdálenější objekty jsou menší.
Třeba v OpenGL lze nastavit několik pohledů zobrazení a některé perspektivu ignorují. Třeba to jde i v DirectX.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#5 30. 10. 2010 00:26 — Editoval Pazzi (30. 10. 2010 00:28)

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

ano, perspektiva, bohužel nevím, jak ji v DirectX nastavit, proto jsem se rozhodl napsat vlastní přepočítávání.
VSTUP 3D souřadnice [x,y,z], VÝSTUP 2D souřadnice pro zobrazení na monitoru [x,y]

Offline

 

#6 01. 11. 2010 00:30 — Editoval Billy (01. 11. 2010 00:34)

Billy
Příspěvky: 60
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

↑ Pazzi:

Ahoj,
to čo potrebuješ sa volá projekcia. Najčastejše sa používa perspektívna projekcia, ktorá spôsobuje dojem, že objekty ďalej sa zdajú menšie. Ale to je to čo ty nechceš preto by si mal použit takzvanu ortograficku projekciu. Tam sú priamky projekcie kolmé na rovinu na ktorú scénu premietaš a tým zachovávajú rovnobežnosť, ktorú potrebuješ. V podstate ide len o posunutie a škálovanie, čo sú základné transformácie súradníc.
Teda celá projekcia je len ďalšou transformáciu súradníc teda dá sa to vyjadriť maticou, ktorou ti stačí prenásobiť súradnice a dostaneš to čo potrebujes. Odvodenie oboch projekcnych matic a aj popis ako sa používajú v DirectX nájdeš tu.

Offline

 

#7 01. 11. 2010 11:30

gladiator01
Místo: Jindřichův Hradec
Příspěvky: 1587
Škola: ZČU FAV - SWI
Pozice: absolvent
Reputace:   53 
Web
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

↑ Pazzi:
Přesně tohle jsem myslela, to co píše Billy.


Naděje jako svíce jas, potěší srdce štvané, čím temnější je noční čas, tím zářivěji plane.
VIVERE - MILITARE EST (Seneca)
Vím, že nic nevím. - Sokrates

Offline

 

#8 07. 11. 2010 16:35

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

A přes transformační matice dokážu i krychli otáčet? Co jsme se tak díval, tak u transformačních matic budu potřebovat vyjádřit rovinu, na kterou chci promítat. Jenomže s touto rovinou já budu chtít otáčet (po ose x a y) - otočit ji po jedné ose není pro mě problém, ale nevím jak (když mám třeba otočenou rovinu po ose x o 30°), jak ji otočit po ose y třeba o 45°.

PS: Když se bavím o osách, myslím osy roviny (ne osy v soustavě souřadnic)

Offline

 

#9 07. 11. 2010 19:04

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Matice dokaze i otacet: Odkaz. Kdyz das za sebe (vynasobis) dve matice tak se porvede nejdriv jedna transformace, a pak druha, takze to muzes otocit treba nejdriv podle osy x a pak podle y. Projekcni matice ani projekcni rovinu v tvem pripade nepotrebujes (odhaduju), staci, kdyz proste z vysledku ve 3D vynechas slozku z a mas to ve 2D.

Offline

 

#10 11. 11. 2010 19:08 — Editoval Pazzi (11. 11. 2010 19:11)

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Mohl bys, prosím, uvést nějaký příklad (či obecný vzorec) jak postupovat? Např. bod A[-50;-50;50], střed otáčení (střed krychle) = [0;0;0] a chci kdyhli otočit po ose x o 30° a po ose y o 50%.

Z té wikipedie jsem zmatený, nevím které vzorce se týkají mě a jak je použít. Matice znám jen okrajově (jsem na střední, učitelka se o nich kdysi zmínila, ale že nás to nebude učit, protože to je učivo vysokých škol).

Offline

 

#11 11. 11. 2010 19:33

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Tohle je matice otoceni podle x:

1     0     0
0  cosU -sinU
0  sinU  cosU


Tohle je otoceni kolem y:

cosU   0   sinU
   0     1    0
-sinU  0   cosU

(U je uhel o ktery otacis)

Napriklad ta pro x pri uhlu 30 bude vypadat:

1    0       0
0  0.87  -0.5
0  0.5    0.87

(Omlouvam se za upravu neumim TeX zatim)

Vis, jak se nasobi matice mezi sebou, pripadne matice s vektorem?

Offline

 

#12 11. 11. 2010 22:58 — Editoval Pazzi (11. 11. 2010 23:00)

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Na násobení matic se kdyžtak poptám ve škole. Ale nějak v tom nevidím, jak dostanu ty souřadnice. Kde používám souřadnice bodu, který otáčím? Mohl bys ještě, prosím, napsat jak postupovat od 3D souřadnic bodu přes otočení po obou stranách (to už jsi napsal) až po zjištění 2D souřadnic, které zobrazím na obrazovce?

Asi chápu, že musím napsat souřadnice bodu do matice (ale v matici máš 9 čísel a souřadnice jsou jen 3) a tuto matici vynásobím s maticí pro otočení (tu, kterou jsi napsal) a potom s druhou maticí pro otočení. A nyní mi vyjde 9 čísel, ale jak z nich zas udělat souřadnice x,y,z netuším.

Offline

 

#13 11. 11. 2010 23:52 — Editoval Lumikodlak (12. 11. 2010 11:20)

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Souradnice bodu, ktery otacis, je vlastne vektor, ale pouzivas ho jako matici 3x1, napriklad ten bod A je matice:
-50
-50
50


Takze vynasobis transformacni matici (matice) touto matici bodu, a dostanes 3x1 matici, ve ktere mas uz vysledne souradnice. Napriklad:

[1    0       0  ]     [-50]       [ 50  ]
[0  0.87  -0.5 ]  x [-50]   = [-68,5]
[0  0.5    0.87]     [ 50]       [18,5 ]

Takze po transormaci mas souradnice x=50, y=68.5, z=18.5
(Mel jsem to spatne, ta vysledna matice ma byt na vysku, ne na sirku, opravil jsem to)

(Mimochodem napriklad v OpenGL a DirectX je to slozitejsi, tam se pouzivaji matice 4x4 a orientovane vektory jsou tam take zapsany jako 4x4 matice, ale to pro tvuj pripad nepotrebujes jestli se nepletu)

Offline

 

#14 12. 11. 2010 12:31 — Editoval Pazzi (12. 11. 2010 12:46)

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Tak jsem zkoušel zobrazit tu krychli přes ty matice, jak píšeš a nefunguje to.
1. "Krychle" se mi otáčí po konstantních osách souřadnic (já potřebuju, aby se otáčela krychle po svých vlastních osách - pokud teda otočím krychli po ose x, změní se mi osa y a naopak).
2. Vypustit zetovou souřadnici nemůžu, protože jinak se mi krychle ani nezobrazí, zobrazí jen nějaký čtverec, kterým otáčím sem a tam.
3. Pokud otočím "krychli" o 45° na ose Y a o -45° na ose X, dostanu bod (správně by měl vzniknout pravidelný šestiúhelník).


Napíšu to jak jsem to řešil přes kružnice (třeba někoho něco napadne):
A[x,y,z]; alfa (otočení po y); beta (otočení po x); gama (momentální odchylka bodu na ose y od kladné osy x);
delta (momentální odchylka bodu na ose x od kladné osy y)
A`[x2,z2] převedené souřadnice bodu na 2D a připravené k zobrazení na ploše

gama = inv cos(x/odmocnina(z*z+x*x)             //upravená rovnice pro výpočet úhlu dvou vektorů
delta = inv cos(y/odmocnina(z*z+y*y)              //upravená rovnice pro výpočet úhlu dvou vektorů

x2 = sin(alfa+gama)*odmocnina(x*x+z*z)        //odmocnina je poloměr kružnice, po které bod otáčím
y2 = cos(beta+delta)*odmocnina(y*y+z*z)       //odmocnina je poloměr kružnice, po které bod otáčím

tohle je bohužel řešení, jen pro případ, že chci otáčet krychli jen po jedné ose (buď x nebo y) - jakmile je krychle otočena o jakýkoli úhel po jedné ose a chci otáčet po druhé ose, krychle se rozbije (vznikne z ni kvádr, potom kosočtverec a nakonec přímka)

Offline

 

#15 12. 11. 2010 12:47 — Editoval Lumikodlak (12. 11. 2010 12:48)

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Omlouvam se, ze ti to nefunguje. Psal jsem to asi moc obecne a nezkousel jsem tvuj pripad naprogramovat, tak mozna to vyzkousim aby se to dotahlo do konce. Co me ted napada:

1. Tohle jsem si neuvedomil, v tom pripade bys mel nasobit transformacema zprava, tahkle:

                     [1    0       0   ]
[-50 -50 50] x [0  0.87  -0.5 ] = [-50 -18,5 68,5]
                     [0  0.5    0.87 ]

2. Mel jsem na mysli vynechat zetovou souradnici az po transformaci, ale to uz predpokladam jsi delal predtim, kdyz se ti krychle zobrazovala.

Jeste se na to podivam a neco napisu.

Offline

 

#16 12. 11. 2010 15:33

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Zkousel jsem to ted narychlo v excelu, a funguje to. Co se tyce obecne teorie k tem transformacim a maticim, bylo by to na dlouho, to bys musel nekde nastudovat.

Oprava k tomu memu bodu 1 - nasobeni zprava ti mozna pomuze, mozna ne, zalezi na tom, jak to pocitas. To, jestli se krychle otaci po vlastnich osach nebo ne - to neni tak jednoducha otazka. Nejspis chces jenom obratit poradi tech transformaci. Kdyz otocis nejdrive podle x a pak podle y v souradnicich krychle, je to to same, jako bys otocil nejdrive podle y a pak podle x v souradnicich pohledu.

K bodu 3 - To nevim, jak je mozne :-)

Abych konkretne videl, v cem je problem, asi bys musel ukazat primo ten kod (nebo cast), tak jestli se ti chce, tak ho sem dej.

Jinak jestli kdokoliv jiny ma k tomu nejake pripominky, nebo vi jak to udelat jinak, jednoduseji (treba pomoci te kruznice), tak at napise.

Offline

 

#17 12. 11. 2010 15:45

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Uz to vidim, pres ty kruznice to muze nejspis byt jednoduche, mozna bude fungovat neco takoveho:

gama = inv cos(x/odmocnina(z*z+x*x)             //upravená rovnice pro výpočet úhlu dvou vektorů

x2 = cos(alfa+gama)*odmocnina(x*x+z*z)        //odmocnina je poloměr kružnice, po které bod otáčím
z2 = sin(alfa+gama)*odmocnina(x*x+z*z)

delta = inv cos(y/odmocnina(z2*z2+y*y)              //upravená rovnice pro výpočet úhlu dvou vektorů
y2 = cos(beta+delta)*odmocnina(y*y+z2*z2)       //odmocnina je poloměr kružnice, po které bod otáčím

Kdyztak to zEdituju jeste jestli to neni spravne.

Offline

 

#18 12. 11. 2010 18:07

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Tak určitě se nemusíš omlouvat, že ti to nefunguje. To já můžu být rád, že mi pomáháš.
Nějak jsem nepochopil, jak to myslíš s těma kružnicema (spíš proč tam počítáš souřadnici z)? Ty moje kružnice mi to už právě přepočítají na 2D souřadnice [x,y] a žádná "z" neexistuje... Nebo jak to myslíš? Že bych pomocí kružnic otočil krychli a potom to přes matice převedl na plochu nebo jak?

A mohl bys mi tady napsat ty matice 4x4 jak jsi psal výše? To by teoreticky mohlo být ono. Nejlepší by bylo, kdyby byla nějaké vyjádření kružnice v prostoru (že by byla nakloněna v prostoru) a potom bych otáčel vrcholy pomocí pohybu po kružnici (akorád by byla v prostoru). Otočil bych vlastně krychli po kružnici (třeba po ose y) a potom bych otočil krychli po kružnici po ose x (ale to už by nebyla osa souřadnic, ale krychle) - tu bych si vyjádřil jako přímku, která by měla body střed strany ADHE a střed strany BCFG.
Bohužel jsem nenašel žádné vyjádření kružnice v prostoru, tak jsem to zkoušel přes elipsy (což je nakloněná kružnice v prostoru), ale to taky nedopadlo dobře...

Nebo ještě mě napadá, jestli existuje nějaká obecná rovnice koule (protože vrcholy krychle se při otáčení pohybují v kouli), tak že bych mohl použít nějaký pohyb po kouli.

Offline

 

#19 12. 11. 2010 18:39

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Tu souradnici z tam pocitam proto, ze to otacim nejdriv podle jedne osy, a pak podle druhe. Problem je v tom, ze nemuzes tu krychli otocit najednou podle x i podle y, muzes otacet jen podle jedne osy v jednu chvili, jinak se ta krychle zdeformuje. Ta souradnice z2 se pouziva k vypoctu 'delta' a 'y2', ale dal uz ji nepotrebujes, a proste ji nikde nepouzijes.

Co se tyce tech 4x4 matic, tak tim to neni - tam je ctvrty sloupec pouzity pro posunuti, ve cvrtem radku byvaji nuly a na pozici [4,4] rhw, coz byva bud 0 nebo 1.

Zkousel jsi vymenit v tvem programu ty tvoje radky za ty moje? (pro tu kruznici)

Offline

 

#20 12. 11. 2010 19:46 — Editoval Lumikodlak (12. 11. 2010 21:24)

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Jeste jsem nad tim premyslel, a rekl bych, ze jsem mozna pochopil, co vlaste presne chces (drive mi to nedoslo). Ty chces otoceni ve smeru x a zaroven y z pohledu te promitaci plochy, a ne kolem osy x nebo y, je to tak?

Jestli ano, tak pomoci kruznic to nebude uplne jednoduche.
Jde o to, ze potrebujes vzdy jednu osu, kolem ktere otacis. V tomhle pripade to tedy bude kolmice na smer ve kterem chces jakoby otacet. Pomoci transformacni matice by to melo jit takhle:

U = odmocnina(alfa*alfa + beta*beta)
ux = beta/U
uy = -alfa/U

x a y je smer te osy kolem ktere otacis, U je celkovy uhel, o ktery otacis. Po dosazeni do matice rotace kolem osy vznikne tohle:

cosU+ux^2*(1-cosU)     ux*uy*(1-cosU)        uy*sinU
    ux*uy*(1-cosU)      cosU+uy^2*(1-cosU)  -ux*sinU
       -uy*sinU                     ux*sinU                cosU


Kdyz se ta matice vynasobi vektorem, vznikne:

x2 = X*(cosU+ux^2*(1-cosU)) + Y*(ux*uy*(1-cosU))         + Z*(uy*sinU)
y2 = X*(ux*uy*(1-cosU))         + Y*(cosU+uy^2*(1-cosU)) + Z*(-ux*sinU)
(z2 = ... neni potreba)

Po vynasobeni vektoru touhle matici by melo vyjit to, co ches (doufam). A jestli ne, tak uz nevim :-)

Offline

 

#21 12. 11. 2010 20:06

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Jo, je to přesně tak jak píšeš. Chci otáčet zároveň po ose x a y.
S těma kružnicema jsem to ještě nezkoušel (nebyl jsem doma a ani jsem pořádně nepochopil, jak to myslíš). Teď už to můžu vyzkoušet, ale větší naději vidím v tom, co jsi napsal naposled.

Ale zaráží mě, že tam nepočítáš se souřadnicí "z". Přece ji jen tak nemůžeš vypustit - musí ti nějak ovlivnit 2D souřadnice, které ti mají vzniknout, protože když si vemeš krychli (pohled zepředu), tak body A a D jsou totožné, ale jakmile začneš otáčet po ose y, jeden bod jde doleva a druhý doprava. Jak se tak dívám na ty matice, tak mi připadá, že se oba body budou chovat stejně, když se souřadnicí "z" nepočítáme.

Offline

 

#22 12. 11. 2010 21:21

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Se souradnici 'z' se tam pocita, akorat jsem to napsal tak, ze je to matouci (to 'x' a 'y' nejsou souradnice bodu, ale souradnice osy otaceni). Prepisu to aby se to nepletlo.

Offline

 

#23 12. 11. 2010 22:11 — Editoval Pazzi (12. 11. 2010 22:12)

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Super, díky, počítal jsem to teda přes matice, jak jsi napsal a už to konečně vypadá jako krychle, ať to ji otočím jakkoli (akorád když je pohled zepředu - tzn. natočení o x=0°, y=0° - mi krychle zmizí, ale to snad půjde nějak ošetřit, ještě jsem nekontroloval ani kde je chyba). Takže určitě díky za pomoc.

Akorád jakmile začnu otáčet i po druhé ose, tak nastanou 2 problémy:
1. Krychle se neotáčí po své ose, ale po ose souřadnicové
2. Druhá osa, po které se krychle otáčí není uplně rovná (např. při natočení o 45°a 45° by se měly dva vrcholy střetnout uprostřed pravidelného šestiúhelníku, ale protože není osa rovná, vznikne mezi vrcholy mezera cca 1/10 strany krychle, což je docela velká mezera. (Chyba při zaokrouhlení by být nemělo, protože se všechny výpočty provedou naráz a tak se výsledné číslo zaokrouhlí až nakonec a dál se s ním nic neděje.)

Jo a vysvětlil bys mi, prosím, proč se to počítá tak jak se to počítá (třeba nevím, jak jsme došli k tomu, že U = odmocnina(alfa*alfa + beta*beta); ux = beta/U a uy = -alfa/U.

A ještě jednou díky za pomoc.

Offline

 

#24 12. 11. 2010 22:53

Lumikodlak
Místo: Praha
Příspěvky: 212
Pozice: Programator nebo tak neco :-)
Reputace:   19 
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

↑ Pazzi:
Pri 0 a 0 bude mizet no, chyba je v tom, potom U=(0*0 + 0*0), takze pak ux = 0/0 (a taky y), a tim padem tam vznikaji divna cisla. To osetris asi nejlepe IFem.

1. Znamena to, ze potrebujes, aby se krychle otacela jakoby podle nejakeho jejiho rohu, a ne podle stredu? Myslim ten [0,0,0].
Jestli ano, tak budes muset bud tu krychli posunout tak, ze jeden bod bude [0,0,0], a nebo pouzit pri transformaci i nejake posunuti (4x4 matice).

2. Jestli se nepletu, tak je to zpusobene prave tim U = odmocnina(alfa*alfa + beta*beta) - vznikne z toho jedna rotace o 63.6°. Kdybys to otocil priblizne o 31.8° a 31.8°, tak by to melo vyjit temer na stred.

Zkusim to vymyslet nejak s tim U, ux a uz aby to vyslo na tech 45°. Pocita se to tak proto, protoze jsem to tak napsal :-) neni to nijaka standardni metoda. Jeste to vysvetlim pozdeji kdyztak.

Offline

 

#25 13. 11. 2010 08:02

Pazzi
Zelenáč
Příspěvky: 24
Reputace:   
 

Re: Zobrazení krychle na ploše + možnost otáčení s krychlí

Nene, já potřebuju, aby se otáčela krychle ve středu, ale aby se otáčela po své vlastní ose (tzn. osa povede mezi středy dvou protisobě ležících stran). Momentálně je osa, po které otáčíme, totožná s osou souřadnic, což já nepotřebuju.

Potřebuju totiž u krychle měnit jen nadhled, podhled a pohled zleva, zprava

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson