Being science students, we often come across topics that make us imagine objects in 3d space. These concepts aren't properly depicted in the 2d books/slides which makes it really hard for the students to get a complete perception. Our project focuses on bringing conventional learning methods together with interactive 3d visualization.
What it does
Xperiment.3D offers 3D models and experiment simulations in the subjects of physics, chemistry, biology, and math for kindergarten to university level classes. The project creates simulations of major concepts that students as a part of their curriculum that require imagining objects in 3D space. Users can orbit, zoom in-and-out, move the model, as well as see the model in different variations. By providing them with appropriate theories and explanations along with the descriptive 3D structures and animations, Xperiment.3D assures that students gain detailed knowledge.
How I built it
- Backend using PHP MVC Architecture
- 3d models using Blender
- Model integration using Three.js
Challenges I ran into
- Switching between figures in web canvas while maintaining all the properties and making it efficient
- Animating the 3d models in web canvas
- Creating models for the concepts was a challenge as our aim was to make the projects understandable and clear, not complex and flashy. Hence we had to spend time making 2D images of Models and Converting them to 3D models, some in the form of animations.
Accomplishments that I'm proud of
One accomplishment that our team is proud of is that we effectively coordinated with each other although we had never met before and lived in different time zones. Every team member played their part with complete responsibility. Another accomplishment is that we could design a project that is user friendly and could create models that explain various concepts beautifully. The project is capable of imparting valuable knowledge to students and hence fulfills the goal that we aimed at.
What I learned
We got to learn various things during the completion of the project. These included three.js,OOP concepts and Promises in Javscript and also MVC structure for PHP. However, the most important and interesting thing we learned was how to act as a team and use an effective division of labor.
What's next for Xperiment.3d
We aspire to make Xperiment.3D accessible and more useful in the future by inculcating various features and increasing its reach. We plan to add variable assignments that will in real-time change the 3D model/simulation and make interactive projections in 3d space to emulate motion. Like:- free falls involving air drag, buoyant force, pulley systems with variable weights, spring forces. Along with this, we aim to connect with online classes as supplementary material by having teachers and their students as users. Lastly, Xperiment.3D will continuously feature new and exciting information, models, and interactive features.