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
Processing.js アニメーションの基本
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Atsushi Tadokoro
May 29, 2014
Technology
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Processing.js アニメーションの基本
Atsushi Tadokoro
May 29, 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
自宅LLMの話
jacopen
1
720
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
1
1.1k
秘密度ラベル初心者が第1歩でつまづかないための「設計・運用」ポイント
seafay
PRO
1
480
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
230
AIAU_UMEMOGU_ninomiya_slide
ninomiya_ii
0
260
Lightning近況報告
kozy4324
0
220
入門!AWS Blocks
ysuzuki
1
190
元銀行員がAIだけでアプリを量産!「バイブコーディング実演セミナー 」
tatsuya1970
0
110
脱SaaS!FDEを支えるプロビジョニングと分離設計
knih
0
300
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.8k
AWS Security Agent といっしょに脅威モデリングをやってみよう
amarelo_n24
1
210
WebGIS AI Agentの紹介
_shimizu
0
560
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Building an army of robots
kneath
306
46k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
750
Thoughts on Productivity
jonyablonski
76
5.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
HDC tutorial
michielstock
2
720
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
430
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
Building Applications with DynamoDB
mza
96
7.1k
Transcript
ใฤू 8FC 1SPDFTTJOHKT Ξχϝʔγϣϯͷجຊ ݄ ౦ژज़େֶܳज़ใηϯλʔ ".$
୲ɿాॴ३
Ξχϝʔγϣϯͷجຊ
Ξχϝʔγϣϯ ‣ ࠓૣΞχϝʔγϣϯʹઓ ‣ ·ͣશମͷΈΛཧղ͢Δ ! ‣ ΞχϝʔγϣϯΛ࣮ݱ͢ΔʹɺϓϩάϥϜΛΑΓߏԽ͍ͯ͘͠ඞཁ ‣ TFUVQ
ͱVQEBUF ͱ͍͏ೋͭͷύʔτʹߏԽͯ͠ΞχϝʔγϣϯΛ࣮ݱ͢Δ
Ξχϝʔγϣϯ ‣ TFUVQ rॳظઃఆϓϩάϥϜͷىಈ࣌ʹҰ͚࣮ͩߦ͞Ε·͢ɻը໘ͷجຊઃఆ ϑϨʔϜϨʔτͳͲΛઃఆ͠·͢ɻ ‣ ESBX rඳըઃఆͨ͠͞ ϑϨʔϜϨʔτ ͰϓϩάϥϜ͕ऴྃ͢Δ·Ͱ͘Γ͔͑
࣮͠ߦ͞Ε·͢ɻ
Ξχϝʔγϣϯ ‣ ͜ͷΈΛར༻ͯ͠ԁ͕ࣼΊԼʹҠಈ͢ΔϓϩάϥϜΛ࡞ͯ͠ΈΔ
Ξχϝʔγϣϯ ‣ ҎԼͷίʔυΛهೖ float posX, posY; //ԁͷத৺ҐஔΛ֨ೲ͢Δม float speedX, speedY;
//ԁͷΛ֨ೲ͢Δม void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ stroke(63, 191, 255); //ઢͷ৭ fill(0, 127, 255, 127); //ృΓͷ৭ posX = 40; //ԁͷॳظҐஔX posY = 40; //ԁͷॳظҐஔY speedX = 3; //ԁͷॳظҐஔX speedY = 2; //ԁͷॳظҐஔY } ! void draw() { background(15); //എܠΛඳը ellipse(posX, posY, 20, 20); //ࢦఆͨ͠ҐஔʹԁΛඳը posX = posX + speedX; //ԁͷX࠲ඪΛߋ৽ posY = posY + speedY; //ԁͷY࠲ඪΛߋ৽ }
Ξχϝʔγϣϯ ‣ ԁ͕Ξχϝʔγϣϯ͢Δ ͣ
Ξχϝʔγϣϯ ‣ ը໘ͷͰόϯυͤͯ͞ΈΔ ! ‣ ҎԼͷ݅Λઃఆ͢Δඞཁ ‣ ը໘ͷӈɺ͘͠ը໘ͷࠨˠ9ํͷεϐʔυΛస ‣ ը໘ͷ্ɺ͘͠ը໘ͷԼˠ:ํͷεϐʔυΛస
! ‣ JGจ ‣ ͜ͷΑ͏ͳʮ͠˓˓ͩͬͨΒɺ˘˘͠ͳ͍͞ɺʢͦ͏Ͱͳ͚Εɺ˚˚˚͠ͳ͞ ͍ʣʯͱ͍͏Α͏ͳ੍ޚߏΛදݱ͢ΔͨΊͷΈ
Ξχϝʔγϣϯ ‣ JGจͷจ๏ if(ʬ݅ࣜʭ){ ʬਅจʭ//͕݅ਖ਼͍͠߹ͷॲཧ } else { ʬِจʭ//͕݅ਖ਼͘͠ͳ͍߹ͷॲཧ }
Ξχϝʔγϣϯ ‣ ݅ذΛ͔ͭͬͯɺนͰόϯυͤͯ͞ΈΔ float posX, posY; //ԁͷத৺ҐஔΛ֨ೲ͢Δม float speedX, speedY;
//ԁͷΛ֨ೲ͢Δม ! void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ stroke(63, 191, 255); //ઢͷ৭ fill(0, 127, 255, 127); //ృΓͷ৭ posX = 40; //ԁͷॳظҐஔX posY = 40; //ԁͷॳظҐஔY speedX = 3; //ԁͷॳظҐஔX speedY = 2; //ԁͷॳظҐஔY }
Ξχϝʔγϣϯ ‣ ݅ذΛ͔ͭͬͯɺนͰόϯυͤͯ͞ΈΔ void draw() { background(15); //എܠΛඳը ellipse(posX, posY,
20, 20); //ࢦఆͨ͠ҐஔʹԁΛඳը posX = posX + speedX; //ԁͷX࠲ඪΛߋ৽ posY = posY + speedY; //ԁͷY࠲ඪΛߋ৽ if (posX < 0 || posX > width) { //͠ը໘ͷࠨ·ͨӈʹ౸ୡͨ͠Β speedX = speedX * -1; //XํͷεϐʔυΛస } if (posY < 0 || posY > height) { //͠ը໘ͷԼ·্ͨʹ౸ୡͨ͠Β speedY = speedY * -1; //YํͷεϐʔυΛస } }
Ξχϝʔγϣϯ ‣ ͨ͘͞ΜͷਤܗΛҰʹಈ͔ͯ͠ΈΔ ‣ ઌिͬͨGPSจͷԠ༻ ! ‣ σʔλͷ࣋ͪํʹ͕ඞཁˠྻ ‣ σʔλͷϩοΧʔͷΑ͏ͳΠϝʔδ
Ξχϝʔγϣϯ ‣ ྻͷఆٛͷํ๏ͷྫ // floatܕͷྖҬ100ίΛ֬อɺdataͱ͍͏ྻ໊ʹ float data[] = new float[100];
! // data[0], data[1], data[2] ... data[99] ·ͰҰؾʹੜ!
Ξχϝʔγϣϯ ‣ ྻͱ͘Γ͔͑͠Λ༻ͯ͠ɺઌఔͷนͰόϯυ͢ΔϓϩάϥϜΛվ ‣ ͨ͘͞ΜͷਤܗΛಉ࣌ʹಈ͔ͯ͠ΈΔ
Ξχϝʔγϣϯ ‣ ྻΛ༻ͯ͠ɺͨ͘͞ΜͷਤܗΛಈ͔͢ int NUM = 100; float posX[] =
new float[NUM]; //ԁͷத৺ҐஔΛ֨ೲ͢Δม float posY[] = new float[NUM]; float speedX[] = new float[NUM]; //ԁͷΛ֨ೲ͢Δม float speedY[] = new float[NUM]; ! void setup() { size(640, 480); //640x480pixelͷը໘Λੜ frameRate(60); //ϑϨʔϜϨʔτ stroke(63, 191, 255); //ઢͷ৭ fill(0, 127, 255, 127); //ృΓͷ৭ //NUMճ͘Γ͔͑͠ for (int i = 0; i < NUM; i++) { posX[i] = random(width); //ԁͷॳظҐஔX posY[i] = random(height); //ԁͷॳظҐஔY speedX[i] = random(-5,5); //ԁͷॳظҐஔX speedY[i] = random(-5,5); //ԁͷॳظҐஔY } }
Ξχϝʔγϣϯ ‣ ྻΛ༻ͯ͠ɺͨ͘͞ΜͷਤܗΛಈ͔͢ void draw() { background(15); //എܠΛඳը //NUMճ͘Γ͔͑͠ for
(int i = 0; i < NUM; i++) { ellipse(posX[i], posY[i], 20, 20); //ࢦఆͨ͠ҐஔʹԁΛඳը posX[i] = posX[i] + speedX[i]; //ԁͷX࠲ඪΛߋ৽ posY[i] = posY[i] + speedY[i]; //ԁͷY࠲ඪΛߋ৽ //͠ը໘ͷࠨɺ·ͨӈʹ౸ୡͨ͠Β if (posX[i] < 0 || posX[i] > width) { speedX[i] = speedX[i] * -1; //XํͷεϐʔυΛస } //͠ը໘ͷԼɺ·্ͨʹ౸ୡͨ͠Β if (posY[i] < 0 || posY[i] > height) { speedY[i] = speedY[i] * -1; //YํͷεϐʔυΛస } } }
Ξχϝʔγϣϯ ‣ ͨ͘͞Μͷਤܗ͕ಉ࣌ʹಈ͘
Ξχϝʔγϣϯ ‣ ࠓ͜͜·Ͱ