imclab / stereoscopic_scatterplot Goto Github PK
View Code? Open in Web Editor NEWThis project forked from noahfreedman/stereoscopic_scatterplot
Unity Project for Side-By-Side Stereoscopic 3d Scatter Plot
This project forked from noahfreedman/stereoscopic_scatterplot
Unity Project for Side-By-Side Stereoscopic 3d Scatter Plot
Stereoscopic Statistics v1.0 ========================== The goal of this project is to enable 3D stereoscopic visualizations of data to assist in the teaching of statistics and to enable clearer visual analysis of data. No existing tools were found that are designed to display data in stereoscopic 3D visualizations. Requirements: - Unity 3 - Graphics card with decent 3D rendering capability - 3D TV or monitor that accepts side-by-side format stereoscopic input Code overview: - This project uses the Unity 3D game engine. It uses the open-source Stereoskopix FOV2GO for Unity to project the output from the Main Camera as two side-by-side images from slightly different camera angles that can be combined into one image on 3D TVs. - The main scene is Stereoscopic_Scatterplot/Assets/Scatter0.unity. The Cube object has data points added to it by the GeneratePoints.cs script. The GeneratePoints.cs script contains several parameters which can be set within the Unity editor. - The points in the scatterplot can be imported from an external file or randomly generated. There are two paramters which identify the absolute file path and file name to load data points from. The format for the data is comma-deliminated x, y, and z coordinates. A first line of header data is ignored if any non-digits or commas are detected. - The collection of data points is normalized to fit inside the cube. There is an paramted on GeneratePoints.cs to normalize the data points by either indiviudally scaling each axis (and distoring the projection), or maintaining the aspect ratio of the collection of data points as they are normalized to the scale of the the display cube. Alternatively, if the 'Auto Detect Data Range' option is disabled, then parameters for minimum and maximum X, Y, and Z values - The cube can be rotated to by dragging it with the mouse. The cube on the right-side projection accepts mouse input. There is also a parameter to change the materials that the cube is rendered from. Areas for further work: - Accepting input for lines or triangles in addition to points that can be rendered inside the display cube. - Scaling the display cube to different rectangular dimensions based on input, and properly repositioning the camera. - Camera controls, possibly by arrow key. - Adding scale markers to the cube, or labels indicating axis name. - A GUI to set parameters in, so the project does not need to be run from the Unity editor. This project was developed using the FOV2GO toolkit created by the MxR Lab at USC: http://diy.mxrlab.com
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.