MS_interpolate
MS_INTERPOLATE - Symmetry preserving elasticity interpolation
// Part of MSAT - The Matlab Seismic Anisotropy Toolkit //
Symmetry aware linear interpolation between two elasticity matrices.
[ required_outputs, ... ] = MS_template( required_inputs, ... )
Usage: [ Cint ] = MS_interpolate( C1, C2, frac) Returns an elasticity matrix interpolated frac distance between elasticity matricies C1 and C2.
Notes: A common approach to the interpolation of elasticity matricies is to interpolate elements component-wise. This fails for cases where the elasticity matricies are just rotated versions of each other. The approach taken here is to first rotate the two matricies into a common orientation (the one generated by MS_axes is chosen) before interpolating element-wise (Voigt-Reuss-Hill is used). The two rotations into the common orientation are then interpolated and the interpolated matrix rotated back the the starting orientation. Shoemake's (1985) slerp approach is used to interpolate the orientations. Rotation matricies are converted to quaternions (and back again) using John Fuller's SpinCalc function.
References: Shoemake, K (1985) "Animating rotation with quaternion curves" ACM SIGGRAPH Computer Graphics vol.19 pp.245-254.
See also: MS_AXES, MS_VRH