# orient_feather: Determine the feather orientation In AvInertia: Calculate the Inertial Properties of a Flying Bird

## Description

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

## Usage

 `1` ```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.

Christina Harvey

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31``` ```# 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) ```

AvInertia documentation built on July 22, 2021, 9:08 a.m.