PROJ3D: Project 3D

PROJ3DR Documentation

Project 3D

Description

Project a 3D body after rotation and translation

Usage

PROJ3D(aglyph, M = diag(1, nrow = 4), M2 = diag(1, nrow = 4),
             anorms = list(), zee = c(0, 0, 1))

Arguments

aglyph

glyph structure

M

rotation matrix

M2

rotation matrix

anorms

normals to structure

zee

Up direction of body

Details

This function takes a 3D body, rotates it and projects it for plotting. An example glyph is found in Z3Darrow.

Value

Glyph structure

x,y,z

coordinates of rotated body faces

xp

rotated normal vectors

zd

depth mean value of each face

Author(s)

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

See Also

makeblock3D, ROTZ, ROTY, ROTX, BOXarrows3D, Z3Darrow, TRANmat

Examples

  block1 = matrix(c(0,0,0,
      1,0,0,
      1,0.5,0,
      0,0.5,0,
      0,0,-2,
      1,0,-2,
      1,0.5,-2,
      0,0.5,-2), byrow=TRUE, ncol=3)

    Bblock1 = makeblock3D(block1)

    R3 = ROTX(-40)
    R2 = ROTY(0)
    R1 = ROTZ(20)
    T =  TRANmat(.1, 0, 0 )
    M =     R1  %*% R2  %*%  R3  %*% T

    T2 =  TRANmat(1, 0.5, 0 )
    MT =       T2 %*%   R1  %*% R2  %*%   R3 %*% T

    Z1 =  PROJ3D(Bblock1$aglyph, M=MT,  anorms=Bblock1$anorm , zee=c(0,0,1))



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