質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • Processing

    335questions

    Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

processingやってます。コードを解説してくださる方いませんか?

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 630

bird

score 2

内臓カメラで動画をインポートしそれを線で描画するプログラムを
わかりやすく解説するという課題なのですが
void drawに書いてあるプログラムが何を言っているのかさっぱりです。
申し訳ないのですが、初心者にでもわかりやすくご説明ご説明いただけると幸いです。
コードは以下のようになっております。
是非ともよろしくお願いいたします。

import processing.video.*;

Capture cam;

int SPEED = 100000;//speed of render
int TESTS = 10;
float ACCURACY = 100;
float DISTANCE = 100;//line's distance

int MAXTRIES = 20000;

int locTest;
color colTest;
int xTest;
int yTest;
float testTot;

color col;
int loc;
int x;
int y;

int count = 0;
int tries = 0;
boolean newPix = true;

//
void setup(){
size(800,600);
cam = new Capture(this,width,height,24);
background(255); 
strokeWeight(1);
cam.start();

}

void draw(){ 
cam.read();
if(DISTANCE > 35) DISTANCE -= .1;//
if(SPEED < 4000) SPEED ++;//
for(int i = 0; i < SPEED; i++){//
if(newPix || tries > MAXTRIES){//
newPix = false;
tries = 0;
locTest = int(random(cam.pixels.length));
colTest = cam.pixels[locTest ];
xTest = locTest % cam.width;
yTest = locTest / cam.width; 
float rV = colTest >> 16 & 0xFF;//red value
float gV = colTest >> 8 & 0xFF;//green value
float bV = colTest & 0xFF;//blue value
testTot = rV + gV + bV;
}

loc = int(random(cam.pixels.length));
col = cam.pixels[loc];

if(colorTest(col)){ 
x = loc % cam.width;
y = loc/ cam.width;
if(dist(xTest,yTest,x,y) <= DISTANCE){
stroke(colTest,40);
line(xTest,yTest,x,y);
count++;
}
}
if(count > TESTS){
newPix = true;
count = 0;
}
tries++;
}

}
boolean colorTest(color _col){
float rV = _col >> 16 & 0xFF;
float gV = _col >> 8 & 0xFF;
float bV = _col & 0xFF; 
float tot = rV + gV + bV;
float perc = (testTot/tot) *100;
if(perc >= ACCURACY )
{
return true;
}else return false;

}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • キャンセル

  • 退会済みユーザー

    2016/07/28 06:06

    こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

まだ回答がついていません

同じタグがついた質問を見る

  • Processing

    335questions

    Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。