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
p5.jsでパーティクルやカラフルで動く描画を扱う(機械学習やデバイスとの連携も) / jsf...
Search
you(@youtoy)
PRO
July 16, 2022
Technology
0
400
p5.jsでパーティクルやカラフルで動く描画を扱う(機械学習やデバイスとの連携も) / jsfes 2022 summer
you(@youtoy)
PRO
July 16, 2022
Tweet
Share
More Decks by you(@youtoy)
See All by you(@youtoy)
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
330
M5Stack Chain DualKey を UIFlow 2.0 + USB接続で試す / ビジュアルプログラミングIoTLT vol.22
you
PRO
2
190
ローカルLLMをJavaScriptで(少しAIエージェントSDKなどの話も) / 冬のJavaScript祭り @Pleasanter Lounge
you
PRO
0
960
Webの技術で「特殊なゲーム用コントローラーや他デバイスなど」とブラウザを連携させる / HTML5 11th Anniversary
you
PRO
0
93
ブラウザのAPIで Nintendo Switch用の特殊なゲーム用コントローラーを体験型コンテンツに / IoTLT @ストラタシス・ジャパン
you
PRO
0
210
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
910
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
470
子ども向けの活動や自身のモノづくり活動などでやったこと / micro:bit ファンの集い
you
PRO
0
55
ブラウザのAPIで色々なデバイスをあれこれ扱ってみた話(主にWeb HID API) / IoTLT @JLCPCB オープンハードカンファレンス
you
PRO
0
180
Other Decks in Technology
See All in Technology
ランサムウエア対策してますか?やられた時の対策は本当にできてますか?AWSでのリスク分析と対応フローの泥臭いお話。
hootaki
0
130
Google系サービスで文字起こしから勝手にカレンダーを埋めるエージェントを作った話
risatube
0
180
JAWSDAYS2026 [C02] 楽しく学ぼう!AWSとは?AWSの歴史 入門
hiragahh
0
160
Oracle Cloud Infrastructure IaaS 新機能アップデート 2025/12 - 2026/2
oracle4engineer
PRO
0
140
最強のAIエージェントを諦めたら品質が上がった話 / how quality improved after giving up on the strongest AI agent
kt2mikan
0
180
Claude Codeの進化と各機能の活かし方
oikon48
22
13k
SRE NEXT 2026 CfP レビュアーが語る聞きたくなるプロポーザルとは?
yutakawasaki0911
1
320
Scrumは歪む — 組織設計の原理原則
dashi
0
180
社内レビューは機能しているのか
matsuba
0
130
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
970
20260311 技術SWG活動報告(デジタルアイデンティティ人材育成推進WG Ph2 活動報告会)
oidfj
0
350
「Blue Team Labs Online」入門 - みんなで挑むログ解析バトル
v_avenger
0
180
Featured
See All Featured
Scaling GitHub
holman
464
140k
Facilitating Awesome Meetings
lara
57
6.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
220
How STYLIGHT went responsive
nonsquared
100
6k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
Abbi's Birthday
coloredviolet
2
5.4k
Thoughts on Productivity
jonyablonski
75
5.1k
エンジニアに許された特別な時間の終わり
watany
106
240k
Transcript
p5.jsでパーティクルやカラフルで動く描画を 扱う(機械学習やデバイスとの連携も) 2022年7月16日 (土) 夏のJavaScript祭り Online 2022 豊田陽介( ) @youtoy
自己紹介 豊田陽介( ) @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ ・ Microsoft MVP(2021/10 から)
プライベートでの活動 ・ガジェット大好き ・今年、本を2冊出しました 好きなこと・近況 3月発売 (共著) 今月25日 発売(単著)
過去のJavaScript祭りのセッションにて 【2019年6月】 デバイスやアプリで楽しむIoT 【2021年7月】 ブラウザでのデバイス連携や機械学習
今回の話題: 描画ライブラリ「p5.js」関連など
Canvasでの2D・3D描画を 便利にしてくれる
その中の 「パーティクル・システム」
パーティクル・システムとは? ゲーム物理、モーショングラフィックス、コンピュータ グラフィックなどで使われる技術のひとつで、たくさん の細かいスプライト画像、3Dモデル、またはその他のCG オブジェクトを使って、ある種の「ファジー」な現象を シミュレートするもの 出典: Wikipedia「パーティクル・システム」より
ブラウザ上で作るとこれくらい? p5.js の公式サンプルの一例
ではなかった! 透明度付き PNG画像を 出現させる 煙が 吹き出す 色の 加算処理 炎の ゆらめき?
楽しくなってきた!
インタラクティブな 感じにしたい
機械学習による 画像認識を組み合わせた事例
デモ:画像認識+パーティクル・システム
ブラウザ上で両手の画像認識 Googleさんが提供: MediaPipe の JavaScript版 (TensorFlow.jsベース)の 仕組みの 1つ Hands
描画関連でもう1つ
「万華鏡」のような描画
p5.jsの公式サンプル「Kaleidoscope」 マウスを適当に動かすだけで、 面白くて綺麗な描画がされる
あれこれ 手を加えてみる
マウスの軌跡でモノクロ の万華鏡的な描画
マウスの軌跡でモノクロ の万華鏡的な描画 toio+専用マット ランダムに動く toio の軌跡 色とりどり toio の周辺に プロジェクション
デモ:軌跡を使った描画のプロジェクション
LeapMotionを使った仕組みや BGMも追加して...
Sendai Micro Maker Faire 2022 に出展 カメラ越しだと、 色がとんでいるけれど...
最終版の構成的には PC (Chromo) toio+専用マット BLE HTML + JavaScript BGM プロジェ
クション LeapMotion
最終版の構成的には PC (Chromo) toio+専用マット BLE HTML + JavaScript BGM プロジェ
クション LeapMotion ▪ 描画: ・p5.js ▪ toio の制御 ・p5.toio(通信は Web Bluetooth API) ▪ LeapMotion ・WebSocket API ▪ 音の再生・制御 ・howler.js 【ライブラリ・API】
ブラウザ上の描画処理を 他と組み合わせるのも楽しい!
終わり!