BMO - Example Model | Coin - Example Model |
---|---|
![]() |
![]() |
Desktop application in C++ to make sculptures in blocks represented by digital matrices. It allows the user to be able to create a plain text file that contains a sequence of steps to be followed to define properties of a three-dimensional matrix. The properties contain specifications for coordinates in the three-dimensional plane and color, with added transparency, for the elements. The built model can be visualized with the help of visualization software such as GeomView or Meshlab.
Access the documentation for using the Sculptor class here.
- Color manipulation in the RGBA model with real-time picker preview;
- Different ways to design sculptures, among them;
- Application and removal of a single voxel;
- Application and removal of a box, with dynamic dimensions, of voxels composed in space;
- Application and removal of a sphere, with dynamic dimensions, of voxels composed in space;
- Application and removal of an ellipse, with dynamic dimensions, of voxels composed in space;
- Selection of viewing planes:
- XY
- YZ
- XZ
- Shortcuts for opening the sculpture produced in flattened visualization systems for three-dimensional objects in off format:
- Dynamic alteration of the sculpture's dimensions;
- Sculpture conceptualization file loading. (its use is described in the section below);
- Dynamic visualization on the plane by changing the depth axis;
- The system has a strong feature to read figures recorded in a file and draw them according to the present instructions. The file can contain the following instructions.
- The file will contain several of these lines, each one containing an instruction orienting the type of drawing to be carried out in the sequence. At the end, the program will read this file and create an output file in
OFF
format containing the design conceptualized in the provided file.
Code | What it does |
---|---|
dim largura altura profundidade |
Defines the dimensions of the sculpture. Ex.: dim 60 40 55 |
putvoxel x y z r g b a |
Draw a voxel at position (x ,y ,z ) with color r ,g ,b and a . Ex.: putvoxel 5 5 10 1.0 0.8 0.4 0.3 |
cutvoxel x y z |
Deletes a voxel at position (x ,y ,z ) with color r ,g ,b and a . Ex.: cutvoxel 5 5 10 |
putbox xi xf yi yf zi zf r g b a |
Draws a parallelepiped delimited by x belonging to (xi , xf ), y belonging to (yi , yf ) and z belonging to (zi , z1 ) with the color r , g , b and a . Ex.: putbox 10 15 12 33 1 8 0.4 0.5 0.8 1 |
cutbox xi xf yi yf zi zf |
Deletes a parallelepiped delimited by x belonging to (xi , xf ), y belonging to (yi , yf ) and z belonging to (zi , z1 ). Ex.: cutbox 10 15 12 33 1 8 |
putsphere x_center y_center z_center radius r g b a |
Draws a sphere with center at point (x_center , y_center , z_center ), specified radius and color r , g , b and a .Ex.: putsphere 10 10 5 3 1.0 1.0 0.5 0.3 |
cutsphere x_center y_center z_center radius |
Deletes a sphere with center at the specified point (x_center , y_center , z_center ), radius . Ex.: cutsphere 10 10 5 3 |
putellipsoid x_center y_center z_center x_radius y_radius z_radius r g b a |
Draws an ellipsoid with center at point (x_center , y_center , z_center ), specified radii (x_radius , y_radius , z_radius ) and color r ,g ,b and a .Ex.: putellipsoid 10 10 5 3 4 5 1.0 0.5 0.9 0.4 |
cutellipsoid x_center y_center z_center x_radius y_radius z_radius |
Deletes an ellipsoid with center at point (x_center , y_center , z_center ) and specified radius (x_radius , y_radius , z_radius ).Ex.: cutellipsoid 10 10 5 3 4 5 |
- Fork this repository:
- Create a new branch:
$ git branch -b <branch_name>
- Run in development mode in qt Creator:
- Develop....... 🤯🚀
After your amazing contribution is complete, open a Pull Request
which I will review!
* Correctly use the configuration files to run and/or develop. You will find the models here.
Encouraged and idealized in semester 2022.1 by the teacher Agostinho Brito Junior.
Federal University of Rio Grande do Norte - Department of Computer Engineering and Automation.