R: Create a 3D Arrow structure

BOXarrows3D {RFOC} | R Documentation

## Create a 3D Arrow structure

### Description

Create and project and plot 3D arrows with viewing Matrix.

### Usage

    BOXarrows3D(x1, y1, z1, x2, y2, z2, aglyph = NULL, Rview = ROTX(0),
    col = grey(0.5), border = "black", len = 0.7, basethick = 0.05,
    headlen = 0.3, headlip = 0.02)

### Arguments

`x1` | x-coordinates of base of arrows
`y1` | y-coordinates of base of arrows
`z1` | z-coordinates of base of arrows
`x2` | x-coordinates of head of arrows
`y2` | y-coordinates of head of arrows
`z2` | z-coordinates of head of arrows
`aglyph` | glyph structure, default is Z3Darrow
`Rview` | Viewing matrix
`col` | fill color
`border` | Border color
`len` | Length
`basethick` | thickness of the base
`headlen` | thickness of the head
`headlip` | width of the overhanging lip

### Details

Arrows point from base to head.

### Value

Used for graphical side effects.

### Note

Any 3D glyph strucutre can be used

### Author(s)

Jonathan M. Lees <jonathan.lees@unc.edu>

### See Also

Z3Darrow

### Examples

    ## Not run:
    #### animate 10 random arrow vectors

     L   = list(x1 = runif(10, min=-2, max=2),
        y1 = runif(10, min=-2, max=2),
        z1=runif(10, min=-4, max=4),
        x2 = runif(10, min=-2, max=2),
        y2 = runif(10, min=-2, max=2),
        z2=runif(10, min=-4, max=4)
        )
      headlen = .3
      len = .7
      basethick = 0.05
      headlip = .02
      aglyph = Z3Darrow(len = len , basethick =basethick , headlen =headlen , headlip=headlip )

      r1 = 8
      theta = seq(from=0, to=2*360, length=200)
      mex = r1*cos(theta*pi/180)
      mey = r1*sin(theta*pi/180)
      mez = seq(from=r1, to =0 , length=length(mex))
      ##  mez=rep(r1, length=length(mex))

      angz = atan2(mey, mex)*180/pi
      angx = atan2(sqrt(mex^2+mey^2), mez)*180/pi
      pal=c("red", "blue", "green")

    ##  aglyph = gblock

      for(j in 1:length(angz))
        {
          Rview  =    ROTZ(angz[j])
          plot(c(-4,4), c(-4,4), type='n', asp=1); grid()

          BOXarrows3D(L$x1,L$y1,L$z1, L$x2,L$y2,L$z2,  aglyph=aglyph,  Rview=Rview, col=pal)

          Sys.sleep(.1)
        }

    ## End(Not run)

[Package RFOC version 3.4-3 Index]