makeCartRect
Create evenly distributed Cartesian points covering a rectangle.
Syntax
rect = makeCartRect(rect_pos, Lx, Ly, theta, num_points)
rect = makeCartRect(rect_pos, Lx, Ly, theta, num_points, plot_rect)
Description
makeCartRect
creates an array of the Cartesian coordinates of points evenly distributed over a rectangle. The position of the rectangle is set by rect_pos
, and its height and width are specified by Lx
and Ly
. If rect_pos
is given as a 2 element vector, the Cartesian rectangle points are returned in 2D. These points are rotated within the plane if an angle theta
is given. If rect_pos
is given as a 3 element vector, the Cartesian rectangle points are returned in 3D assuming the rectangle lies in the x-y plane. The orientation of the 3D points can be adjusted by giving theta
as a 3 element vector specifying the yaw, pitch, and roll of the rectangle. The 2D plot that is displayed after calling makeCartRect([1, 1], 2, 3, 20, 200, true);
is given below.
Inputs
rect_pos |
Cartesian position of the centre of the rectangle given as a two (2D) or three (3D) element vector [m] |
Lx |
Height of the rectangle (along the x-coordinate before rotation) [m] |
Ly |
Width of the rectangle (along the y-coordinate before rotation) [m] |
theta |
Either a scalar (2D) or three element vector (3D) [tx, ty, tz] specifying the orientation of the rectangle [deg]. In 3D, the rotations are specified about x-y'-z'' (intrinsic rotations) or z-y-x (extrinsic rotations). All rotations are counter-clockwise. Can be set to [] if no rotation. |
num_points |
Approximate number of points on the rectangle. This is rounded upwards to ensure the number of points along each side is an integer. |
Optional Inputs
plot_rect |
Boolean controlling whether the Cartesian points are plotted (default = false) |
Outputs
rect |
2 x num_points or 3 x num_points array of Cartesian coordinates (note, num_points is adjusted, as described above) |
See Also
makeDisc
,
makeCartBowl