An experiment in creating useful 3D visualizations using Apple's SceneKit. The visualizations are aimed at general data visualization, similiar to charts and graphs, and taking quite a bit of inspiration from D3. The resulting SceneKit files are aimed at being animatable, dynamic, and interactive, depending on the visualization.
The experiment is partially about the visualizations, and partially to work out an effect API for a 3D visualization toolkit, inspired by D3 and other charting libraries (such as IOSCharts).
dev tooling dependencies
Xcode and a few helpers:
brew install swiftlint brew install swiftformat
(using linters and formatters because I tend to be pretty inconsistent and appreciate the warnings)
Command Line Building & Testing
view all the settings:
view the schemes and targets:
xcodebuild -scheme Experiment439 -showdestinations
do a build:
xcodebuild -scheme Experiment439 -configuration Debug xcodebuild -scheme Experiment439 -configuration Release
run the tests:
xcodebuild clean test -scheme Experiment439 | xcpretty --color
visualization ideas that I think I'd like to try and enable with these experiments (maybe creating a basic gallery):
- (single axis) with color/size of resulting object representing something (capacity/util of a set of nodes)
- classic time series data, single series - time as one axis, values at time the other
- "layered" 2-dimensional plots (mult time series data, for example sharing the same time axis)
- a classic 2D plot layed out against a dimension of time
- a 2D time series plot folded up to provide a day-of-week against a year, or hour against a day aggregate view
- a 2D layout/structure repeated in layers showing progression in time (maybe set of services, connected to show relations, and laying out over time - showing most recent, and then past states at various time intervals)
- a full 3 dimensional plot (3 dimensions of data - but what?)
- x,y (map) location and count/value at that dimension?