Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ガイダンス - Bio Media Art Workshopについて Processingの復習
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Atsushi Tadokoro
June 02, 2014
Technology
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ガイダンス - Bio Media Art Workshopについて Processingの復習
Atsushi Tadokoro
June 02, 2014
More Decks by Atsushi Tadokoro
See All by Atsushi Tadokoro
デザイン言語総合講座 - クリエイティブ・コーディング
tado
0
2.8k
Tumblrを使う4 - Webサイトを構成する、固定ページとタグ
tado
0
1.8k
Tumblrを使う3- カスタムHTMLテーマの作成
tado
0
460
Processing.jsによるデータの可視化と生成的表現
tado
1
1.9k
Tumblrを使う2 - テーマをカスタマイズする
tado
0
380
Touchéの仕組みを理解 - ProcessingとArduinoの連携
tado
0
2.4k
Github Pagesで作品を公開、Automatic Page Generatorでサイトを生成
tado
0
1.6k
TumblrでWebサイトを作成
tado
0
720
bmaw14 第2回: Touchéセンサーを使う1 Touchéセンサーを作成する
tado
0
2.2k
Other Decks in Technology
See All in Technology
クラウドファンディング版StackChan 3体(4体)をインタラクティブな体験型作品にして展示もした話 / スタックチャンお誕生日会2026
you
PRO
0
180
現場のトークンマネジメント
dak2
1
190
40代で“やっとエンジニアになれた”――閉じた学びを開き、空の青さを知る / 20260628 Naoki Takahashi
shift_evolve
PRO
4
870
ロボティクスの技術 / Robotics Technology
ks91
PRO
0
130
レガシーな広告配信システムでのAI駆動開発/運用の挑戦
i16fujimoto
0
120
データレイクの「見えない問題」を可視化する
sansantech
PRO
1
200
Agile and AI Redmine Japan 2026
hiranabe
4
480
BPaaSで進むAIオペレーションの現在地 AI実装が効く領域とスケーラビリティの選定と実装
kentarofujii
0
190
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
470
入門!AWS Blocks
ysuzuki
1
190
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
550
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
7.5k
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.4k
エンジニアに許された特別な時間の終わり
watany
107
250k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.8k
Building Applications with DynamoDB
mza
96
7.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
430
Transcript
ୈճΨΠμϯε #JP.FEJB"SU8PSLTIPQʹ͍ͭͯ 1SPDFTTJOHͷ෮श ݄ ଟຎඒज़େֶใσβΠϯֶՊϝσΟΞܳज़ίʔε ాॴ३
#JP.FEJB"SU8PSLTIPQ ϫʔΫγϣοϓʹ͍ͭͯ
͜ͷϫʔΫγϣοϓͷඪ ‣ 1SPDFTTJOHͱ"SEVJOPΛΈ߹ͤΔ ‣ ηϯαʔͰڥͷใΛܭଌͨ͠ΓɺԻޫɺಈ͖Ͱڥʹಇ͖͔͚Δ ‣ ২ͱిࢠ࡞ɺϓϩάϥϛϯάωοτϫʔΫΛΈ߹ͤΔ ‣ ࠷ऴඪόΠΦɾΨδΣοτΛ੍࡞
"SEVJOP ‣ ηϯαʔͰܭଌͨ͠पғͷڥʹؔ͢ΔσʔλΛऔಘͯ͠.BDͳͲͷ1$ʹૹग़
"SEVJOP ‣ ͜ͷػձʹ"SEVJOPࣗઐ༻ͷͷΛߪೖ͠·͠ΐ͏ ‣ "SEVJOP6/0͕ɺ࠷ॳͷͱͯ͠Φεεϝ ‣ εΠοναΠΤϯεIUUQXXXTXJUDITDJFODFDPNDBUBMPH ‣ ԁ
"SEVJOP ‣ ϒϨουϘʔυɺύονέʔϒϧͳͲແ͍߹ηοτ͕͓ಘ ‣ "SEVJOPΛ͡ΊΑ͏ΩοτIUUQXXXTXJUDITDJFODFDPNDBUBMPH ‣ ԁ
1SPDFTTJOH ‣ ιϑτΣΞΞʔτɺϏδϡΞϧσβΠϯͷͨΊͷϓϩάϥϛϯάݴޠ ‣ .*5ϝσΟΞϥϘʹࡏ੶͍ͯͨ͠ɺ$BTFZ3FBTɺ#FOKBNJO'SZʹΑͬͯ։ൃ ʙ ‣ IUUQQSPDFTTJOHPSH
1SPDFTTJOH ‣ 1SPDFTTJOHɺ։ൃڥڙ͍͑ͯΔ ‣ खܰʹεέονΛ͢ΔΑ͏ʹϓϩάϥϛϯά
ϫʔΫγϣοϓશମͷߏ
ϫʔΫγϣοϓͰ࡞͢ΔγεςϜͷΠϝʔδ
੍࡞͢Δ࡞ͷྫ ‣ #PUBOJDVT*OUFSBDUJDVT*OUFSBDUJWF1MBOU5FDIOPMPHZ ‣ IUUQXXXEJTOFZSFTFBSDIDPNQSPKFDUCPUBOJDVTJOUFSBDUJDVT JOUFSBDUJWFQMBOUUFDIOPMPHZ
5PVDIÉ ‣ ͜ͷ࡞Ͱ༻͍ΒΕ͍ͯΔηϯαʔɺ5PVDIÉʹ͍ͭͯ ‣ IUUQXXXEJTOFZSFTFBSDIDPNQSPKFDUUPVDIFUPVDIBOEHFTUVSF TFOTJOHGPSUIFSFBMXPSME
1SPDFTTJOHͷ෮श
1SPDFTTJOHͷ෮श ‣ 1SPDFTTJOHΛεϐʔυ෮श͠·͢ ‣ ΦεεϝαΠτIUUQIFMMPQSPDFTTJOHPSH
࠲ඪɺΛඳ͘ ‣ ࠲ඪͷ֓೦ʹ͍ͭͯ
࠲ඪɺΛඳ͘ ‣ ࠲ඪΛࢦఆͯ͠Λඳ͘ size(640,480); //640x480pixelͷը໘Λੜ point(300,200); //300x200ͷॴʹΛඳ͘
࠲ඪɺΛඳ͘ ‣ Α͘ݟΕ͕Ճ͞Ε͍ͯΔ
جຊਤܗ ‣ ઢMJOF Y Z Y Z
جຊਤܗ ‣ ࢛֯SFDU Y Z XJEUI IFJHIU
جຊਤܗ ‣ ԁɺପԁFMMJQTF Y Z XJEUI IFJHIU
جຊਤܗ ‣ ઢɺ࢛֯ɺԁΛ·ͱΊͯඳ͍ͯΈΔ size(640,480); //640x480pixelͷը໘Λੜ point(300,200); //(300,200)ͷॴʹΛඳ͘ line(50,100,400,300); //(50,100)ͷ͔Β(400,300)ͷઢΛҾ͘ rect(400,100,100,300);
//(400,100)ͷ͔Βɺ෯100ɺߴ͞300ͷ࢛֯ܗΛඳ͘ ellipse(200,340,300,200); //(200,340)ͷΛத৺ʹɺ෯300ɺߴ͞200ͷପԁΛඳ͘
‣ جຊਤܗ͕ඳ͚ͨ جຊਤܗ
৭ ‣ എܠ৭ ‣ CBDLHSPVOE (SBZ άϨΠεέʔϧ ‣ CBDLHSPVOE 3
( # 3(# ‣ CBDLHSPVOE 3 ( # " 3(#" ˞"ಁ໌ ! ‣ ృΓͷ৭ ‣ pMM (SBZ ‣ pMM 3 ( # ‣ pMM 3 ( # " ! ‣ ڥքઢͷ৭ ‣ TUSPLF (SBZ ‣ TUSPLF 3 ( # ‣ TUSPLF 3 ( # "
جຊਤܗ ‣ ৭Λࢦఆͯ͠ΈΔ background(15); //എܠ৭ stroke(63,191,255); //ઢͷ৭ fill(0,127,255,127); //ృΓͷ৭ size(640,
480); //640x480pixelͷը໘Λੜ point(300, 200); //(300,200)ͷॴʹΛඳ͘ line(50, 100, 400, 300); //(50,100)ͷ͔Β(400,300)ͷઢΛҾ͘ rect(400, 100, 100, 300); //(400,100)ͷ͔Βɺ෯100ɺߴ͞300ͷ࢛֯ܗΛඳ͘ ellipse(200, 340, 300, 200); //(200,340)ͷΛத৺ʹɺ෯300ɺߴ͞200ͷପԁΛඳ͘
৭ ‣ ৭ΛࢦఆͰ͖ͨ
Ξχϝʔγϣϯ ‣ TFUVQ ͱESBX
Ξχϝʔγϣϯ ‣ ྫԁ͕Ҡಈ͢ΔΞχϝʔγϣϯ PVector location; //ҐஔͷϕΫτϧ PVector velocity; //ͷϕΫτϧ !
void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ stroke(63, 191, 255); //ઢͷ৭ fill(0, 127, 255, 127); //ృΓͷ৭ location = new PVector(40, 40); //ҐஔͷϕΫτϧͷॳظઃఆ velocity = new PVector(3, 2); //ͷϕΫτϧͷॳظઃఆ } !
Ξχϝʔγϣϯ ‣ ྫԁ͕Ҡಈ͢ΔΞχϝʔγϣϯ void draw() { background(15); //എܠΛඳը ellipse(location.x, location.y,
20, 20); //ࢦఆͨ͠ҐஔʹԁΛඳը location.add(velocity); //ҐஔͷϕΫτϧʹͷϕΫτϧΛՃࢉɺ࣍ͷҐஔʹͳΔ if ((location.x > width) || (location.x < 0)) { //͠ը໘ͷࠨ·ͨӈʹ౸ୡͨ͠Β velocity.x *= -1; //XํͷεϐʔυΛస } if ((location.y > height) || (location.y < 0)) { //͠ը໘ͷԼ·্ͨʹ౸ୡͨ͠Β velocity.y *= -1; //YํͷεϐʔυΛస } }
Ξχϝʔγϣϯ ‣ ԁ͕Ҡಈ͢ΔΞχϝʔγϣϯ
͘Γฦ͠ʹΑΔ૿৩ ‣ ྻʹ͍ͭͯཧղ͢Δ ‣ ྫɿ float data[] = new float[5];
͘Γฦ͠ʹΑΔ૿৩ ‣ Ґஔ MPDBUJPO ɺ WFMPDJUZ ΛͦΕͧΕྻʹมߋ int NUM =
100; //ྻͷ PVector[] location = new PVector[NUM]; //ҐஔͷϕΫτϧͷྻ PVector[] velocity = new PVector[NUM]; //ͷϕΫτϧͷྻ</p> ! void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ stroke(63, 191, 255); //ઢͷ৭ fill(0, 127, 255, 127); //ృΓͷ৭ for (int i = 0; i < NUM; i++) { //ྻͷ͚ͩ܁Γฦ͠ location[i] = new PVector(random(width), random(height)); //ҐஔͷϕΫτϧ velocity[i] = new PVector(random(-4, 4), random(-4, 4)); //ͷϕΫτϧ } }
͘Γฦ͠ʹΑΔ૿৩ ‣ Ґஔ MPDBUJPO ɺ WFMPDJUZ ΛͦΕͧΕྻʹมߋ void draw() {
background(15); //എܠΛඳը for (int i = 0; i < NUM; i++) { //ྻͷ͚ͩ܁Γฦ͠ ellipse(location[i].x, location[i].y, 20, 20); //ࢦఆͨ͠ҐஔʹԁΛඳը location[i].add(velocity[i]); //ҐஔͷϕΫτϧʹͷϕΫτϧΛՃࢉɺ࣍ͷҐஔʹͳΔ if ((location[i].x > width) || (location[i].x < 0)) { velocity[i].x *= -1; //XํͷεϐʔυΛస } if ((location[i].y > height) || (location[i].y < 0)) { velocity[i].y *= -1; //YํͷεϐʔυΛస } } }
͘Γฦ͠ʹΑΔ૿৩ ‣ ૿৩ͨ͠Ξχϝʔγϣϯ
͘Γฦ͠ʹΑΔ૿৩ ‣ ࠷ޙʹɺԁͷ৭ͱେ͖͞ϥϯμϜʹࢦఆͯ͠ΈΔ
͘Γฦ͠ʹΑΔ૿৩ ‣ Ґஔ MPDBUJPO ɺ WFMPDJUZ ɺ৭ DPM ɺେ͖͞ EJBNFUFS
ΛϥϯμϜʹ int NUM = 500; //ྻͷ PVector[] location = new PVector[NUM]; //ҐஔͷϕΫτϧͷྻ PVector[] velocity = new PVector[NUM]; //ͷϕΫτϧͷྻ color[] col = new color[NUM]; //ృΓͷ৭ͷྻ float[] diameter = new float[NUM]; //ԁͷେ͖͞(ܘ)ͷྻ</p> ! void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ noStroke(); for (int i = 0; i < NUM; i++) { //ྻͷ͚ͩ܁Γฦ͠ location[i] = new PVector(random(width), random(height)); //ҐஔͷϕΫτϧͷॳظઃఆ velocity[i] = new PVector(random(-4, 4), random(-4, 4)); //ͷϕΫτϧͷॳظઃఆ col[i] = color(random(255), random(255), random(255), 127); //৭ͷॳظઃఆ diameter[i] = random(3, 40); //େ͖͞ͷॳظઃఆ } }
͘Γฦ͠ʹΑΔ૿৩ ‣ Ґஔ MPDBUJPO ɺ WFMPDJUZ ɺ৭ DPM ɺେ͖͞ EJBNFUFS
ΛϥϯμϜʹ void draw() { background(15); //എܠΛඳը for (int i = 0; i < NUM; i++) { //ྻͷ͚ͩ܁Γฦ͠ fill(col[i]); //৭Λࢦఆ ellipse(location[i].x, location[i].y, diameter[i], diameter[i]); //ࢦఆͨ͠ҐஔʹԁΛඳը location[i].add(velocity[i]); //ҐஔͷϕΫτϧʹͷϕΫτϧΛՃࢉɺ࣍ͷҐஔʹͳΔ if ((location[i].x > width) || (location[i].x < 0)) { //͠ը໘ͷࠨӈʹ౸ୡͨ͠Β velocity[i].x *= -1; //XํͷεϐʔυΛస } if ((location[i].y > height) || (location[i].y < 0)) { //͠ը໘ͷ্Լʹ౸ୡͨ͠Β velocity[i].y *= -1; //YํͷεϐʔυΛస } } }
͘Γฦ͠ʹΑΔ૿৩ ‣
ࠓ͜͜·Ͱ