Rysowanie planu 3D.

0

Witam.

Mam następujacy problem - mam dwuwymiarowa tablice ktora opisuje pewna plaszczyzne. 10*10 elementów. Kazdy element to wysokość, czyli powstaje swojego rodzaju mapa z wzniesieniami.

Na przyklad, Mapa[1,1]=5 czyli jest rysowane 5 kwadratow jeden na drugim. Taki prosty "budynek".

Nie mam zielonego pojecia o korzystaniu z 3D. Probowalem bawic sie przeliczaniem punktu 3D na 2D znalezionym w gdzies w Gotowcach. Tylko ze to nic nie dziala tak jak bym chcial, a moze cos zle robie... Jesli ktos bylby wstanie naprowadzic na dobra droge lub podeslac gotowe rozwiazanie to bylo by bardzo milo ;) Dodam ze wykorzystanie OpenGL czy innych DirectX-ow odpada. Tylko rysowanie po Canvasie :) Jakies pomysly?

0

ale co, nie umiesz narysować prostego sześcianu z lini??

0

wybrać punkt początkowy
pętla po rzędach tablicy
pętla po komórkach rzędu
rysowanie krechy od punktu początkowego w górę o odpowiedniej długości
kolor wybrać taki żeby pasowało do wysokości ( tak jak na mapach - od zielonego do czerwonego )
przesunąć punkt początkowy w bok
dajemy "enter" dla punktu początkowego ( linia w dół i na początek )

takie coś?

0
PTwr napisał(a)

wybrać punkt początkowy
pętla po rzędach tablicy
pętla po komórkach rzędu
rysowanie krechy od punktu początkowego w górę o odpowiedniej długości
kolor wybrać taki żeby pasowało do wysokości ( tak jak na mapach - od zielonego do czerwonego )
przesunąć punkt początkowy w bok
dajemy "enter" dla punktu początkowego ( linia w dół i na początek )

takie coś?

Brawo, na to sam wpadlem juz. Wszystko fajnie tylko nie wiem jak z obliczeniem pozycji danego kwadratu i plaszczyzny ("ziemi") w 3D. I wyrysowanie wszystkiego z uwzglednieniem kamery... Nigdy sie tym nie zajmowalem wiec nie mam zielonego pojecia jak sie za to zabrac. :(

@Misiekd
Szescian z linii moge narysowac. Ale nie moge tego wszystkiego polaczyc w calosc...

0

kąty, obroty, sinusy, cosinusy, trzy osie itd i obracasz punkt podstawy wokół jakiegoś punktu
początkowo możesz "ustawić" mapkę na płask ( w twarz userowi ) punk wbijasz w środek mapki i zaczynasz obroty, po obrotach rysujesz te słupki

takie coś ci się marzy?

0
Ptwr napisał(a)

kąty, obroty, sinusy, cosinusy, trzy osie itd i obracasz punkt podstawy wokół jakiegoś punktu
początkowo możesz "ustawić" mapkę na płask ( w twarz userowi ) punk wbijasz w środek mapki i zaczynasz obroty, po obrotach rysujesz te słupki

takie coś ci się marzy?

Tak. Dodatkowo, kazdy bloczek ma wymiary 40*40px. Dla World[i,j]=3, rysowane sa 3 bloki jeden na drugim. Wspomogl bys ? ;)

0

do tego dodaj powierzchnie zasłonięte =D żeby nie zarysować tego co powinno być z przodu tym z tyłu, mam książkę gdzie są takie bajerki, całkiem zrozumiałe zasady, musiałbym tylko przetłumaczyć z Basica C64 z wstawkami jego asma na Delfinka =D pobawię się tym =]

0
Ptwr napisał(a)

do tego dodaj powierzchnie zasłonięte =D żeby nie zarysować tego co powinno być z przodu tym z tyłu, mam książkę gdzie są takie bajerki, całkiem zrozumiałe zasady, musiałbym tylko przetłumaczyć z Basica C64 z wstawkami jego asma na Delfinka =D pobawię się tym =]

Troche juz zrozumialem pisanie w 3 wymiarach ;)
Bawilem sie troche tym i wyszlo cośtam. Osie są poprzestawiane, rysuje wszystko tak jakby lustrzane odbicie punktow (gorny lewy wierzcholek szescianu to dolny lewy...). Niby pokazuje bloczki jeden na drugim, ale nie ma uwzglednienia kąta kamery (obserwatora), mam tylko pozycje kamery w przestrzeni. Czyli wychodzi na to ze caly czas jest kąt 90 stoni w stosunku do plaszczyzny ktora rysuje. Jeszcze musze znalezc wzory na obrót punktu 3d z innym punktem 3d - czy tak sie robi dowolny obrót kamery? I obliczanie kąta miedzy dwoma punktami w przestrzeni. Zeby rysowac szcianki szescianu ktore aktualnie sa widoczne... Moze ktos mniej wiecej opisac jak takie rzeczy sie robi ?

Jak uzyskać efekt kamery ktora porusza sie po torze tak jakby na "kuli" ? I jest zwrocona caly czas pod tym samym kątem w kierunku srodka plaszczyzny w przestrzeni ;)

Jeszcze jedno pytanie ;) - dajmy na to ze mam kwadrat 100*100 na pozycji 0,0,100 - jak sprawdzić realna pozycje myszy X,Y w kwadracie?

@Ptwr jesli cos ruszysz w tej sprawie to pisz :)

0

sory mało czasu mam ostatnio =] zeskanuję jutro i Ci wyślę, w tej książce jest najprzyjemniejszy opis, na jaki trafiłem ( po polsku ), eliminacji powierzchni zasłoniętych obracania obiektu, kamery i dorzucania perspektywy do tego =D i zapewne szybkie skoro to było na Commodore 64 =D jakoś nigdy nie mogę znaleźć czasu żeby się tym pobawić =]

0
Ptwr napisał(a)

sory mało czasu mam ostatnio =] zeskanuję jutro i Ci wyślę, w tej książce jest najprzyjemniejszy opis, na jaki trafiłem ( po polsku ), eliminacji powierzchni zasłoniętych obracania obiektu, kamery i dorzucania perspektywy do tego =D i zapewne szybkie skoro to było na Commodore 64 =D jakoś nigdy nie mogę znaleźć czasu żeby się tym pobawić =]

Eliminacje powierzni zaslonietych mysle ze mozna by osiagnac tworzac liste polygonów i generować liste w dobrej kolejności rysowania pomijając to co nie widoczne na podstawie kątów. Nie wiem czy to dobre rozwiazanie :) Sa na to jakies wzory?

0

tam jakieś są powyprowadzane =] nie mam teraz dostępu do skanera, jutro zeskanuję =D

0

t czy znacie moze jakies fajne stronki z perspektywami ???? jestem w 6 klasie i włąsnie to przerabialiśmy :-) strasznie mi sie to spodobało szykałam w necie ale nic chodzi m io gotowy juz obrazek ( na początku łatwy) żebym sie mogła od niego odgapić :) mile widziane linki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1