orient_feather {AvInertia}R Documentation

Determine the feather orientation

Description

Code that returns the orientation of each primary and secondary feather on the wing.

Usage

orient_feather(no_pri, no_sec, Pt1, Pt2, Pt3, Pt4, Pt8, Pt9, Pt10, Pt11, Pt12)

Arguments

no_pri

a scalar representing the amount of primary feathers.

no_sec

a scalar representing the amount of secondary feathers.

Pt1

a 1x3 vector (x,y,z) representing the point on the shoulder joint (m).

Pt2

a 1x3 vector (x,y,z) representing the point on the elbow joint (m).

Pt3

a 1x3 vector (x,y,z) representing the point on the wrist joint (m).

Pt4

a 1x3 vector (x,y,z) representing the point on the end of carpometacarpus (m).

Pt8

a 1x3 vector (x,y,z) representing the point on tip of most distal primary (m).

Pt9

a 1x3 vector (x,y,z) representing the point on the tip of the last primary to model as if it is on the end of the carpometacarpus (m).

Pt10

1x3 vector (x,y,z) representing the point on tip of last primary to model as if it was distributed along the carpometacarpus (m). Usually the first secondary feather tip.

Pt11

1x3 vector (x,y,z) representing the point on tip of most proximal secondary feather (m).

Pt12

1x3 vector (x,y,z) representing the point on exterior shoulder position (wing root leading edge) (m).

Value

a list called "feather". This contains three matrices.

  1. "loc_start" a matrix defining the 3D point where each feather starts. Rows are the different feathers and columns are x, y, z coordinates respectively.

  2. "loc_end" a matrix defining the 3D point where each feather end. Rows are the different feathers and columns are x, y, z coordinates respectively.

  3. "normal" a matrix that gives the vector that defines the normal to each feather plane. Rows are the different feathers and columns are x, y, z vector directions respectively.

Author(s)

Christina Harvey

Examples

# refer to the vignette
library(AvInertia)

# load data
data(dat_id_curr, package = "AvInertia")
data(dat_bird_curr, package = "AvInertia")
data(dat_feat_curr, package = "AvInertia")
data(dat_bone_curr, package = "AvInertia")
data(dat_mat, package = "AvInertia")
data(clean_pts, package = "AvInertia")

# 1. Determine the center of gravity of the bird's torso (including the legs)
dat_torsotail_out = massprop_restbody(dat_id_curr, dat_bird_curr)
# 2. Calculate the inertia of the flight feathers about the tip of the calamus
feather_inertia <- compute_feat_inertia(dat_mat, dat_feat_curr, dat_bird_curr)
# 3. Determine the center of gravity of one of the bird's wings
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = 0)
# Visualize the center of gravity of each wing component in the x and y axis
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = "yx")
# or the y and z axis
dat_wing_out      = massprop_birdwing(dat_id_curr, dat_bird_curr,
dat_bone_curr, dat_feat_curr, dat_mat, clean_pts,
feather_inertia, plot_var = "yz")
# 4. Combine all data and obtain the center of gravity, moment of inertia
# and principal axes of the bird
curr_full_bird      = combine_inertialprop(dat_torsotail_out,dat_wing_out,
dat_wing_out, dat_id_curr, dat_bird_curr, symmetric=TRUE)


[Package AvInertia version 0.0.2 Index]