.[ ČeskéHry.cz ].
ctverec v prostoru

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 15. březen 2008, 19:07:51    Předmět: ctverec v prostoru Odpovědět s citátem

Cau, narazil jsem na problem, se kterym si nevim rady. Potrebuju v prostoru vypocitat body ABCD ctverce, kdyz znam jeho normalovy vektor, stred a delku strany. Tusim, ze to musim vzit nejak pres rovnici ax+by+cz+d=0, ale jeste sem se s tim ve skole ani nikde jinde nesetkal.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
ladik-BigBoss



Založen: 28. 07. 2007
Příspěvky: 162

PříspěvekZaslal: 15. březen 2008, 19:19:49    Předmět: Odpovědět s citátem

normalovy vektor n(a,b,c) ti udava koeficienty rovnice roviny na ktere lezi ten ctverec:
ax+by+cz+d=0
stred ctverce lezi taky na te rovine takze S[x,y,z] dosadis do rovnice.
z toho vypocitas:
d = -ax-by-cz

ted mas kompletne rovnici roviny na ktere lezi ctverec.

o ctverci dale vis ze ma delku strany s.
to ti ale moc nepomuze, jen vis ze polomer kruznice opsane je sqrt(2)*s/2
potom ti vychazi nekonecne mnoho ctvercu ktere tomu vyhovuji. potrebujes
alespon jeden dalsi bod
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 15. březen 2008, 19:46:08    Předmět: Odpovědět s citátem

hmm diky za odpoved, se pokusim byt trochu konkretnejsi. Snazim se vytvorit decaly, presneji diry do zdi. Pres raytracing od kamery si zjistim bod, kde paprsek protina danej model a body trojuhelniku, kterej paprsek protina. Z tech 3 bodu jsem si spocital normalovy vektor. Pak si udam nejakou velikost, jakou ma danej decal mit a to je asi vsechno, s cim muzu operovat.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 15. březen 2008, 20:03:51    Předmět: Odpovědět s citátem

ladik chtěl těmi nekonečně mnoha body říct to, že z těch informací, které máš k dispozici nelze určit, jak ten čtverec bude otočený kolem normálového vektoru. To si budeš muset nějak vymyslet.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 15. březen 2008, 20:07:08    Předmět: Odpovědět s citátem

No jelikož má nejspíš informace o pozici a orientaci kamery, je tam jen jedna možnost, jak to udělat tak, aby byl ten čtverec otočen ke kameře vždy stejně. Prostě ať zkusí vytvořit úplně libovolný čtverec na zdi a potom ať ho třeba orotuje na základě té kamery.
_________________
AMD Open Source Graphics Driver Developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 15. březen 2008, 20:16:05    Předmět: Odpovědět s citátem

Jeste me napadlo, ze hodnoty v ose y by mely byt u 2 spodnich a 2 hornich bodu stejny. Nebo vychazet z rovnobeznosti s nekterou z os. Uz z toho zacinam bejt bezrandej.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 15. březen 2008, 20:32:25    Předmět: Odpovědět s citátem

no ak mas normalovy vektor tak potom treba zistiti dva na seba kolme vektory ktore lezia v rovine znacky.

n-normalovy vektor
y- y vektor teda (0,1,0)

u=n*y
v=n*u
(* znaci vektorovy sucin)
tym dostaneme u a v ktore su na seba kolme a lezia v rovine znacky. potom je to uz jednoduche.

a,b,c,d - body
s - stred

a=s+u
b=s+v
c=s-u
d=s-v

predtym samozrejme treba zmensit vektory u a v na dlzku uhlopriecky. staci troska vektorovej matiky
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 16. březen 2008, 21:22:18    Předmět: Odpovědět s citátem

Diky, hlavne posledni prispevek mi dost pomoh. Na flipcode sem objevil jeden clanek o decalech http://flipcode.com/archives/Decals_Explained.shtml . Je tam popsany zhruba to, ze z pomoci normaloveho vektoru si vypocitame Right a Up vector. Right vektor se vypocita vektorovym soucinem vektoru majoritni osy a normalovyho vektoru.
Ten vektor majoritni osy se spocita tim, ze se najde, v ktery ose ma normalovej vektor nejvetsi hodnotu, takze treba (1,0,0). Jenomze se tam dal pise, ze kdyz je normalovej vektor a ten vektor majoritni osy stejnej, musi se vypocitat Right vektor spocitat "by hand". Netusim, co to znamena.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 16. březen 2008, 21:32:05    Předmět: Odpovědět s citátem

"by hand" anjskor ze vypocitat rucne. ono ide o to ze ak su dva vektory kolinearne teda ukazuju tym istym alebo opacnym smerom tak sa neda vyratat vektorovy sucin. vtedy treba zvolit iny up vektor. a to akykolvek moze byt aj [0,0,1] alebo [1,0,0] jediny rozdiel bude v tom ako bude natoceny vysledny decals. preto treba do pocitatnia deccals dat podmienku ze ak je UP vektor 0,1,0 tak pri normalovom vektore [0,x,0] sa pouzije iny UP vektor napr [1,0,0] vektor.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 16. březen 2008, 21:56:54    Předmět: Odpovědět s citátem

Pokud se jedná o decals výbuchu/stopy po střele/krev, pak je obvykle jedno, jak je ta textura otočená, takže by sis mohl prostě vymyslet jeden vektor a zbytek by byl jednodušší.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
am!go



Založen: 19. 08. 2007
Příspěvky: 61
Bydliště: Praha

PříspěvekZaslal: 17. březen 2008, 18:40:40    Předmět: Odpovědět s citátem

Uz se to tvari, ze vsechno fnguje. Diky vsem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna