プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Processing、ある地点とクリックした位置の距離を何となく計算する【改訂版】
ごめんなさい。

ある地点とクリックした位置の距離を何となく計算する」にて
三平方の定理を使った距離の求め方を書いたのですが、
そのものズバリ!な「dist()」という関数がありました。
dist()関数は2点間の距離を取得する関数です。

ということで「ある地点とクリックした位置の距離を何となく計算する」にて書いたコードは
こっちと差し替えてくださいφ(--)

void setup(){
    size(400,400);
}

void draw(){
    //点を打つ
    point(50,100);
}

void mousePressed() {
    background(255);
    
    //点との距離を求める
//    int kyori = int(sqrt(sq(50 - mouseX) + sq(100 - mouseY)));
    int kyori = int(dist(50, 100 ,mouseX, mouseY));


    //距離を表示
    fill(0);
    text("kyori= " + kyori, mouseX + 10, mouseY);
    noFill();
}


int basicPositionX = 50;
int basicPositionY = 100;

void setup(){
    size(400,400);
    background(255);
}

void draw(){
    //点を打つ
    point(basicPositionX,basicPositionY);
}

void mousePressed() {
    background(255);
    
    //点との距離を求める
    //int kyori = int(sqrt(sq(basicPositionX - mouseX) + sq(basicPositionY - mouseY)));
    int kyori = int(dist(basicPositionX, basicPositionY, mouseX, mouseY));

    
    //距離を表示
    fill(0);
    text("kyori= " + kyori, mouseX + 10, mouseY);
    noFill();
}


int basicPositionX = 50;
int basicPositionY = 100;
int kyori = 10;

void setup(){
    size(400,400);
    background(255);
}

void draw(){
    //丸を描く
    ellipse(basicPositionX,basicPositionY,kyori,kyori);
}

void mousePressed() {
    background(255);
    
    //点との距離を求める
    //int kyori = int(sqrt(sq(basicPositionX - mouseX) + sq(basicPositionY - mouseY)));
    //kyori = int(sqrt(sq(basicPositionX - mouseX) + sq(basicPositionY - mouseY)));
    kyori = int(dist(basicPositionX, basicPositionY, mouseX, mouseY));

    
    //距離を表示
    fill(0);
    text("kyori= " + kyori, mouseX + 10, mouseY);
    noFill();
}

三平方の定理を使って求めるなんて、
わざわざ面倒くさいことやってましたね。
はずかしっ!(*ノノ)きゃっ
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:Processing  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事