Release 11 New Features      

Visualization Enhancements

Support for OpenGL Renderers

The OpenGL renderer is available on many computer systems. This renderer is generally faster than MATLAB's painters or Z-buffer renderers. If your system has graphics hardware that is available to OpenGL, MATLAB uses it to achieve even greater performance improvements. This results in greatly improved drawing performance, particularly with graphics cards that support OpenGL. See the Figure Renderer property in the online MATLAB Function Reference for more information.

New View Control Commands

MATLAB 5.2 contained a number of new commands that simplify camera positioning and aspect ratio control. These commands implement operations similar to those associated with movie camera operation - dollying, panning, rolling, as well as some that are more typically associated with computer graphics, such as orbiting the camera around the scene and selecting a method for projecting the three-dimensional scene on the computer screen.

Complex Camera Operations

This table lists commands that simplify the process of moving the camera in a well defined manner through three-dimensional space.

Function or Property
Purpose
camdolly
Move camera position and camera target.
camorbit
Orbit about camera target.
campan
Rotate camera target about camera position.
camroll
Rotate camera about viewing axis.
camzoom
Zoom camera in or out.

Camera and Axis Control

This table lists new commands that provide a convenient way to set axes properties. These properties control camera positioning as well as axis limits and aspect ratio.

Function or Property
Purpose
campos
Set or get camera position.
camproj
Set or get projection type.
camtarget
Set or get camera target.
camup
Set or get camera up-vector.
camva
Set or get camera view angle.
daspect
Set or get data aspect ratio.
pbaspect
Set or get plot box aspect ratio.
xlim
Set or get the current x-axis limits.
ylim
Set or get the current y-axis limits.
zlim
Set or get the current z-axis limits.

New Lighting Convenience Commands

MATLAB 5.2 added two new commands to simplify the placement of light objects in the axes.

Function or Property
Purpose
camlight
Create or positition a light object in the camera's coordinate system.
lightangle
Create or position a light object in spherical coordinates.

Support for Predefined Paper Types

MATLAB supports a number of new predefined paper types. For a list of these paper types, see the figure PaperType property.

Mechanism to Hide Objects from Selection

All graphics objects have a new property called HitTest that enables you to determine if this object can become the current object or in appropriate cases, the current figure or current axes (see the figure CurrentObject and CurrentAxes properties and the root CurrentFigure property). This feature is useful to exclude certain graphics objects from user interaction (for example, to prevent MATLAB from selecting text annotations that overlay an image as the user clicks on the image to obtain information returned by a callback routine). See the HitTest property for an example.

New Behavior for newplot, clf, and cla

The behavior of the newplot, clf, and cla commands is now clearly defined with respect to hidden-handle objects. There are basically three options when drawing graphics in existing figures:

These features are particularly useful for protecting Uicontrol objects that compose part of a user interface constructed with MATLAB.

Behavior of newplot

The newplot function now always sets the Figure NextPlot property to add after obeying the current setting. Previously, newplot:

With MATLAB 5.2, newplot:

Behavior of clf and cla

The behavior of the clf command without the reset argument has not changed: clf deletes all children of the current Figure whose handles are not hidden (i.e., their HandleVisibility property is set to on).

clf reset now deletes all children of the current Figure, regardless of the setting of their HandleVisibility property. In addition, clf reset also resets all Figure properties to their defaults with the exception of Position, Units PaperPosition, and PaperUnits. Previously, clf reset deleted only handle-visible objects.

cla behaves in a way directly analogous to that of clf: cla deletes all children of the current Axes whose handles are not hidden (i.e., their HandleVisibility property is set to on).

cla reset deletes all children of the current Axes, regardless of the setting of their HandleVisibility property. In addition, cla reset also resets all Axes properties to their defaults with the exception of Position and Units.



[ Previous | Next ]