Axis3d

ABSTRACT

Generates a three-dimensional axis mesh with ticks, labels, and units along the X, Y, and Z axes on a specified plane.

REMARK

In my opninion, using a left handed coordinate system looks better in 3D than a right handed one, so I generally recommend setting the pos_y_axis to be {0,-1,0}

PARAMETERS
centerA 3-vector indicating the center coordinates of the axis
centerA 3-vector indicating the center coordinates of the axis
pos_x_axisA 3-vector indicating the direction of the positive X-axis
pos_y_axisA 3-vector indicating the direction of the positive Y-axis
pos_z_axisA 3-vector indicating the direction of the positive Z-axis
x_unitUnit for the X-axis
x_radRadius of the X-axis
x_unitUnit for the X-axis
x_minMinimum value for the X-axis (should be <= 0)
x_maxMaximum value for the X-axis (should be >= 0)
x_unitUnit for the X-axis
x_minMinimum value for the X-axis (should be <= 0)
x_maxMaximum value for the X-axis (should be >= 0)
x_tick_stepStep size for ticks on the X-axis (measured in axis coordinates)
x_labelA textual label for the X-axis (displayed next to the end of the positive X-axis)
x_labelA textual label for the X-axis (displayed next to the end of the positive X-axis)
x_label_rateRate for displaying X-axis labels (numeric label assigned every x_label_rate ticks)
y_unitUnit for the Y-axis
y_radRadius of the Y-axis
y_unitUnit for the Y-axis
y_minMinimum value for the Y-axis (should be <= 0)
y_maxMaximum value for the Y-axis (should be >= 0)
y_unitUnit for the Y-axis
y_minMinimum value for the Y-axis (should be <= 0)
y_maxMaximum value for the Y-axis (should be >= 0)
y_tick_stepStep size for ticks on the Y-axis (measured in axis coordinates)
y_labelA textual label for the Y-axis (displayed next to the end of the positive Y-axis)
y_labelA textual label for the Y-axis (displayed next to the end of the positive Y-axis)
y_label_rateRate for displaying Y-axis labels (numeric label assigned every y_label_rate ticks)
z_unitUnit for the Z-axis
z_radRadius of the Z-axis
z_unitUnit for the Z-axis
z_minMinimum value for the Z-axis (should be <= 0)
z_maxMaximum value for the Z-axis (should be >= 0)
z_unitUnit for the Z-axis
z_minMinimum value for the Z-axis (should be <= 0)
z_maxMaximum value for the Z-axis (should be >= 0)
z_tick_stepStep size for ticks on the Z-axis (measured in axis coordinates)
z_labelA textual label for the Z-axis (displayed next to the end of the positive Z-axis)
z_labelA textual label for the Z-axis (displayed next to the end of the positive Z-axis)
z_label_rateRate for displaying Z-axis labels (numeric label assigned every z_label_rate ticks)
offSpecifies to keep the grid off (and instead display ticks)
onSpecifies to keep the grid on (and not display ticks)
tagA vector of numbers used as the axis's tag
colorA 4-vector representing the color for rendering the axis
RETURN

A mesh-tree according to the specified specifications

DECLARATION
func Axis3d([plane] {[main] {center}, [plane] {center, pos_x_axis, pos_y_axis, pos_z_axis}}, [x] {[main] {x_unit, x_rad}, [interval] {x_unit, x_min, x_max}, [step] {x_unit, x_min, x_max, x_tick_step}}, [x_labels] {[auto] {x_label}, [step] {x_label, x_label_rate}}, [y] {[main] {y_unit, y_rad}, [interval] {y_unit, y_min, y_max}, [step] {y_unit, y_min, y_max, y_tick_step}}, [y_labels] {[auto] {y_label}, [step] {y_label, y_label_rate}}, [z] {[main] {z_unit, z_rad}, [interval] {z_unit, z_min, z_max}, [step] {z_unit, z_min, z_max, z_tick_step}}, [z_labels] {[auto] {z_label}, [step] {z_label, z_label_rate}}, [grid] {[off] {}, [on] {}}, tag, color)