/ImmersiveInterfaces

Samples and solutions for a Swift/SpriteKit/SceneKit course taught through University of Washington Professional and Continuing Education.

Primary LanguageSwift

Immersive Interfaces and Visualization for iOS

Samples and solutions for a Swift/SpriteKit/SceneKit course I am teaching (Autumn Quarter 2015) through University of Washington Professional and Continuing Education. The course is organized into four units: Swift, SpriteKit, D3.js, and SceneKit.

The full bibliography is included.

For the Swift unit, we used Daniel Steinberg's excellent book A Swift Kickstart. Files for the remaining units:

SpriteKit

Playgrounds/Balloons.playground: The original Swift balloon cannon demo, updated for Swift 2.0.

Playgrounds/Crawl.playground: A text crawl at the bottom of the screen, as you might see on a TV news or sports broadcast.

Playgrounds/SpriteKit Basics.playground: Illustrations of some SpriteKit concepts. Shown are node hierachies; automatic and explicit Z ordering; a sample of each SKNode type; animations and actions; "look at" and "follow" constraints; simple physics; and a sample of each SCNTransition.

Plummet: A gravity indicator, or plumb bob, using CMMotionManager and SpriteKit.

SpriteKit Particle System Sampler: A sample of each of the Xcode-supplied particle systems.

Spiral Illusion An optical illusion. Targets for both iOS and tvOS.

Marble Trails Demonstration of physics bodies, variable gravity based on CMMotionManager, and gravity fields.

Collision Detection Bostock A SpriteKit reimplementation of Mike Bostock's D3.js (force-directed graph demonstration)[http://bl.ocks.org/mbostock/3231298].

AVCam-iOSUsingAVFoundationtoCaptureImagesandMovies): Apple camera sample, with a transparent SpriteKit as a notional HUD.

Empty SpriteKit: A blank, square, SKScene/SKView, centered on the device.

D3.js

WebView Sampler: Demonstration of WKWebView, loading various websites, local pages, and D3.js samples.

JS Conversation: Communication between Swift code and JavaScript/WKWebView. Illustrates converting Swift data to JavaScript and sending to a WKWebView, triggering Swift alerts from JavaScript, sending a JavaScript object to Swift, and conversion back to a native Swift object.

CIRIMS Viewer: Visualization of some oceanographic data from UW Applied Physical Laboratory.

SceneKit

Coming up...