a-03 計算と変数

2011年4月25日

このエントリーをはてなブックマークに追加

[おさらい] 色を使う

練習: 国旗を描く

flag

size(480, 320);
background(255);
noStroke();
//左長方形(青)
fill(0, 30, 150);
rect(0, 0, 160, 320);
//右長方形(赤)
fill(210, 30, 30);
rect(320, 0, 160, 320);

数値と計算式

数値の代わりに計算式で書くことができる。

05-1

size(400, 200);
ellipse(100, 100, 60, 60); // 中心(100,100)で直径60の円
ellipse(100+200, 100, 60, 60); //上の行で描いた円を「x軸方向に200移動」した円

変数

変数とは:プログラムで使うデータの入れ物のこと。

変数を使ったプログラム

05-2

※「intって何・・・?」などプログラムの記述に関する約束ごとは、じょじょに説明していきます。

size(400, 200);
int x = 100; //中心のx座標を「x」とし、100を代入
int y = 100; //中心のy座標を「y」とし、100を代入
int d = 60; //直径を「d」とし、60を代入
ellipse(x, y, d, d); // 中心(x,y)で直径dの円

直径の値を変更したいとき、1箇所の修正で済むので効率的 (「効率化」がプログラミングの楽しさのひとつ)

int, float データ型

データ型とは:プログラムの中で使うデータである数値や、色や、文字などを区別するための分類のこと。

まず、以下2つのデータ型を覚える

  • int(イント):整数
  • float(フロート):小数

変数の宣言

変数を使うには、変数を「宣言」する必要がある。

int x = 100; //「x」は「int型変数」で、「x」に100を代入する。という意味

= 変数への代入

変数への代入とは:宣言して作った変数の中に、数字や計算結果を納めること。

x = 100; // xに100を代入
x = 100 + 200; // xに「100+200」を代入
x = x + 100; // xに「x+100」を代入(xに100を加えて、xの新しい値とする)
x += 100; // x=x+100 と同じ
x -= 100; // x=x-100 と同じ
x *= 100; // x=x*100 と同じ
x /= 100; // x=x/100 と同じ
x++; // x+=1 (x=x+1)  と同じ
x--; // x-=1 (x=x-1)  と同じ

例)円を3つ並べて描く

05-3

size(400, 200);

int x = 100;
int y = 100;
int d = 60;

ellipse(x, y, d, d);

x += 100; //x=200になる
ellipse(x, y, d, d);

x += 100; //x=300になる
ellipse(x, y, d, d);

println() コンソールに値を表示

コンソール(エディタの下部)に値を表示する

println

int x = 1;
int y = 2;
println(x);
println(y);
x += y;
println(x);

width, height システム変数

システム変数とは:Processingが用意する変数

  • width: ウィンドウの幅
  • height: ウィンドウの高さ

「ウィンドウサイズいっぱいに円を描く」

w200

size(200, 200);
int x = width / 2; //中心のx座標「x」はウィンドウの幅(200)の半分 → 100
int y = height / 2; //中心のy座標「y」ウィンドウの高さ(200)の半分 → 100
int d = width; //直径「d」はウィンドウの幅(200)
ellipse(x, y, d, d); // 中心(x,y)で直径dの円

sizeの値を変更してみる。2行目以降は全く同じコードであるが、違うサイズの円が描かれる。

w400

size(400, 400);
int x = width / 2; //中心のx座標「x」はウィンドウの幅(400)の半分 → 200
int y = height / 2; //中心のy座標「y」ウィンドウの高さ(400)の半分 → 200
int d = width; //直径「d」はウィンドウの幅(400)
ellipse(x, y, d, d); // 中心(x,y)で直径dの円

まとめ

構造

環境

データ

基本データ型

出力

テキストエリア

  • コンソールのテキストエリアに出力 print()
  • コンソールのテキストエリアに出力(新しい行で出力) println()

数学

演算子

このエントリーをはてなブックマークに追加

Archives

以下の記事は、2011年度に筆者が大学での授業で利用していた補足資料です。現在、これらをベースに本ウェブサイトを再構築しています。完了するまで一時的に掲載します。


About

筆者: @mathatelle

ジェネラティブ・アート -Processingによる実践ガイド Processing: A Programming Handbook for Visual Designers and Artists Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction (Morgan Kaufmann Series in Computer Graphics and Geometric Modeling) Processingをはじめよう (Make: PROJECTS) Built with Processing[Ver. 1.x対応版] -デザイン/アートのためのプログラミング入門 Processing アニメーションプログラミング入門 デザイン言語 Processing入門 - 楽しく学ぶコンピュテーショナルデザイン Processingプログラミング入門―Javaベースのオープンソース統合開発環境 ProcessingでかんたんAndroidプログラミング FORM+CODE -デザイン/アート/建築における、かたちとコード Form+Code in Design, Art, and Architecture (Design Briefs) Generative Art: A Practical Guide Using Processing Generative Gestaltung ビジュアライジング・データ ―Processingによる情報視覚化手法 ARプログラミング—Processingでつくる拡張現実感のレシピ— Arduinoをはじめよう 第2版 (Make:PROJECTS) +GAINER―PHYSICAL COMPUTING WITH GAINER Beyond Interaction ―メディアアートのためのopenFrameworksプログラミング入門 ビューティフルビジュアライゼーション ビジュアル・コンプレキシティ ―情報パターンのマッピング