create_Elliptical_Tube function

Create a Discrete Elliptical Tube (ETRep)

Create a Discrete Elliptical Tube (ETRep)

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

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

Returns

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

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)

References

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

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