BOXarrows3D: Create a 3D Arrow structure

BOXarrows3DR 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)



RFOC documentation built on Sept. 8, 2023, 6:12 p.m.