(Quartz Composerは3次元で描けるんだから奥行き方向の演出のためにこんなこと…みたいに思うかもしれないが基本は「やってみたい」から.というそれだけ.)
まぁ時間を周期内で正規化したのはこんな感じ(こちらを参考).inputPeriodは一周期の秒数みたいなつもり.
double value= (self.inputPeriod==0)?0.0:time/self.inputPeriod;NSTimeIntervalってdoubleなんだね.
double abs_double = fabs(value);
int abs_int = (int)abs_double;
double t = abs_double - (double)abs_int;
計算したのはこんな感じ.
NSPoint p0= NSMakePoint(self.inputP0X, self.inputP0Y);NSPointにする必要性はまったくないけどねw.
NSPoint p1= NSMakePoint(self.inputP1X, self.inputP1Y);
NSPoint p2= NSMakePoint(self.inputP2X, self.inputP2Y);
NSPoint p3= NSMakePoint(self.inputP3X, self.inputP3Y);
double c0= (1-t)*(1-t)*(1-t);
double c1= (1-t)*(1-t)*t;
double c2= (1-t)*t*t;
double c3= t*t*t;
double x= c0*p0.x+3*c1*p1.x+3*c2*p2.x+c3*p3.x;
double y= c0*p0.y+3*c1*p1.y+3*c2*p2.y+c3*p3.y;
一応時間依存なのでこんな感じにしてみた.けどよくわかっていない.
+ (QCPlugInTimeMode) timeMode
{
return kQCPlugInTimeModeTimeBase;
}
で,できたので上記のFlashで行われているみたいな感じで色々デコレーションのパッチつけて(編集して)こんな感じ.
(一応Youtubeにあがったがいつまでたっても見れない…投稿してしまうがみれないままかもしれません
追記:フォーマットだか画面サイズだかがわるかったのか撮り直して上げたら結構時間がかかったが表示された.)
別の例:起点と終点が(-0.01, 0), (0.01, 0)として制御点を外側にとった.
0 件のコメント:
コメントを投稿