Skip to contents

Draws nice 3D arrows with cone3ds at their tips.

Usage

arrows3d(
  coords,
  headlength = 0.035,
  head = "end",
  scale = NULL,
  radius = NULL,
  ref.length = NULL,
  draw = TRUE,
  ...
)

Arguments

coords

A 2n x 3 matrix giving the start and end (x,y,z) coordinates of n arrows, in pairs. The first vector in each pair is taken as the starting coordinates of the arrow, the second as the end coordinates.

headlength

Length of the arrow heads, in device units

head

Position of the arrow head. Only head="end" is presently implemented.

scale

Scale factor for base and tip of arrow head, a vector of length 3, giving relative scale factors for X, Y, Z

radius

radius of the base of the arrow head

ref.length

length of vector to be used to scale all of the arrow heads (permits drawing arrow heads of the same size as in a previous call); if NULL, arrows are scaled relative to the longest vector

draw

if TRUE (the default) draw the arrow(s)

...

rgl arguments passed down to segments3d and cone3d, for example, col and lwd

Value

invisibly returns the length of the vector used to scale the arrow heads

Details

This function is meant to be analogous to arrows, but for 3D plots using rgl. headlength, scale and radius set the length, scale factor and base radius of the arrow head, a 3D cone. The units of these are all in terms of the ranges of the current rgl 3D scene.

See also

vectors3d

Other vector diagrams: Proj(), arc(), circle3d(), corner(), plot.regvec3d(), pointOnLine(), regvec3d(), vectors(), vectors3d()

Author

January Weiner, borrowed from the pca3d package, slightly modified by John Fox

Examples

 #none yet