verify/plot3d
verify approximate equality between two plots
Calling Sequence
Parameters
Description
verify(P, Q, plot3d)
verify(P, Q, 'plot3d'(opts))
P, Q
-
anything, assumed to be PLOT3D data structures
opts
equation(s) of the form option=value where option is one of curves, display, display_floats, feature_floats, features, grid, isosurface, mesh, points, polygons, text, or traversal; specify options for the comparison
The verify(P, Q, plot3d) and verify(P, Q, 'plot3d'(opts)) calling sequences return true if the two PLOT3D data structures compare using the default comparator.
The default comparator determines that two PLOT3D data structures are equal if:
Given two functions, they must have the same name, the same number of arguments, and their arguments must each compare using the default comparator,
Given either two lists or Arrays, their corresponding entries must be equal,
Given two ranges, their endpoints must be compare using the default comparator,
By default, two floating-point numbers are equal if their difference is 0, and
All other objects are compared by using evalb.
If either P or Q is not a PLOT3D data structure then false is returned.
The data structures within a 3-D plot object are separated into two classes, display objects, and feature objects. The data structures, which fall into the first class are CURVES, GRID, ISOSURFACE, MESH, POINTS, POLYGONS, TEXT, and VIEW. All other data structures are considered to be feature data structures.
At each stage, display and feature objects are compared separately, and any features are always compared using the default comparator with any options given by the features option.
The opts argument can contain one or more of the following equations that set unit options.
curves = verification
If this option is given, the set of all CURVES objects are compared using this verification.
display = truefalse
By default, the display objects of a 3-D plot are compared. This can be turned off by setting this option to false.
display_floats = nonnegative or verification
Given two display objects, the default comparator compares floating-point numbers by testing if their difference is 0. If this option is set to a non-negative number, then floats are compared by checking that their difference is less than or equal to the given non-negative number. If this option is any other verification, then two floating-point numbers are compared using this verification.
Common verifications are float(10) or neighborhood.
feature_floats = nonnegative or verification
Given two feature objects, the default comparator compares floating-point numbers by testing if their difference is 0. If this option is set to a non-negative number, then floats are compared by checking that their difference is less than or equal to the given non-negative number. If this option is any other verification, then two floating-point numbers are compared using this verification.
The feature_floats is different from display_floats as the latter may contain floating-point numbers of arbitrary magnitude, whereas floating-point numbers in features are often much more bounded, for example, color values.
features = truefalse
By default, the feature objects of a 3-D plot are compared. This can be turned off by setting this option to false.
grid = verification
If this option is given, the set of all GRID objects are compared using this verification.
isosurface = verification
If this option is given, the set of all ISOSURFACE objects are compared using this verification.
mesh = verification
If this option is given, the set of all MESH objects are compared using this verification.
points = verification
If this option is given, the set of all POINTS objects are compared using this verification.
polygons = verification
If this option is given, the set of all POLYGONS objects are compared using this verification. Otherwise, the default comparator is used to compare POLYGONS objects.
text = verification
If this option is given, the set of all TEXT objects are compared using this verification.
traversal = ordered, unordered, or one_to_one
By default, this option is set to ordered, in which case objects are compared in the same order in both plots. If this option is set to unordered, then it is only necessary that a match be found for each object in the other PLOT3D data structure. If this option is set to one_to_one, then a one-to-one correspondence must be found between data structures in both objects.
The option one_to_one is significantly more expensive than either other test. The option ordered is the least expensive, but is subject to ordering problems, which affect the structure, but not the final 3-D plot.
See Also
plot3d
plot3d/structure
verify
Download Help Document