| 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 FigureRenderer 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 figurePaperType property.
Mechanism to Hide Objects from Selection
All graphics objects have a new property calledHitTest 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 thenewplot, 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:
Behavior of newplot
Thenewplot function now always sets the Figure NextPlot property to add after obeying the current setting. Previously, newplot:
NextPlot property if its current value was replacechildren.
NextPlot property to its currently defined default after obeying its value of replace. (While the factory default is add, user-defined settings can change this.)
newplot:
NextPlot property to add after obeying the current setting (regardless of user-defined defaults set for NextPlot).
HandleVisibility property is set to on) when the Figure or Axes NextPlot property is replacechildren.
HandleVisibility property) when the Figure or Axes NextPlot property is replace.
Behavior of clf and cla
The behavior of theclf 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.