Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ガイダンス - 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
470
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.7k
TumblrでWebサイトを作成
tado
0
730
bmaw14 第2回: Touchéセンサーを使う1 Touchéセンサーを作成する
tado
0
2.3k
Other Decks in Technology
See All in Technology
あけおめLINE 傾向とその対策
nasa9084
0
180
Reactの設計論
uhyo
24
14k
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
930
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
3
620
安心して変更できるWebフロントエンドの作り方
pirosikick
5
2.8k
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
2
970
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
500
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
32
28k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
260
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
610
A Tale of Four Properties
chriscoyier
163
24k
Ethics towards AI in product and experience design
skipperchong
2
380
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
990
30 Presentation Tips
portentint
PRO
1
400
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
470
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ํͷεϐʔυΛస } } }
͘Γฦ͠ʹΑΔ૿৩ ‣
ࠓ͜͜·Ͱ