const MinMax Engine::findFrameRotation( const int nbit ) const { MinMax minmax; Skeleton skelWork = skel; for ( int k = -framesPerCycle; k < framesPerCycle; ++k ) { skelWork.rotate( 2*M_PI/(2*framesPerCycle) ); minmax.candidate( skelWork.findFrame( nbit, _x, _y, _color ) ); } minmax.build(); return minmax; }
const MinMax Engine::findFrameTransition( const int nbit ) const { MinMax minmax; Skeleton skelWork( skel1.size() ); for ( int k = -framesPerCycle; k <= 0; ++k ) { const float rate = ( 1 - cos( M_PI*k/framesPerCycle ) ) / 2; skelWork.weightedMix( skel1, skel2, rate ); minmax.candidate( skelWork.findFrame( nbit, _x, _y, _color ) ); } minmax.build(); return minmax; }