viewpoint {rgl} | R Documentation

## Set up viewpoint

### Description

Set the viewpoint orientation.

### Usage

    view3d( theta = 0, phi = 15, ...)
    rgl.viewpoint( theta = 0, phi = 15, fov = 60, zoom = 1,
            scale = par3d("scale"), interactive = TRUE, userMatrix,
            type = c("userviewpoint", "modelviewpoint") )

### Arguments

`theta, phi` | polar coordinates
`...` | additional parameters to pass to `rgl.viewpoint`
`fov` | field-of-view angle in degrees
`zoom` | zoom factor
`scale` | real length 3 vector specifying the rescaling to apply to each axis
`interactive` | logical, specifying if interactive navigation is allowed
`userMatrix` | 4x4 matrix specifying user point of view
`type` | which viewpoint to set?

### Details

The data model can be rotated using the polar coordinates `theta` and `phi`. Alternatively, it can be set in a completely general way using the 4x4 matrix `userMatrix`. If `userMatrix` is specified, `theta` and `phi` are ignored.

The pointing device of your graphics user-interface can also be used to set the viewpoint interactively. With the pointing device the buttons are by default set as follows:

left

  adjust viewpoint position

middle

  adjust field of view angle

right or wheel

  adjust zoom factor

The user's view can be set with `fov` and `zoom`.

If the `fov` angle is set to 0, a parallel or orthogonal projection is used. Small non-zero values (e.g. 0.01 or less, but not 0.0) are likely to lead to rendering errors due to OpenGL limitations.

Prior to version 0.94, all of these characteristics were stored in one viewpoint object. With that release the characteristics are split into those that affect the projection (the user viewpoint) and those that affect the model (the model viewpoint). By default, this function sets both, but the `type` argument can be used to limit the effect.

### See Also

`par3d`

### Examples

    ## Not run:
    # animated round trip tour for 10 seconds

    rgl.open()
    shade3d(oh3d(), color = "red")

    start <- proc.time()[3]
    while ((i <- 36*(proc.time()[3] - start)) < 360) {
      rgl.viewpoint(i, i/4);
    }

    ## End(Not run)

[Package rgl version 0.99.16 Index]