# Betrachterstandpunkt verschieben



## Campino (19. Feb 2005)

hi, 
ich habe eine Kamera mit Betrachterstandpunkt (b) und einem Punkt (c), auf den man guckt. Jetzt will ich, dass sich beide gleichmäsig zur Seite verschieben. Dabei ist "Seite" rechtwinklig zur Linie bc, diese aber vermutlich zu keiner Achse... Wie mache ich dass? 

Stellt es euch so vor:

```
b2
    b1              c2
                   c1
```

c1 und b1 sind vor dem verschieben, die anderen beiden danach


----------



## Illuvatar (19. Feb 2005)

Müsste das nicht gehen, wenn du ganz einfach die translation-Komponenten des Transform3D veränderst und die rotation belässt? (Falls das kein J3D ist, müsste in anderen Libs ähnlich funktionieren)


----------



## Campino (19. Feb 2005)

Illuvatar hat gesagt.:
			
		

> Müsste das nicht gehen, wenn du ganz einfach die translation-Komponenten des Transform3D veränderst und die rotation belässt? (Falls das kein J3D ist, müsste in anderen Libs ähnlich funktionieren)



Leider hab ich keine Rotation, diese wird über den Punkt auf den geguckt wird und den, von dem aus geguckt wird, festgelegt.


----------



## Oxygenic (21. Feb 2005)

RotationPathInterpolator für beide!?


----------



## Campino (21. Feb 2005)

Oxygenic hat gesagt.:
			
		

> RotationPathInterpolator für beide!?



Was genau meinst du?

Ich habe kein Java3D sondern JOGL.


----------



## Beni (21. Feb 2005)

Juhu, JOGL :-D

Da musst du die Matrix verändern, bevor du die Punkte zeichnest:

```
gl.glPushMatrix();
		// Alle Punkte die nun gezeichnet werden, sind verschoben
		gl.glTranslated( -x, -y, -z );

		gl... // hier deine Punkte zeichnen

		// Die Verschiebung aufheben.
		gl.glPopMatrix();
```


----------



## Campino (21. Feb 2005)

whow...stimmt...

Aber: Warum? eigentlich werden die Punkte doch auch paralel zu einer Achse verschoben, was wenn die Blickrichtung nicht perallel ist, nicht funktionieren dürfte, tut's aber...

EDIT: geht doch nicht, genau oben beschriebenes tritt ein...


----------



## Oxygenic (1. Mrz 2005)

Campino hat gesagt.:
			
		

> Ich habe kein Java3D sondern JOGL.



Ich würde solch essentielle Informationen auch immer erst mal verschweigen :-/


----------

