Code Monkey home page Code Monkey logo

arkit-stereoscope-armstrong-a7l's Introduction

ARKit-Stereoscope-Armstrong-A7L

Explore Neil Armstrong's A7-L spacesuit from the Smithsonian Institution with a 6DOF tracking stereoscope.

Hardware

Tested on Apple 2018 9.7" iPad (A9 CPU or higher for ARKit).

The OWL Stereoscopic Viewer(£15.00) from The London Stereoscopic Company Ltd

https://github.com/Physicslibrary/ARKit-Stereoscope-CDEM explains how to use the stereoscope with a 9.7" iPad.

Software

Apple Swift Playgrounds 3.0 from iOS App Store. Swift Playgrounds lets kids ages >4 program their iPad directly to experiment with ARKit and Scenekit.

https://www.apple.com/ca/swift/playgrounds/

ARKit and SceneKit (set up scene, read 3D files, attact a virtual camera for lefteye to ARKit iPad camera righteye to make a stereoscope, 6DOF tracking)

Installation

With Swift Playgrounds 3.0 update, the file structure has changed from 2.2.

To keep things simple, a source file learn.swift is available for pasting into Playgrounds. Resources for the program will either be made available or links provided. It is assumed that users know how to download files into iOS Files App, unzip, and transfer into Playgrounds (eg. bottom of https://github.com/Physicslibrary/ARKit-Stereoscope).

Download armstrong_suit-ar_model.zip from the Smithsonian Institution https://3d.si.edu/armstrong

This is the "AR Ready Model Suit - .OBJ and .JPG (23.6 MB)" in the "Other Models" section of the webpage.

This playground uses the following files:
ar_low_piece1.obj
ar_low_piece2.obj
ar_low_piece3.obj
piece1_ao.jpg
piece1_basecolor.jpg
piece2_ao.jpg
piece2_basecolor.jpg
piece3_ao.jpg
piece3_basecolor.jpg

Add the files in Swift Playgrounds by tap "+", tap paper icon, and "Insert From...".

Tips:

If frame rate <60Hz, hold iPad still, swipe up from bottom edge of screen for HOME screen (or press HOME button), return to Swift Playgrounds.

This playground doesn't look for a flat plane to put virtual objects on, instead the initial position of the iPad is the world origin when "Run My Code" is pressed. Hold iPad near floor before "Run My Code" with "Enable Results" off.

All virtual objects are positioned and oriented according to this world origin (with righteye.debugOptions on, the world origin is an XYZ or RGB axis)

Example screenshots of the A7-L spacesuit made up of 3 meshes with one ambient occlusion or one basecolor texture each. A reason for this is Swift Playgrounds is unable to load multiple textures for physically based rendering (with "Enable Results" off). Could use Blender to reduce mesh size and GIMP to reduce texture size. On a 2018 9.7" iPad, Playgrounds only work with 2 AO textures and 1 basecolor texture.

References

armstrong_suit-ar_model.zip
The Smithsonian Institution
https://3d.si.edu/armstrong

https://airandspace.si.edu/collection-objects/pressure-suit-a7-l-armstrong-apollo-11-flown

https://en.wikipedia.org/wiki/Apollo/Skylab_A7L

https://nasa3d.arc.nasa.gov/models

https://en.wikipedia.org/wiki/Ambient_occlusion

Copyright (c) 2019 Hartwell Fong

arkit-stereoscope-armstrong-a7l's People

Contributors

physicslibrary avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.