Documentation

This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

camdolly

Move camera position and target

Syntax

```camdolly(dx,dy,dz) camdolly(dx,dy,dz,'targetmode') camdolly(dx,dy,dz,targetmode,coordsys) camdolly(ax,...) ```

Description

`camdolly(dx,dy,dz)` moves the camera position and the camera target by the specified amounts `dx`, `dy`, and `dz`.

`camdolly(dx,dy,dz,'targetmode') ` uses the `targetmode` argument to determine how the camera moves:

• `'movetarget'` (default) — Move both the camera and the target.

• `'fixtarget'` — Move only the camera.

`camdolly(dx,dy,dz,targetmode,coordsys)` uses the `coordsys` argument to determine how MATLAB® interprets `dx`, `dy`, and `dz`:

• `'camera'` (default) — Move in the coordinate system of the camera. `dx` moves left/right, `dy` moves down/up, and `dz` moves along the viewing axis. MATLAB normalizes the units to the scene.

For example, setting `dx` to 1 moves the camera to the right, which pushes the scene to the left edge of the box formed by the axes position rectangle. A negative value moves the scene in the other direction. Setting `dz` to 0.5 moves the camera to a position halfway between the camera position and the camera target.

• `'pixels'` — Interpret `dx` and `dy` as pixel offsets. This option ignores `dz`.

• `'data'` — Interpret `dx`, `dy`, and `dz` as offsets in axes data coordinates.

`camdolly(ax,...)` operates on the axes identified by the first argument, `ax`. When you do not specify an axes object, `camdolly` operates on the current axes.

`camdolly` sets the axes `CameraPosition` and `CameraTarget` properties, which in turn sets the `CameraPositionMode` and `CameraTargetMode` properties to `manual`.

Examples

collapse all

Move the camera along the x-axis and y-axis in a series of steps.

```surf(peaks) axis vis3d t = 0:pi/20:4*pi; dx = sin(t)./40; dy = cos(t)./40; for i = 1:length(t) camdolly(dx(i),dy(i),0) drawnow end ```

See Also

Introduced before R2006a

Was this topic helpful?

The Manager's Guide to Solving the Big Data Conundrum

Download white paper