-
1. Data: 2013-11-24 11:18:52
Temat: perspektywa z tyłu
Od: firr <p...@g...com>
jesli chze zrzutaowac i narysowac punkty 3d
na ekranie 2d to po prostu wzorek na perspektywe
ktorego uzywam to cos takiego
if( z > 1.0 )
{
screen_x = (x/z)*500;
screen_y = (y/z)*500;
}
czyli obcinam wszystkie punkty z tylu (a nawet te bardzo bliskie 'oka') a reszte
dziele przez z, wspolczynnik do przemnozenia tutaj 500 jest dobrany
'eksperymentalnie', od niego sa zalezne wlasciwosci
skracajace perspektywy
problem w tym ze chcialbym teraz rysowac nie tylko
punkty lub kulki ale tez kreski, tj najlepiej dla danej kreski przetransformowac oba
punkty do 2d i
nakreslic linie w 2d - czy da sie tak zrobic? jaki
bylby wzorek na pozycje 2d dla punktów z tylu oka?
-
2. Data: 2013-11-26 10:22:37
Temat: Re: perspektywa z tyłu
Od: firr <p...@g...com>
W dniu niedziela, 24 listopada 2013 11:18:52 UTC+1 użytkownik firr napisał:
> jesli chze zrzutaowac i narysowac punkty 3d
>
> na ekranie 2d to po prostu wzorek na perspektywe
>
> ktorego uzywam to cos takiego
>
>
>
> if( z > 1.0 )
>
> {
>
> screen_x = (x/z)*500;
>
> screen_y = (y/z)*500;
>
> }
>
>
>
> czyli obcinam wszystkie punkty z tylu (a nawet te bardzo bliskie 'oka') a reszte
dziele przez z, wspolczynnik do przemnozenia tutaj 500 jest dobrany
>
> 'eksperymentalnie', od niego sa zalezne wlasciwosci
>
> skracajace perspektywy
>
>
>
> problem w tym ze chcialbym teraz rysowac nie tylko
>
> punkty lub kulki ale tez kreski, tj najlepiej dla danej kreski przetransformowac
oba punkty do 2d i
>
> nakreslic linie w 2d - czy da sie tak zrobic? jaki
>
> bylby wzorek na pozycje 2d dla punktów z tylu oka?
Ostatnio eksperymentowalem troche z bezier
patches (BP) i wyrysowac takiego bp gridem
albo wyrasteryzowac jako siatke quadów jest
bardzo prosto
tutaj łata w postaci siatli lini - na moim
prymitywnym ale wlasnym frameworku:
https://dl.dropboxusercontent.com/u/42887985/grid.zi
p
ktos moglby powiedziec czy to działa na win7
win 8
potrzebuje teraz jakiegos malego mesha z kilku
łat, ta konkretna lata to
static float3 p[16] =
{
{80,80,0}, {100,100,1020}, {900,60,30}, {1000,0,0},
0,100,0, 100,100,220, 900,110,30, 1000,100,0,
0,900,0, 100,900,320, 900,910,30, 1000,900,0,
0,1000,0, 100,1000,120, 900,1310,30, 1000,1000,0
};
ktos nie chce sie zabawic w zaprojektowanie jakiegos meszaka? moge to odpalic albo
zrobic
wersje ktora ladowalaby mesze z pliku
-
3. Data: 2013-11-26 18:36:18
Temat: Re: perspektywa z tyłu
Od: firr <p...@g...com>
zrobilem wersje ktora rysuje BP (w postaci druciakow) zdefiniowane w pliku
https://dl.dropboxusercontent.com/u/42887985/beziers
2.zip
ktos moglby powiedziec czy to dziala (nie jest
to zbyt ciekawe eststycznie ale dla mnie jest
ciekawe konceptualnie)
moze zrobie prosty edytor zeby moc ciagac punkty
tworzace mysza
-
4. Data: 2013-11-26 22:42:42
Temat: Re: perspektywa z tyłu
Od: g...@g...com
W dniu wtorek, 26 listopada 2013 18:36:18 UTC+1 użytkownik firr napisał:
> zrobilem wersje ktora rysuje BP (w postaci druciakow) zdefiniowane w pliku
>
> https://dl.dropboxusercontent.com/u/42887985/beziers
2.zip
>
>
> ktos moglby powiedziec czy to dziala (nie jest
> to zbyt ciekawe eststycznie ale dla mnie jest
> ciekawe konceptualnie)
U mnie dziala ladnie zarowno pod windowsem xp na maszynie
wirtualnej jak i na linuksowej implementacji winapi
(tzw. "wine"), tylko w wersji odpalanej na wirtualce
cos mysz wariuje
> moze zrobie prosty edytor zeby moc ciagac punkty
> tworzace mysza
ja do importowania meszow do swojego frameworku napisalem
konwerter ze stanfordzkiego standardu ply, do ktorego
mozna eksportowac z blendera (ale przyznam, ze o dziwo
to byla dosc skomplikowana zabawa, bo trzeba sie bylo
niezle naglowic, zeby interpretowac naglowki; chyba najprostszy
do przetwarzania jest format .obj wavefronta, i chyba blender
tez moze do niego eksportowac)
pzdr
-
5. Data: 2013-11-26 23:10:29
Temat: Re: perspektywa z tyłu
Od: firr <p...@g...com>
W dniu wtorek, 26 listopada 2013 22:42:42 UTC+1 użytkownik g...@g...com
napisał:
> W dniu wtorek, 26 listopada 2013 18:36:18 UTC+1 użytkownik firr napisał:
>
> > zrobilem wersje ktora rysuje BP (w postaci druciakow) zdefiniowane w pliku
>
> >
>
> > https://dl.dropboxusercontent.com/u/42887985/beziers
2.zip
>
> >
>
> >
>
> > ktos moglby powiedziec czy to dziala (nie jest
>
> > to zbyt ciekawe eststycznie ale dla mnie jest
>
> > ciekawe konceptualnie)
>
>
>
> U mnie dziala ladnie zarowno pod windowsem xp na maszynie
>
> wirtualnej jak i na linuksowej implementacji winapi
>
> (tzw. "wine"), tylko w wersji odpalanej na wirtualce
>
> cos mysz wariuje
>
>
>
> > moze zrobie prosty edytor zeby moc ciagac punkty
>
> > tworzace mysza
>
>
>
> ja do importowania meszow do swojego frameworku napisalem
>
> konwerter ze stanfordzkiego standardu ply, do ktorego
>
> mozna eksportowac z blendera (ale przyznam, ze o dziwo
>
> to byla dosc skomplikowana zabawa, bo trzeba sie bylo
>
> niezle naglowic, zeby interpretowac naglowki; chyba najprostszy
>
> do przetwarzania jest format .obj wavefronta, i chyba blender
>
> tez moze do niego eksportowac)
>
>
dorobilem wersje gdzie mozna przezuwac punkty
- spod klawiszy tak wiec niezbyt wygodnie
https://dl.dropboxusercontent.com/u/42887985/beziers
3.png
https://dl.dropboxusercontent.com/u/42887985/beziers
3.zip
a pod nowszymi windami nie dziala?
nawet dobre to jest do obserwowania jak zachowuja
sie powierzchnie w zaleznosci od rozmieszczenia punktow
-
6. Data: 2013-11-26 23:47:08
Temat: Re: perspektywa z tyłu
Od: firr <p...@g...com>
chwilowo mnie to troche zmeczylo ale taki edytor do klecenia ksztaltow z takich lat
mozna by zrobic nie jest to tak duzo roboty - przynajmniej przesuwanie punktów
myszą, bo moze troche gorzej ze sklejaniem łat... (pozatym program jest troche
zabugowany,
czasem rzutowanie linie 3d na 2d jak linie ma jeden punkt za kamerą zle dziala i
linie sie odksztalcają,
ruch myszy jest tez zle obslugiwany bo kursor nie jest wylaczony tylko ukryty i
klipniety do rozmiaru okna - juz nie pamietam ale mialem z tym jakis problem a czesto
wole robic cos nowego i olewam drobne bugi
-
7. Data: 2013-11-27 11:19:22
Temat: Re: perspektywa z tyłu
Od: firr <p...@g...com>
>
> ruch myszy jest tez zle obslugiwany bo kursor nie jest wylaczony tylko ukryty i
klipniety do rozmiaru okna - juz nie pamietam ale mialem z tym jakis problem a czesto
wole robic cos nowego i olewam drobne bugi
w najwieksza kabałe wdalem sie wlasnie z ta myszą
- jak kiedys to robilem 9tj poruszanie kamery myszą
9potrzebne da informacje o mysz_dx, mysz_dy) ktos
mi poradzil ze to robi sie tak ze sie inwizibluje kursor, mouse_dx oblicza sie jako
roznice mouse_x-mouse_perv_x (te dane x y leca z eventa mouse
move) i tylko sprawdza czy nie wyszedl z obszaru i
jak wyszedl to sie wysyla SetCursorPos(centumekranu) - jest to
oczywiscie magadebilizm ale posluchalem tej durnej rady i tak zrobilem [sam w zyciu
bym tak nie zrobil ale tak to jest jak sie slucha glabow z netu i z niewiadomych
powodow zastosuje do ich rady] - i teraz tkwie w tym
badziewiu bo nie che mi sie tego robic od nowa
(bo o ile ten sposob liczenie mouse_dx, mouse_dy
dziala to jako ze na SetCursorPos(centumekranu)
tez leci ewent to wtedy ten przesuwany obiekt
po prostu wraca tak jakbym ruszal mysza choc nia
nie ruszam - w oryginalnym kodzie chyba to wracania badz co badz musialem
odfiltrowac, bo kamera niby nie wraca ale to jesttak durne
ze nawet na pierwszy rzut oka nie wiedze jak]
- doswiadczenie jedyne w swoim rodzaju bo poza
tym przypadkiem nie mam w calym frameworku nic
podobnego
wie moze ktos przy okazji jak to mozna zrobic lepiej ? (nie mam narazie czasu
poszperac w google)