# Re: Changing the orientation of a 3D display

```John-

In addition to Curtis's suggestions, look at
ProjectionControlJ3D.setOrthoView() for predefined
views of each cube face.  Also, here's some code
we use to move to any view:

/**
* Change point of view of a 3D VisAD display,
* using user's input angles (unit = degree):
* For example, a view from the
* southwest has azimuth of 225 and decAngle say 20 to 70 or so.
* Preserves initial scaling and aspect ratios.
*
* @param azimuth  azimuth from "north," clockwise, 0 to 360
* @param decAngle tilt angle down from upward vertical. 0-180
*
*/
public void rotateView(double azimuth, double decAngle) {

if (getDisplayMode() != MODE_3D) return;
// trap input bad values - not necessary since trig
// functions handle values outside of 0-360 properly.
// rotation around z axis, made from user's "azimuth"
double zAngle = 180.0 - azimuth;

try {

// rotate in z
double[] aziMatrix = getDisplay().make_matrix(0.0,
0.0, zAngle, 1.0, 0.0, 0.0, 0.0);
```
double[] combo getDisplay().multiply_matrix(aziMatrix, getProjectionMatrix());
```
// rotate in x
double[] decMatrix = getDisplay().make_matrix(decAngle,
0.0, 0.0, 1.0, 0.0, 0.0, 0.0);

// total rotation matrix is computed and applied
double[] combo2
getDisplay().multiply_matrix(decMatrix, combo);

setProjectionMatrix(combo2);

} catch (Exception exp) {
System.out.println("  rotate view got " + exp);

getProjectionMatrix() and setProjectionMatrix() are just wrappers
around ProjectionControl.getMatrix() and PC.setMatrix().

Don

John Osborne wrote:
```
Is it possible to change the orientation of a 3D display programatically? I want the user, for example, to be able to view just the xy face of a 3D plot (or any other face as well). I also want the user to be able specify the orientation of the plot axes in 3-space and add the ability to wobble or rock a plot. I have been poking around in the VisAD JavaDoc but haven't found anything that seem to do this. TIA
```
John Osborne
NOAA/PMEL

```
```
--
*************************************************************
Don Murray                               UCAR Unidata Program
dmurray@xxxxxxxxxxxxxxxx                        P.O. Box 3000
(303) 497-8628                              Boulder, CO 80307
http://www.unidata.ucar.edu/staff/donm
*************************************************************

```
• 2002 messages navigation, sorted by:
• Search the `visad` archives: