aaronjenson / projection Goto Github PK
View Code? Open in Web Editor NEWHigher dimensions, projected onto your 2D screen
Home Page: https://aaronjenson.github.io/Projection/
License: GNU General Public License v3.0
Higher dimensions, projected onto your 2D screen
Home Page: https://aaronjenson.github.io/Projection/
License: GNU General Public License v3.0
Guess i shouldn't have removed that...
Distinguish the responsibilities of each class, and move functions as needed.
Add a menu button, move individual axis controls to a collapsible side menu. Add dark mode, and allow changing the thickness and style of cube lines and vertices.
Make it readable
Drawing w/ 5 dimensions or more significantly reduces frame rate. Should calculate all points before drawing, rather than performing rotations and projections twice or more on each point.
If the animation is paused, then dragging the slider to change the rotation of a particular axis doesn't update the actual rotation of the cube until the slider is released, making it hard to actually determine the effects of the sliding.
Axonometric projection might be able to reduce some calculation time (helping #14), and could look cleaner in some scenarios. The option to switch back to perspective projection should be available to allow a user to choose between appearance and speed.
Axonometric projection is essentially just skipping the perspective projection step, and rather just using the calculated x and y positions of each regardless of the remaining dimension's values.
Needs to respond to changes to slider position while user is dragging. (input) will trigger in this case, but model is not updated.
2d is huge, 3d is just a little small, any higher dimensions are too small to see
Allow choosing from a predefined list, or maybe generalize for any regular polygon.
Minor issues such as slightly off-center cube in card, not perfectly square card, etc.
Place cube card on top, remove GitHub link, position controls under. Maybe remove card for controls to allow for just a bit more space?
Maybe screenshot a hypercube and resize image?
Explain the rotation naming system in a dialog that appears on clicking a question mark icon, explain loosely how the project works and give attributions in a dialog that appears on clicking an about button.
If new dimension is smaller than old, remove any that have basis' outside of current dimension.
If new dimension is larger than old, add new rotation for each lower dimension (e.g. 1-5, 2-5, 3-5, and 4-5).
Old dimension can be calculated from rotation list.
Right now, most styles are using the style
HTML attribute. That's bad.
Maybe a rewind/fast forward icon next to the play/pause icon to toggle rotation direction.
Another slider below angle, add vel to rotation interface, change updateRotations()
function.
The auto-generated readme by angular-cli isn't very informative
gh-pages places image in assets/..., while the dev environment looks in src/assets/...
Needs to call $event.stopPropagation();
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.