ページ 11

無題

Posted: 2009年10月23日(金) 00:06
by min
DrawRotaGraph(~);
  ↓
DrawRotaGraphF(~);

リファレンスにある関数にFを付けた場合、どのような変化になるのでしょうか。
また、引数にあるfはどういう意味なのでしょう。

Re:無題

Posted: 2009年10月23日(金) 03:35
by array
以前にも何度か質問されている方がいるので参考に。
http://www.play21.jp/board/formz.cgi?ac ... &rln=39589

上のスレッドでもおっしゃってますが、引数に変化がでます。


DrawRotaGraph(int x, int y,~);
  ↓
DrawRotaGraphF(float x, float y,~);

後は、まったく同じ引数です。

intとfloatをなんで分けて用意しているのかは知りませんが
多分、処理速度が圧倒的に違うのでわかれているんだと思っています。

まぁー実際の処理速度を気にしてプログラムを考える必要はないですが

自分が使い分ける時は、動く画像を描画する際はDrawRotaGraphF()「 F 」付きを使い
固定して画像を描画する場合はDrawRotaGraph()を使えばいいと思います。

※DrawRotaGraph() で動かすとカクカク動いてしまい
 DrawRotaGraphF() を使うと、滑らかな動きを表現できます。

Re:無題

Posted: 2009年10月25日(日) 00:54
by Justy
 本題とは関係ないんですが。


>多分、処理速度が圧倒的に違うのでわかれているんだと思っています

 DrawRotaGraph()の呼び出しは、内部で DrawRotaGraphF(正確には DrawRotaGraphFの内部関数)に
座標を floatにキャストした上で引き渡されますので速度は全くと言っていいくらい
変わらないですよ。

 何で分かれているかは私にもわかりませんが、関数の命名状態から察するに
多分最初は判りやすく int型で作ってはみたものの、float型の要望が来て付け足した、
とかじゃないでしょうか。



# というか DrawRotaGraph最大の謎は角度指定が何故 doubleなのか、でしょう。