slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Positionierung und Ausrichtung der Kamera PowerPoint Presentation
Download Presentation
Positionierung und Ausrichtung der Kamera

Loading in 2 Seconds...

play fullscreen
1 / 8

Positionierung und Ausrichtung der Kamera - PowerPoint PPT Presentation


  • 93 Views
  • Uploaded on

Positionierung und Ausrichtung der Kamera. void balance::kamera_bewegen( float seit, float hoch, float vor) { D3DXVECTOR3 v, s, h, t; v = da_gucke_ich_hin - hier_bin_ich; Erzeugt den Blickrichtungsvektor (v) v.y = 0.0f; D3DXVec3Normalize( &v, &v); Normalisiert v

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Positionierung und Ausrichtung der Kamera' - taya


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide4
void balance::kamera_bewegen( float seit, float hoch, float vor)

{

D3DXVECTOR3 v, s, h, t;

v = da_gucke_ich_hin - hier_bin_ich;Erzeugt den Blickrichtungsvektor (v)

v.y = 0.0f;

D3DXVec3Normalize( &v, &v);Normalisiert v

s = D3DXVECTOR3( -v.z, 0, v.x);s wird berechnet durch 90° Drehungvon v, ist damit normalisiert

h = D3DXVECTOR3( 0, 1, 0);h zeigt nach oben und hat die Länge 1

t = seit*s + hoch*h + vor*v;t wird aus 3 Verschiebefaktoren und 3Verschiebevektoren berechnet

hier_bin_ich += t;wird um t verschoben

da_gucke_ich_hin += t;wird um t verschoben

}

Achtung: +,- und * sind überladene Operatoren.

slide6
void balance::kamera_schwenken( float seit, float hoch)

{

D3DXVECTOR3 blick, normale;

D3DXMATRIX dreh;

blick = da_gucke_ich_hin - hier_bin_ich;Blickwinkelvektor (blick) berechnen

D3DXVec3Normalize( &blick, &blick);Blickwinkelvektor normalisieren

if( blick.x*blick.x + blick.z*blick.z < 0.005)Verhinderung des „Überkopfschwenks“

{

if( ((blick.y > 0) && (hoch > 0)) || ((blick.y < 0) && (hoch < 0)))

hoch = 0.0;

}

D3DXVec3Cross( &normale, &blick, &D3DXVECTOR3( 0.0f, 1.0f, 0.0f));Drehachse (norm) wird berechnet

D3DXMatrixRotationAxis( &dreh, &normale, hoch);Drehmatrix (dreh) wird berechnet.

D3DXVec3TransformNormal( &blick, &blick, &dreh);Drehmatrix wird auf Blickwinkelvektor angewendet

D3DXMatrixRotationY( &dreh, seit);Drehung wird auf die Y-Achse angewendet.

D3DXVec3TransformNormal( &blick, &blick, &dreh);Drehmatrix wird auf Blickwinkelvektor angewendet

da_gucke_ich_hin = hier_bin_ich + blick;neuer Blickpunkt wird berechnet

}

slide8
void balance::kamera_fahrt( float seit, float hoch, float speed)

{

D3DXVECTOR3 delta;

kamera_schwenken( seit, hoch);

delta = da_gucke_ich_hin-hier_bin_ich;Fahrtrichtungsvektor wird berechnet

D3DXVec3Normalize( &delta, &delta);

fahrgeschwindigkeit += speed;Änderung der Fahrtgeschwindigkeit

delta = fahrgeschwindigkeit*delta;Fahrtvektor wir berechnet

hier_bin_ich += delta;Standort wir angepasst

da_gucke_ich_hin += delta;Blickpunkt wird angepasst

}