3D kryvhle   zodpovězená otázka

VB.NET

Chtěl bych vykreslovat 3DKrychli třeba do pictureboxu?. Jak to udělám??

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Dobrý den,

na formulář umístíte picturebox. Po spuštění aplikace uchopíte popisovací fix, kterým na monitor nakreslíte 3D kryvhli v místě, kde je zobrazen picturebox.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Odpoveď hodná otázky :-))

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

Být vámi tak si přečtu tyto články.

http://vbnet.cz/clanek--49-vb_net_od_zac...

http://vbnet.cz/clanek--47-vb_net_od_zac...

http://vbnet.cz/clanek--10-programujeme_...

aby jste měl alespoň základní znalosti z oblasti vykreslování.

nahlásit spamnahlásit spam 3 / 3 odpovědětodpovědět

vykreslovat já umím udělal jsem i program, který umí při zadání stran kvátru vykreslit jeho síť a vitisknout (výtisk vystřihnu slepím a mám papírový kvádr), ale ten program neumí jen kvádry, ale válce, krychle v budoucnu i jehlany atd.. mě spíše šlo o rotující 3D krychli k tomu ale potřebuju buď spoustu matematiky nebo chytrý příkaz ve kterém napíši rozměry krychle a otočení v prostoru :-)

odkaz na ten program zde: http://uloz.to/xYKZUBM/3dkutil-zip

p.s. byl bych moc rád za ohodnocení programu

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

kdyby nešel spustit tak spustte rovnou EXE

\3DKutil\3DKutil\3DKutil\bin\Debug\3Dkutil.exe

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Pokud chceš pracovat s 3D grafikou, spoustu debilní matematiky budeš potřebovat každopádně. Žádný chytrý příkaz napiš rozměry krychle a otočení v prostoru neexistuje a to ani ve WPF nebo XNA, kde je práce s 3D objekty 100x jednodušší než v DirectX.

Co se týče samotného programu tak je naprosto katastrofální, ale viděl jsem mnohem horší věci...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

;´-( hroznej program ;´-( ;´-(

nahlásit spamnahlásit spam 0 odpovědětodpovědět

ale matika nejni deblní já rád matematiku je to můj nejoblíbenější předmět. A tak nějaké ty vzorce, kde bych je sehnal?

jinak děkuji za diskusi

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

tak třeba chci naprogramovat tohle

http://www.youtube.com/watch?v=ksm4SKwRs...

jak převedu 3D data 2D data?

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Není 3D jako 3D, záleží také, jakou chcete projekci - ve škole jste určitě brali volné rovnoběžné promítání, existuje třeba izometrie (např. staré SimCity, Age of Empires), anebo ve 3D hrách asi nejpoužívanější perspektiva.

U každé se 3D souřadnice na 2D přepočítávají trochu jinak a ještě se tam typicky definuje kamera, tedy pohled, odkud se na scénu díváte (abyste nemusel měnit souřadnice všech objektů ve scéně).

Úplně jednoduchá perpektiva se dělá takhle:

X,Y,Z ... souřadnice ve 3D

x,y ... souřadnice ve 2D

w ... výška obrazovky

h ... šířka obrazovky

d ... "depth faktor" - jak moc se prostor zúžuje

x = X / Z * d * w + w / 2

y = Y / Z * d * h + h / 2

Počítá se s tím, že prostředek obrazovky je bod 0,0,0, proto se k x a y přičítá w / 2 a h / 2.

Typicky se to ale takhle nepočítá, používají se na to transformační matice a operace násobení matic - doporučuju prostudovat tutoriál o XNA na zdejším webu (není ale pro aktuální verzi XNA, matematika tam ale popsaná trochu je), anebo lepší na www.riemers.net.

y = Y / Z * d * h

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Podle mě byste nechtěl :)

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Teoreticky:

http://en.wikipedia.org/wiki/3D_projecti...

Prakticky:

http://www.vcskicks.com/3d-graphics-impr...

nahlásit spamnahlásit spam 1 / 1 odpovědětodpovědět

díky no to je super!!

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback