Skip to content

Keith-43/SpinningPolyhedra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

SpinningPolyhedra

SpinningPolyhedra is an open-source multi-platform app (using SwiftUI, Swift, and Xcode) to provide sample code of what can be done using Apple's' SceneKit API. Currently it renders various spinning polyhedra.

This app runs on macOS, iOS, and iPadOS devices. The source code can be downloaded (here) .

The ContentView struct provides the user interface to the app.

It provides a top toolbar allowing the user to select the mesh geometry she wants to display. The nine options are: Plane, Tetrahedron, Cube, Octahedron, Dodecahedron, Cuboctahedron, Icosahedron, Rhombicuboctahedron, and TruncatedIcosahedron.

It also provides a bottom toolbar allowing the user to select the desired display mode. The five options are: solid, edges, solid + edges, faces, faces + edges, multiSolid, and multiSolid + edges.

Between these two toolbars is the main visualization pane rendering the desired View.

The solid body is rendered with a shiny metalic gold color. The edges (comprised of thin cylinders) are rendered with a simple orange color. And the faces are each rendered with a different value of the hue color gamut. In my humble opinion, the result is pretty impressive. It looks partcularly striking when viewed in Dark Mode.

The multiSolid bodies are 6 polyhedra of different radii and at different distances from the camera. Each one spins on a different axis and at a different rate.

A drag gesture (using either macOS or iOS) moves the x,y position of the camera - while it remains pointed at the center of the largest polyhedron.

Releases

No releases published

Packages

No packages published

Languages