2016年12月18日日曜日

初心者のアルゴリズム ?


やりたいことはあるが、
プログラムでどう表現していいか?わからない。

初期にぶつかるのは for

まず、円をだそうと思った。なにげなく思うのは、
円 を X、Yの場所へ記述  なってことは思いつくと思う。

→ ofCircle(500, 300, 120)
 円を書く呪文がある。
http://www.myu.ac.jp/~xkozima/lab/ofTutorial2.html
http://yoppa.org/ma2_10/1739.html


http://yoppa.org/ma2_10/1638.html
こちらを参考に構造をみていく。
======
//円の座標を記録するための、クラス変数
ofPoint pos;

of~~ というは型の宣言。
クラスと型はどうちがうのかな?

    //座標を初期化
    pos.x = 0;
    pos.y = 0;
pos というのは宣言され、実在するが、
それに、 . どっとをつけて、文字をいれたら、 オブジェクトがふえるのかな? ← これがインスタンス? ちがうな。

あと、setupで宣言しなくても、draw で 宣言 して使うこともできるみたい。

void testApp::draw(){
    //円を描く点をランダムに設定
    ofPoint pos;
    pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));
     
    //円の半径もランダムに
    float radius = ofRandom(1, 10);
     
    //色もランダムに
    ofSetColor(ofRandom(0, 255), ofRandom(0, 255), ofRandom(0, 255));
     
    //設定した場所と半径で、円を描く
    ofCircle(pos.x, pos.y, radius);
}


これのすごいのは、
オブジェクトを宣言しました。そもそもですが、
変数の型のことをクラス というとのことC++では。
型は流派、 いれるものが固定化されている決まり。

ofPoint というクラスは入れるもの、入るものが決まっているはず。。。。

ほら。

ほら。
なんか詳しく書いてありますが、混乱してきた。

わけが、わからなくてしているのはこちら。
ofPoint pos;
pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));


まず、最初の ofPoint pos;  変数宣言なのでよしとしましょう。 次です。

pos.set(ofRandom(0, ofGetWidth()), ofRandom(0, ofGetHeight()));

http://yoppa.org/ma2_10/2032.html
pos  ドッドセット  なんでw? pos のままだとだめでした。  set をしないと


http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10132459665
ここにかいてあった。

typedef ofVec3f ofPoint; と定義されてあるとのこと。
→ ofVec3f こいつに変換されるとのことだが、、、。

ofVec2fは、ofVec3f と別物。数字みたら想像できるかもだが、2は2次元、3は3次元。

※ちなみに、typedef は 型に新しい名前をつけるやつのようです。typedef ofVec3f ofPoint;  こちらリネームされたちゅうことやね。。。

はぁ ながかった。。

遠回りしましたが、
http://openframeworks.cc/documentation/math/ofVec3f/#show_set


呼び出して、設定する機能?のようです。 
この場合はファンクションと呼ばない?
クラス・メソッド?? むずかしいなぁ。









0 件のコメント:

コメントを投稿

Ga4のtest

これを押すとリンクするよ 参考にした記事はこちら