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
360°写真、動画を用いた VR 対応アプリの開発方法
Search
yuky_az
August 20, 2016
Programming
5
5.3k
360°写真、動画を用いた VR 対応アプリの開発方法
iOSDC 2016で発表した際のスライドです。スマートフォンのVR対応についてお話です。
yuky_az
August 20, 2016
Tweet
Share
More Decks by yuky_az
See All by yuky_az
AGI福岡 第6回
yukinaga
0
97
AGI福岡 第5回
yukinaga
0
140
AGI福岡 第3回
yukinaga
0
99
AGI福岡 第2回
yukinaga
0
110
生成AIの現状と展望: AIと共生する未来への道程
yukinaga
3
1.1k
BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能
yukinaga
0
410
iOSアプリは「感情」を宿すのか? AIとアプリの未来について
yukinaga
2
1.1k
iOSアプリに「意識」は宿るのか? ディープラーニングの先にある人工知能(AI)
yukinaga
6
5.9k
ヒトとAIの共生、そしてシンギュラリティ
yukinaga
0
1k
Other Decks in Programming
See All in Programming
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
350
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
480
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.5k
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
1
430
どの様にAIエージェントと 協業すべきだったのか?
takefumiyoshii
1
570
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
2
360
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
7
1.5k
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
150
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.2k
CSC305 Lecture 03
javiergs
PRO
0
230
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
150
大規模アプリにおけるXcode Previews実用化までの道のり
ikesyo
0
990
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
GraphQLとの向き合い方2022年版
quramy
49
14k
How GitHub (no longer) Works
holman
315
140k
RailsConf 2023
tenderlove
30
1.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Documentation Writing (for coders)
carmenintech
75
5k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Transcript
˃ࣸਅɺಈըΛ༻͍ͨ 73ରԠΞϓϦͷ։ൃํ๏ :VLJOBHB"[VNB !ZVLZ@B[ J04%$+BQBO
ࣗݾհ :VLJOBHB"[VNB ʢզ࠺ʣ J04ΤϯδχΞ 3% େֶͷݚڀһɺϝʔΧʔۈɺϓϩάϥϛϯά ߨࢣɺϑϦʔϥϯεΛܦͯɺ%VDLMJOHTגࣜձࣾͰ εϚϗ͚73"*Λ։ൃத !ZVLZ@B[ TBJJMBCDPN
ਓೳɺਓੜ໋ɺੜֶɺ ϓϩάϥϛϯάڭҭɺ ϒϥδϦΞϯॊज़ ଞͷڵຯͷର
ൃදͷྲྀΕ εϚʔτϑΥϯʹΑΔ73ʹ͍ͭͯ ˠҰൠɺɺΞϓϦͷཁٻ ϥΠϒετϦʔϛϯάΞϓϦͷ։ൃྫ ˠΧϝϥରԠɺ).%ରԠɺ࣮ํ๏
όʔνϟϧϦΞϦςΟʔ(VR)ͱʁ ޒײ૾ྗΛܹ͠ɺͦ͜ʹͳ͍ͷΛ࡞Γग़͢
VRʹඞཁͳཁૉ ྟײ ˠө૾Իͱମײ֮ͷҰகʹΑΓɺຊʹͦͷʹ͍Δ Α͏ͳͷࡨ͕֮ى͖Δ շదੑ ˠө૾Իͱମײ֮ͷෆҰகʹΑΓɺ73ਲ͍͕ൃੜ͢Δ ͷͰɺ͜ΕΛݮ͢Δ
εϚʔτϑΥϯʹΑΔVR ೋ؟ϔουϚϯτσΟεϓϨΠ ).% ʹεϚϗΛண σόΠεͷ͖ͱө૾ͷ͖ΛҰகͤ͞Δ
εϚʔτϑΥϯVRͷಛ ϋΠΤϯυσόΠε 0DVMVT3JGUɺ)5$7JWFɺ1MBZ4UBUJPO73ɺFUD ˠ1$ͱͷଓ͕ඞཁɺϦιʔεେɺମҠಈͷݕ͕Մೳ εϚʔτϑΥϯ J1IPOFɺ"OESPJEεϚϗɺFUD ˠ1$ͱͷଓෆཁɺϦιʔεখɺମҠಈͷݕ͕͍͠
ΞϓϦͷཁٻ ྟײˍշదੑͷͨΊʹ ˠߴ͍ϑϨʔϜϨʔτͱɺटͷಈ͖ʹର͢Δө૾ͷैੑ ڑͷݕ΄΅ෆՄ ˠମͷҠಈͷݕ͍͠ɻମҐஔΛݻఆͯ͠༻͕લఏ Ϧιʔεʹ༨༟͕ͳ͍ ˠ$16ɺ(16ɺϝϞϦͷແବݣ͍Λۃྗ͑Δ
˃ϥΠϒετϦʔϛϯάΞϓϦͷ։ൃྫ )6(73EFHSFFMJWF ˃ϥΠϒಈըΛࢹௌɺ).%ରԠ ϦΞϧλΠϜͰίϛϡχέʔγϣϯ ༻࣮ ˠԻָϥΠϒɺΧϯϑΝϨϯεɺFUD ͔ࠃͰͷར༻
ΞϓϦͷཁٻ ϥΠϒதɺϦΞϧλΠϜͰҎԼͷॲཧ͕ൃੜ ಈըͷड৴ɺϐΫηϧόοϑΝͷॲཧɺ ΧϝϥରԠɺ%ඳըɺ ϝοηʔδͷૹड৴ɺϞʔγϣϯηϯαɺFUD J1IPOFͷੑೳΛϑϧʹҾ͖ग़͢͜ͱ͕ඞཁ
࣮ํ๏ͷબఆ (PPHMF734%, ˠ࣮͕؆୯͕ͩɺΧελϚΠζੑ͕͍ 6OJUZ ˠϢχόʔαϧͳ։ൃڥͷͨΊɺ J1IPOFͷੑೳΛϑϧʹҾ͖ग़͢ͷ͍͠
࣮ํ๏ͷબఆ 4DFOF,JU ˠߴϑϨʔϜϨʔτͰͷಈը࠶ੜ͕͍͠ɻ 0QFO(-&4 (-,JU ˠѻ͍͕͍͕͠ɺ ύϑΥʔϚϯεΧελϚΠζੑ͕ߴ͍ ADOPTED
ॲཧͷྲྀΕͷུ֓ ϥΠϒσʔλͷड৴ J1IPOFεΫϦʔϯʹඳը ಄ͷ͖ͷݕग़ ֤ॲཧϚϧνεϨουͰ࣮ߦ͞ΕΔ ٿͷ໘ʹ ςΫενϟΛషΓ͚ Ұఆִ࣌ؒؒͰ࣮ߦ ࢹઢϕΫτϧͷճస
ςΫενϟͷషΓ͚,PEBL41, %มΛߦ͍ ٿͷ໘ʹషΓ͚Δ x = R * sin(φ) * cos(θ)
y = R * cos(φ) z = R * sin(φ) * sin(θ) Γൈ͖ ࠲ඪม ݩը૾4JOHMFpTIFZF D 8BMUFS θ φ
ςΫενϟͷషΓ͚3JDPI5IFUB4 ݩը૾%VBMpTIFZF %มΛߦ͍ɺͦΕͧΕ ٿͷ໘ʹషΓ͚Δ x = R * sin(φ) *
cos(θ) y = R * sin(φ) * sin(θ) z = R * cos(φ) Γൈ͖ ճస ࠲ඪม
಄ͷ͖ͷݕग़ MFUNPUJPO.BOBHFS$..PUJPO.BOBHFS NPUJPO.BOBHFSEFWJDF.PUJPO6QEBUF*OUFSWBM NPUJPO.BOBHFSTUBSU%FWJDF.PUJPO6QEBUFT5P2VFVF /40QFSBUJPO2VFVF \ EFWJDF.BOBHFS FSSPS
JO MFUZBXEFWJDF.BOBHFSBUUJUVEFZBX MFUQJUDIEFWJDF.BOBHFSBUUJUVEFSPMM MFUSPMMEFWJDF.BOBHFSBUUJUVEFQJUDI ^ $PSF.PUJPOΛར༻ͯ͠ σόΠεͷ͖ ಄ͷ͖ Λऔಘ
ࢹઢϕΫτϧͷճస D +VBOTFNQFSF Ψ = yaw θ = pitch Φ
= roll ࢹઢϕΫτϧΛճస͠ ࢹઢͷઌΛεΫϦʔϯʹඳը͢Δ ΫΥλʔχΦϯʢ࢛ݩʣ ͷར༻͕ඞཁ
ϚϧνεϨουઃܭ ༷ʑͳॲཧΛฒྻͰߦ͍ɺϘτϧωοΫ͕ੜ͡ͳ͍Α͏ʹ͢Δ ಈըσʔλͷड৴ ϐΫηϧόοϑΝͷॲཧ ςΫενϟͷషΓ͚ ಄ͷ͖ͷݕग़ ࢹઢϕΫτϧͷઃఆ εΫϦʔϯʹඳը γϦΞϧΩϡʔ༏ઌ ը໘ͷϦϑϨογϡͱಉظ
௨৴ͱಉظ γϦΞϧΩϡʔ༏ઌߴ Ϟʔγϣϯηϯαͱಉظ
GPUͷνϡʔχϯά %FCVHOBWJHBUPS'14*OTUSVNFOUT0QFO(-&4"OBMZTJT ෛՙͷେ͖͍ॲཧແ͍͔ʁϝογϡͷܗঢ়ద͔ʁFUD
࣮ԋಈը -ѱ͍ྫ- ϚϧνεϨουͷઃܭ͕ෆద ύϑΥʔϚϯεͷνϡʔχϯά͕ेͰͳ͍ ྟײ͕͍ɺ73ਲ͍͕ൃੜɺ͕ߴԹ
࣮ԋಈը -ྑ͍ྫ- ϚϧνεϨουͷઃܭ͕ద ύϑΥʔϚϯεͷνϡʔχϯά͕े ྟײ͕ߴ͍ɺ73ਲ͍͕ൃੜ͠ͳ͍ɺ͕ߴԹʹͳΒͳ͍
·ͱΊ ύϑΥʔϚϯεͷ্ ˠ$16ɺ(16ͷ࠷దԽ %ඳը ˠඳ͖͍ͨΠϝʔδΛࣜԽ͢Δ ྟײ͕͋ΓɺշదͳεϚʔτϑΥϯ73ͷͨΊʹ ϚϧνεϨου ˠෳͷॲཧΛฒߦͯ͠ߦ͍ɺಛఆͷεϨου͕ϘτϧωοΫ ʹͳΔͷΛ͙