Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Aproksimacija elipsoida

[es] :: 3D programiranje :: Aproksimacija elipsoida

[ Pregleda: 2990 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

4063
Zaharije Pasalic

Član broj: 19862
Poruke: 29
*.dlp505.bih.net.ba.

Sajt: www.maspic.netfirms.com


Profil

icon Aproksimacija elipsoida24.02.2006. u 18:23 - pre 221 meseci
Kako da aproksimiram elipsoid zadan sa formulom:

Code:

x*x   y*y   z*z
--- + --- + --- = 1
a*a   b*b   c*c


pomocu poligona koji se sastoje od 4 verteksa?
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
222.65.100.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: Aproksimacija elipsoida25.02.2006. u 08:44 - pre 221 meseci
Pitanje nije bas najjasnije, daj malo vise detalja.
Inace, tesko da mozes bilo sta oblo da aproksimiras sa samo cetiri tacke.
Jedino ako si mislio da su zadate cetiri tacke elipse pa da treba da nadjes
parametre iste?
 
Odgovor na temu

Dark Icarus
Goran Lalić
Beograd

Član broj: 19775
Poruke: 428
..shall-bg.customer.sbb.co.yu.



+2 Profil

icon Re: Aproksimacija elipsoida25.02.2006. u 14:30 - pre 221 meseci
Nije li ovome mesto u 3D programiranju?

Zar nismo upravo zbog ovoga odvojili ta dva foruma???
In a game of chess you must never let your opponent see your pieces - Zap
Brannigan
 
Odgovor na temu

dragansm
Dragan Smiljanic

Član broj: 38170
Poruke: 191
212.200.125.*



Profil

icon Re: Aproksimacija elipsoida26.02.2006. u 01:18 - pre 221 meseci
N definise teslaciju, tj. stepen aproksimacije
v je pointer na strukturu
vec3 pos; // vec3 <=> float x,y,z;
float tu, tv;
(imas for free i sfericno mapiranu teksturu, osim koordinata vertexa). Kako mi se cini zelis da koristis quad-ove iz OpenGL za iscrtavanje -- ako je tako obrati paznju sa na redosledi, mozda v[2] i v[3] treba da zamene uloge (najverovatnije)
Code:

for ( int i = 0; i < N; ++i )
   {
      for ( int j = 0; j < N; ++j )
      {
         float npsi0 = i/float(N);
         float npsi1 = ( i + 1 )/float(N);
         float ntheta0 = j/float(N);
         float ntheta1 = ( j + 1 )/float(N);
         float psi0 = npsi0*2.0f*D3DX_PI;
         float psi1 = npsi1*2.0f*D3DX_PI;
         float theta0 = ntheta0*D3DX_PI;
         float theta1 = ntheta1*D3DX_PI;

         v[0].pos.Set( a*sinf( theta0 )*cosf( psi0 ), b*cos( theta0 ), c*sinf( theta0 )*sinf( psi0 ) );
         v[0].tu = npsi0; pv[0].tv = ntheta0;
         v[1].pos.Set( a*sinf( theta0 )*cosf( psi1 ), b*cos( theta0 ), c*sinf( theta0 )*sinf( psi1 ) );
         v[1].tu = npsi1; pv[1].tv = ntheta0;
         v[2].pos.Set( a*sinf( theta1 )*cosf( psi0 ), b*cos( theta1 ), c*sinf( theta1 )*sinf( psi0 ) );
         v[2].tu = npsi0; pv[2].tv = ntheta1;
         v[3].pos.Set( a*sinf( theta1 )*cosf( psi1 ), b*cos( theta1 ), c*sinf( theta1 )*sinf( psi1 ) );
         v[3].tu = npsi1; pv[5].tv = ntheta1;

         v += 4;

      }
   }
 
Odgovor na temu

[es] :: 3D programiranje :: Aproksimacija elipsoida

[ Pregleda: 2990 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.