Top Banner
プログラミング入門 Processingプログラミング 4九州産業大学 理工学部情報科学科 神屋郁子 ( [email protected] ) 後ろ5列は着席禁止 3人掛けの中央は着席禁止 時限 クラス 1 機械(クラス32 機械(クラス14 電気(B1B24回の内容 前回の質問への回答 マウスの操作と図形の描画:メソッド 小テスト 2 前回の質問から(1/2) lineの使い方 line(x1, y1, x2, y2); line(10,20,30,40); (10,20)(30,40)の間に線を引く 図形を傾けるには rotateを調べる(9週に扱います。) 曲線 bezier を調べる。4点のx,y座標のデータ bezier(85, 20, 10, 10, 90, 90, 15, 80); 半円 arc(x, y, , 高さ, 開始角度, 終了角度); arc(50, 55, 50, 50, 0, HALF_PI); 3 前回の質問から(2/2) rectquadの違い どちらも4角形ですが、rectは線が水平と垂直。 trianglequadの数値 リファレンスを見てください。(まず調べよう) 人によって進度や難易度が違うので全体には詳しく説明しません。遠慮な く個別で、質問してください。 x,y座標のペアがtriangle(三角形)だと3quad(四角形)だと4背景色 background(,,); 背景を2色に backgroundは、単色、または、画像。 単色以外は、画像を使うと良い。 画像は10週目に説明。 4
10

プログラミング入門 Processingプログラミングkamiya/pp/pp2018-pp4.pdfプログラミング入門 Processingプログラミング 第4回 九州産業大学 理工学部情報科学科

Jan 28, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • プログラミング入門Processingプログラミング

    第4回九州産業大学 理工学部情報科学科

    神屋郁子( [email protected] )

    後ろ5列は着席禁止3人掛けの中央は着席禁止

    時限 クラス水1 機械(クラス3)水2 機械(クラス1)水4 電気(B1、B2)

    第4回の内容• 前回の質問への回答• マウスの操作と図形の描画:メソッド• 小テスト

    2

    前回の質問から(1/2)• lineの使い方

    • line(x1, y1, x2, y2);• 例 line(10,20,30,40); (10,20)と(30,40)の間に線を引く

    • 図形を傾けるには• rotateを調べる(9週に扱います。)

    • 曲線• bezier を調べる。4点のx,y座標のデータ• 例 bezier(85, 20, 10, 10, 90, 90, 15, 80);

    • 半円• arc(x, y, 幅, 高さ, 開始角度, 終了角度);• 例 arc(50, 55, 50, 50, 0, HALF_PI);

    3

    前回の質問から(2/2)• rectとquadの違い

    • どちらも4角形ですが、rectは線が水平と垂直。• triangleやquadの数値

    • リファレンスを見てください。(まず調べよう)• 人によって進度や難易度が違うので全体には詳しく説明しません。遠慮な

    く個別で、質問してください。• x,y座標のペアがtriangle(三角形)だと3つquad(四角形)だと4つ

    • 背景色• background(赤,緑,青);

    • 背景を2色に• backgroundは、単色、または、画像。• 単色以外は、画像を使うと良い。• 画像は10週目に説明。

    4

  • 前回の復習 命令(メソッド)• 命令の記述

    命令の名前(データ1,データ2,データ3,…);• 例size(360,360);rect(50,50,50,50);noStroke();

    5

    データの個数は命令によって違う。データがない場合もある。

    命令の名前(); の形

    命令をまとめて新たな命令を作る

    6

    自動販売機のところに行くコインを入れるジュースを選ぶジュースを取り出す

    まとめてジュースを買うという命令を作りたい

    ジュースを買う

    命令を作る• 命令を作るときの書き方

    void 命令の名前() {文1;文2;文3;…

    }

    実行する処理

    7

    動きのあるプログラム:構造を作る• setupとdrawという命令を作る

    • 前回の書き方

    • 今回の書き方

    8

    実行したい処理(設定や描画の命令を並べた)

    void setup {最初に一度実行したい処理(初期設定)

    }void draw {

    繰り返し実行したい処理(描画)}

  • プログラムを構造にする• 命令を並べて命令を作る

    9

    void setup(){最初に1度実行したい処理

    (初期設定)}

    void draw(){繰り返し実行したい処理

    (描画)}

    setupとdrawという2つの命令を作ることで動きのあるプログラムを作ることができる。

    setupとdrawという命令の名前は決まっている。

    マウスポインタの位置ellipse(0, 0, 50, 50);• 数値はすべて0や50という数値• 座標は変化しないellipse(mouseX, mouseY, 50, 50);• mouseXやmouseYは、現在のマウスの座標が数値として格納されている変数

    • 値が変化するので座標も変化する変数は次回詳しく

    10

    11

    void setup(){size(256, 256);noStroke();frameRate(30);

    }

    void draw(){fill(mouseX, 0, 0);ellipse(mouseX, mouseY, 50, 50);

    }

    1. 動きのあるプログラム1マウス操作で画像を描く 命令(メソッド)をつくる/つかう

    • Processingで用意されている命令をつかう• size(360, 360); • rect(50, 50, 50, 50);

    • Processingで決められている命令をつくる• Processingが実行時にその命令を勝手に使う• void setup() { …} void draw() { … }

    • 自分で命令をつくり、つかう• void fade() { … } fade();

    12

  • 構造を理解する

    13

    void setup(){最初に1度実行したい処理

    (初期設定)}

    void draw(){fade();繰り返し実行したい処理

    (描画)}

    void fade(){

    }

    自分で名前を付けた命令(fade)を作る。

    setupとdrawという命令の名前は決まっている。

    自分で名前を付けた命令(fade)を描画の処理の中で使う。

    void draw(){fade();fill(mouseX, 99, 99);float speed = dist(mouseX, mouseY, pmouseX, pmouseY);ellipse(mouseX, mouseY, speed, speed);

    }

    void fade(){fill(255, 255, 255, 5);rect(0, 0, width, height);

    }

    14

    3. フェードアウト(一部)fadeの命令を使う

    fadeの命令を作る

    int ct = 0;

    void setup(){size(360,360);frameRate(30);

    }

    void draw(){ct = (ct + 1) % 360;stroke(255, 0, 0);line(180, 180, 180 + 180*sin(radians(ct)),

    180+180*cos(radians(ct))); }

    15

    5. 動きのあるプログラム2int count = 0;

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

    }

    void draw(){background(0);count++;for(int i = 0; i < 20; i++){

    stroke(0, (((i+count) * 20) % 250),0);ellipse(200,200,20*i, 20*i);

    }16

    5. 動きのあるプログラム3

    for文で複数の円を描く(繰り返し)

  • プログラムの提出(演習点)• 動きのあるプログラムを作ってみよう!• 1、3、5、7のどれかを改良したものを提出• K’s Lifeのレポート機能から• 締め切りは6日後の23:59

    • それ以降も受け取るが減点する• もっと改良したくてもこの時間に一度提出しよう• (削除して提出しなおし可能)

    • 評価はK’s Life上ではしない

    17

    提出する内容• 以下をコメントとして入力

    • 今回の内容の概要(1,3,5,7のどれを改良したか)、工夫した点(どのように改良したか)

    • 質問(何かあれば)・感想(簡単だった・難しかったなど)• 入らない場合は3つ目の提出ファイルとして追加してもよい

    • 提出ファイルとして以下の2つ• プログラム(*.pde)• 実行画像(PNGまたはJPG)

    • 提出ファイルの名称にはそれぞれ学籍番号を入力18

    プログラミング入門で提出するレポート• 講義で指定された内容のファイルを提出

    • 作成したプログラム本体(.pdeファイル)• プログラムは問題ごとに保存しておく

    • プログラムを実行した際の画像(.pngファイル)• 画像は、提出するプログラムのみスクリーンショットを撮って保存する

    • K’s Lifeで提出

    19

    画像ファイルの保存方法

    20

  • フォルダの作成(初回のみ実施)(1/4)• ツールバーの中の「フォルダ」のアイコンをクリック

    21

    フォルダの作成(初回のみ実施)(2/4)• 右側の「ピクチャ」のアイコンをクリックし、「新しいフォルダー」のアイコンをクリック

    22

    フォルダの作成(初回のみ実施)(3/4)• 新しいフォルダーが作成される

    23

    フォルダの作成(初回のみ実施)(4/4)• フォルダの名前を「プログラミング入門」に変更する

    24

  • 画像ファイルの保存方法(1/6)• 「ここに入力して検索」にSnipping Toolと入力し起動

    • Snぐらいまで入力すると出てきます• クリックして起動

    25

    画像ファイルの保存方法(2/6)• モードから、[ウィンドウの領域切り取り]を選択

    26

    画像ファイルの保存方法(3/6)• [新規作成]をクリックし、実行画面を選択してクリック

    27

    画像ファイルの保存方法(4/6)• クリックした画像が選択される

    28

  • 画像ファイルの保存方法(5/6)• [ファイル]→[名前をつけて保存]を選択

    29

    画像ファイルの保存方法(6/6)•プログラミング入門のフォルダの下に、プログラムと同じファイル名(例:pp03p2)で保存

    30

    K’s Lifeでの提出方法

    31

    K’s Lifeでの提出方法• K’s Lifeにログインし、ホーム画面の提出物最新情報から、プログラミング入門のレポートページをクリック

    32

    スクリーンショットの都合上、「情報ネットワーク特論」という科目名になっていますが、「プログラミング入門」という科目のレポートが届いています。

  • K’s Lifeでの提出方法• レポートタイトルをクリック

    33

    K’s Lifeでの提出方法• [提出レポート]にプログラム本体と画像ファイルの2つを提出、[コメント]に「以下をコメントとして入力」で書かれた内容を入力し、提出

    34

    K’s Lifeでの提出方法• プログラム本体、画像ファイルともに[ファイルを選択]をクリックし、提出するファイルを選択(画像はプログラムを選択した画面)

    35

    提出するファイルの保存場所は次のページを参考に

    Processingのフォルダは…• 左側の一覧の[PC]をクリックして[ドキュメント]をクリックし、[Processing]というフォルダを選択

    36

  • プログラミング入門のフォルダは…• [PC]の[ピクチャ]をクリックし、[プログラミング入門]というフォルダを選択

    37

    K’s Lifeでの提出方法• ファイルがアップロードされたら、名称にそれぞれ自分の学籍番号を記入(必須)

    38

    K’s Lifeでの提出方法• コメントを記入(なければ書かなくて良い)

    39

    K’s Lifeでの提出方法• [レポートを提出]ボタンを押して提出完了

    40