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
4.8k
360°写真、動画を用いた VR 対応アプリの開発方法
iOSDC 2016で発表した際のスライドです。スマートフォンのVR対応についてお話です。
yuky_az
August 20, 2016
Tweet
Share
More Decks by yuky_az
See All by yuky_az
生成AIの現状と展望: AIと共生する未来への道程
yukinaga
2
940
BERTによる自然言語処理を学ぼう!【 Live!人工知能 #26】 #Live人工知能
yukinaga
0
310
iOSアプリは「感情」を宿すのか? AIとアプリの未来について
yukinaga
2
970
iOSアプリに「意識」は宿るのか? ディープラーニングの先にある人工知能(AI)
yukinaga
6
5.1k
ヒトとAIの共生、そしてシンギュラリティ
yukinaga
0
870
iOSと(深層)強化学習
yukinaga
6
8.2k
iOSと人工知能(AI) -GPU並列演算の仕組みと機械学習-
yukinaga
0
2.9k
最小限の実装で試す MetalによるGPUコンピューティング
yukinaga
2
2k
MetalでiOSアプリに宿る生命
yukinaga
2
1.3k
Other Decks in Programming
See All in Programming
新宿ダンジョンを可視化してみた
satoshi7190
2
250
GitHub Actionsで泣かないためにやっておきたい設定 / Recommended GHA settings to avoid crying
pinkumohikan
3
530
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Kotlin Multiplatform at Stable and Beyond (Android Makers 2024)
zsmb
0
210
Node.js v22 で変わること
yosuke_furukawa
PRO
9
3.4k
Micro Frontends for Java Microservices - Devnexus 2024
mraible
PRO
0
490
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Code Reviews
bkuhlmann
4
890
Fragment Composition of GraphQL
quramy
7
960
使ってみよう Azure AI Document Intelligence
kosmosebi
2
310
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Debugging Ruby Performance
tmm1
70
11k
Testing 201, or: Great Expectations
jmmastey
28
6.4k
Documentation Writing (for coders)
carmenintech
60
3.9k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Infographics Made Easy
chrislema
238
18k
The Illustrated Children's Guide to Kubernetes
chrisshort
31
46k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
YesSQL, Process and Tooling at Scale
rocio
164
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
125
32k
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ͷͨΊʹ ϚϧνεϨου ˠෳͷॲཧΛฒߦͯ͠ߦ͍ɺಛఆͷεϨου͕ϘτϧωοΫ ʹͳΔͷΛ͙