Project Phase
Project Requirement
In the simplest terms, our group project is to create a 3D application that can teach children an application of 3D software.User case
Our use case is revolve around children therefore few of the point become our requirement:- Simple Can be integrated into school syllabus
- Intuitive Educational, entertaining and zero-mess experience
- Appealing Children can partake in simple 3D modelling and early exposure to 3D Printing
Geometry
At our current MVP, 1 Part contain more than 1 Surface. The Surface may contain more than 1 triangle, and on each Surface and Triangle contain their own vertex. All the Vertex will be store on the Point Cloud.
UIObject
Created using an adapter pattern:- Created using interfaces and supports polymorphic behavior
- Has a 1-1 relationship with Geometry and contains additional components with accessible interfaces.
Interface
|
Provides Access to:
|
ILabelObject
|
LabelComponent&
|
ISelectableObject
|
SelectableComponent&
|
ITransformableObject
|
Coordinate_System&,void* p_gizmo
|
IColourObject
|
ColourComponent&
|
IRenderableObject
|
RenderableComponent&
|
IMovableVertex
|
Coordinate_System, void* p_gizmo, Vertex&
|
Component
Component
|
Responsible for:
|
LabelComponent
|
Name of object
|
SelectableComponent
|
Selection
|
ColourComponent
|
(Surface) Colour
|
RenderableComponent
|
Values provided to rendere
|
Coordinate_System
|
Transformation
|
List of UIObjects
- UIPart : ILabelObject
- Is an ILabelObject
- Contains a Geometry Part
- Contains a list of UISurface
- Can add, remove and provide access to UISurface contained within itself
- UISurface : ILabelObject, ISelectableObject, ITransformableObject, IColourObject
- Is ILabelObject, ISelectableObject, ITransformableObject, IColourObject
- Contains reference to a Geometry Surface
- Contains a list of UITriangle and a list of UIVertex
- Can add, remove and provide access to member UITriangles
- Provide access to member UIVertex
- UITriangle : IRenderableObject
- Is an IRenderableObject
- Contains reference to a Geometry Triangle
- UIVertex : ISelectableObject, IMovableVertex
- Is ISelectableObject, IMovableVertex
- Contains a reference to Geometry Vertex
Mat Academy Experiences
- Team bonding – Building bridges, communications skills
- Learning new Tech
- Adapting to unforeseen circumstances
- Getting out of comfort zones and facing new challenges
- Gaining industrial exposure
Final Product
Conclusion
At the end of the program we mange to properly display an 3D object and their properties. The application provided 3 distinguish shape (Triangle,square,polygon) for use to play around. The database able display a proper information such as Surface owner, coordination and color. However since we short in time, we unable to optimizing certain aspect example clipping mechanism for triangles. But we sure, if we allow for more development time we able to complete it.