create_Elliptical_Tube {ETRep}R Documentation

Create a Discrete Elliptical Tube (ETRep)

Description

Constructs a discrete elliptical tube (ETRep) based on specified parameters.

Usage

create_Elliptical_Tube(
  numberOfFrames,
  method,
  materialFramesBasedOnParents = NA,
  initialFrame = diag(3),
  initialPoint = c(0, 0, 0),
  EulerAngles_Matrix = NA,
  ellipseResolution = 10,
  ellipseRadii_a,
  ellipseRadii_b,
  connectionsLengths,
  plotting = TRUE,
  add = FALSE
)

Arguments

numberOfFrames

Integer, specifies the number of consecutive material frames.

method

String, either "basedOnEulerAngles" or "basedOnMaterialFrames", defines the material frames method.

materialFramesBasedOnParents

Array (3 x 3 x numberOfFrames) with pre-defined material frames.

initialFrame

Matrix 3 x 3 as the initial frame

initialPoint

Real vector with three elemets as the initial point

EulerAngles_Matrix

Matrix of dimensions numberOfFrames x 3 with Euler angles to define material frames.

ellipseResolution

Integer, resolution of elliptical cross-sections (default is 10).

ellipseRadii_a

Numeric vector for the primary radii of cross-sections.

ellipseRadii_b

Numeric vector for the secondary radii of cross-sections.

connectionsLengths

Numeric vector for lengths of spinal connection vectors.

plotting

Logical, enables plotting of the ETRep (default is TRUE).

add

Logical, enables overlay plotting

Value

List containing tube details (orientation, radii, connection lengths, boundary points, etc.).

References

Taheri, M., Pizer, S. M., & Schulz, J. (2024). "The Mean Shape under the Relative Curvature Condition." arXiv. doi:10.48550/arXiv.2404.01043

Taheri Shalmani, M. (2024). "Shape Statistics via Skeletal Structures." University of Stavanger. doi:10.13140/RG.2.2.34500.23685

Examples

numberOfFrames<-15
EulerAngles_alpha<-c(rep(0,numberOfFrames))
EulerAngles_beta<-c(rep(-pi/20,numberOfFrames))
EulerAngles_gamma<-c(rep(0,numberOfFrames))
EulerAngles_Matrix<-cbind(EulerAngles_alpha,
                          EulerAngles_beta,
                          EulerAngles_gamma)
tube <- create_Elliptical_Tube(numberOfFrames = numberOfFrames,
                               method = "basedOnEulerAngles",
                               EulerAngles_Matrix = EulerAngles_Matrix,
                               ellipseResolution = 10,
                               ellipseRadii_a = rep(3, numberOfFrames),
                               ellipseRadii_b = rep(2, numberOfFrames),
                               connectionsLengths = rep(4, numberOfFrames),
                               plotting = FALSE)
 # Plotting
 plot_Elliptical_Tube(tube = tube,plot_frames = FALSE,
                      plot_skeletal_sheet = TRUE,
                      plot_r_project = FALSE,
                      plot_r_max = FALSE,add = FALSE)

[Package ETRep version 1.2.0 Index]