Skip to content

Commit

Permalink
fix: center cylinder
Browse files Browse the repository at this point in the history
  • Loading branch information
JulioJPinto committed Mar 5, 2024
1 parent cbcf6b6 commit 88b4008
Show file tree
Hide file tree
Showing 4 changed files with 256 additions and 14 deletions.
2 changes: 1 addition & 1 deletion engine/src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ void renderScene(void) {
// put drawing instructions here
drawAxis();

glPolygonMode(GL_FRONT, GL_LINE);
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
for (std::string model : c.models) {
drawFile(model.data());
}
Expand Down
26 changes: 14 additions & 12 deletions generator/src/shapes/cylinder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,44 +12,46 @@ std::vector<Point> cylinderTriangles(const float radius, const float height,
std::vector<Point> vertex;

float alpha = 2 * M_PI / slices;
float half = height / 2;

float r = 0;

for (int i = 0; i < slices; i++) {
// base
float px = radius * sin(r);
float pz = radius * cos(r);
vertex.push_back(Point(px, 0, pz));
vertex.push_back(Point(0, 0, 0));
vertex.push_back(Point(px, -half, pz));
vertex.push_back(Point(0, -half, 0));
r += alpha;
px = radius * sin(r);
pz = radius * cos(r);
vertex.push_back(Point(px, 0, pz));
vertex.push_back(Point(px, -half, pz));

// face
vertex.push_back(Point(px, 0, pz));
vertex.push_back(Point(px, height, pz));
vertex.push_back(Point(px, -half, pz));
vertex.push_back(Point(px, half, pz));
r -= alpha;
px = radius * sin(r);
pz = radius * cos(r);
vertex.push_back(Point(px, height, pz));
vertex.push_back(Point(px, half, pz));

vertex.push_back(Point(px, height, pz));
vertex.push_back(Point(px, 0, pz));
vertex.push_back(Point(px, half, pz));
vertex.push_back(Point(px, -half, pz));
r += alpha;
px = radius * sin(r);
pz = radius * cos(r);
vertex.push_back(Point(px, 0, pz));
vertex.push_back(Point(px, -half, pz));

// topo
r += alpha;
px = radius * sin(r);
pz = radius * cos(r);
vertex.push_back(Point(px, height, pz));
vertex.push_back(Point(0, height, 0));
vertex.push_back(Point(px, half, pz));
vertex.push_back(Point(0, half, 0));
r -= alpha;
px = radius * sin(r);
pz = radius * cos(r);
vertex.push_back(Point(px, height, pz));
vertex.push_back(Point(px, half, pz));
}

return vertex;
Expand Down
240 changes: 240 additions & 0 deletions models/cil.3d
Original file line number Diff line number Diff line change
@@ -0,0 +1,240 @@
0 -1.5 1
0 -1.5 0
0.309017 -1.5 0.951057
0.309017 -1.5 0.951057
0.309017 1.5 0.951057
0 1.5 1
0 1.5 1
0 -1.5 1
0.309017 -1.5 0.951057
0.587785 1.5 0.809017
0 1.5 0
0.309017 1.5 0.951057
0.309017 -1.5 0.951057
0 -1.5 0
0.587785 -1.5 0.809017
0.587785 -1.5 0.809017
0.587785 1.5 0.809017
0.309017 1.5 0.951057
0.309017 1.5 0.951057
0.309017 -1.5 0.951057
0.587785 -1.5 0.809017
0.809017 1.5 0.587785
0 1.5 0
0.587785 1.5 0.809017
0.587785 -1.5 0.809017
0 -1.5 0
0.809017 -1.5 0.587785
0.809017 -1.5 0.587785
0.809017 1.5 0.587785
0.587785 1.5 0.809017
0.587785 1.5 0.809017
0.587785 -1.5 0.809017
0.809017 -1.5 0.587785
0.951057 1.5 0.309017
0 1.5 0
0.809017 1.5 0.587785
0.809017 -1.5 0.587785
0 -1.5 0
0.951057 -1.5 0.309017
0.951057 -1.5 0.309017
0.951057 1.5 0.309017
0.809017 1.5 0.587785
0.809017 1.5 0.587785
0.809017 -1.5 0.587785
0.951057 -1.5 0.309017
1 1.5 -4.37114e-08
0 1.5 0
0.951057 1.5 0.309017
0.951057 -1.5 0.309017
0 -1.5 0
1 -1.5 -4.37114e-08
1 -1.5 -4.37114e-08
1 1.5 -4.37114e-08
0.951057 1.5 0.309017
0.951057 1.5 0.309017
0.951057 -1.5 0.309017
1 -1.5 -4.37114e-08
0.951056 1.5 -0.309017
0 1.5 0
1 1.5 -4.37114e-08
1 -1.5 -4.37114e-08
0 -1.5 0
0.951056 -1.5 -0.309017
0.951056 -1.5 -0.309017
0.951056 1.5 -0.309017
1 1.5 -4.37114e-08
1 1.5 -4.37114e-08
1 -1.5 -4.37114e-08
0.951056 -1.5 -0.309017
0.809017 1.5 -0.587785
0 1.5 0
0.951057 1.5 -0.309017
0.951057 -1.5 -0.309017
0 -1.5 0
0.809017 -1.5 -0.587785
0.809017 -1.5 -0.587785
0.809017 1.5 -0.587785
0.951057 1.5 -0.309017
0.951057 1.5 -0.309017
0.951057 -1.5 -0.309017
0.809017 -1.5 -0.587785
0.587785 1.5 -0.809017
0 1.5 0
0.809017 1.5 -0.587785
0.809017 -1.5 -0.587785
0 -1.5 0
0.587785 -1.5 -0.809017
0.587785 -1.5 -0.809017
0.587785 1.5 -0.809017
0.809017 1.5 -0.587785
0.809017 1.5 -0.587785
0.809017 -1.5 -0.587785
0.587785 -1.5 -0.809017
0.309017 1.5 -0.951057
0 1.5 0
0.587785 1.5 -0.809017
0.587785 -1.5 -0.809017
0 -1.5 0
0.309017 -1.5 -0.951057
0.309017 -1.5 -0.951057
0.309017 1.5 -0.951057
0.587785 1.5 -0.809017
0.587785 1.5 -0.809017
0.587785 -1.5 -0.809017
0.309017 -1.5 -0.951057
-3.25841e-07 1.5 -1
0 1.5 0
0.309017 1.5 -0.951057
0.309017 -1.5 -0.951057
0 -1.5 0
-3.25841e-07 -1.5 -1
-3.25841e-07 -1.5 -1
-3.25841e-07 1.5 -1
0.309017 1.5 -0.951057
0.309017 1.5 -0.951057
0.309017 -1.5 -0.951057
-3.25841e-07 -1.5 -1
-0.309017 1.5 -0.951056
0 1.5 0
-3.25841e-07 1.5 -1
-3.25841e-07 -1.5 -1
0 -1.5 0
-0.309017 -1.5 -0.951056
-0.309017 -1.5 -0.951056
-0.309017 1.5 -0.951056
-3.25841e-07 1.5 -1
-3.25841e-07 1.5 -1
-3.25841e-07 -1.5 -1
-0.309017 -1.5 -0.951056
-0.587786 1.5 -0.809017
0 1.5 0
-0.309017 1.5 -0.951056
-0.309017 -1.5 -0.951056
0 -1.5 0
-0.587786 -1.5 -0.809017
-0.587786 -1.5 -0.809017
-0.587786 1.5 -0.809017
-0.309017 1.5 -0.951056
-0.309017 1.5 -0.951056
-0.309017 -1.5 -0.951056
-0.587786 -1.5 -0.809017
-0.809017 1.5 -0.587785
0 1.5 0
-0.587786 1.5 -0.809017
-0.587786 -1.5 -0.809017
0 -1.5 0
-0.809017 -1.5 -0.587785
-0.809017 -1.5 -0.587785
-0.809017 1.5 -0.587785
-0.587786 1.5 -0.809017
-0.587786 1.5 -0.809017
-0.587786 -1.5 -0.809017
-0.809017 -1.5 -0.587785
-0.951057 1.5 -0.309016
0 1.5 0
-0.809017 1.5 -0.587785
-0.809017 -1.5 -0.587785
0 -1.5 0
-0.951057 -1.5 -0.309016
-0.951057 -1.5 -0.309016
-0.951057 1.5 -0.309016
-0.809017 1.5 -0.587785
-0.809017 1.5 -0.587785
-0.809017 -1.5 -0.587785
-0.951057 -1.5 -0.309016
-1 1.5 9.65599e-07
0 1.5 0
-0.951057 1.5 -0.309016
-0.951057 -1.5 -0.309016
0 -1.5 0
-1 -1.5 9.65599e-07
-1 -1.5 9.65599e-07
-1 1.5 9.65599e-07
-0.951057 1.5 -0.309016
-0.951057 1.5 -0.309016
-0.951057 -1.5 -0.309016
-1 -1.5 9.65599e-07
-0.951056 1.5 0.309018
0 1.5 0
-1 1.5 9.65599e-07
-1 -1.5 9.65599e-07
0 -1.5 0
-0.951056 -1.5 0.309018
-0.951056 -1.5 0.309018
-0.951056 1.5 0.309018
-1 1.5 9.65599e-07
-1 1.5 9.65599e-07
-1 -1.5 9.65599e-07
-0.951056 -1.5 0.309018
-0.809016 1.5 0.587786
0 1.5 0
-0.951056 1.5 0.309018
-0.951056 -1.5 0.309018
0 -1.5 0
-0.809016 -1.5 0.587786
-0.809016 -1.5 0.587786
-0.809016 1.5 0.587786
-0.951056 1.5 0.309018
-0.951056 1.5 0.309018
-0.951056 -1.5 0.309018
-0.809016 -1.5 0.587786
-0.587784 1.5 0.809018
0 1.5 0
-0.809016 1.5 0.587786
-0.809016 -1.5 0.587786
0 -1.5 0
-0.587784 -1.5 0.809018
-0.587784 -1.5 0.809018
-0.587784 1.5 0.809018
-0.809016 1.5 0.587786
-0.809016 1.5 0.587786
-0.809016 -1.5 0.587786
-0.587784 -1.5 0.809018
-0.309016 1.5 0.951057
0 1.5 0
-0.587784 1.5 0.809018
-0.587784 -1.5 0.809018
0 -1.5 0
-0.309016 -1.5 0.951057
-0.309016 -1.5 0.951057
-0.309016 1.5 0.951057
-0.587784 1.5 0.809018
-0.587784 1.5 0.809018
-0.587784 -1.5 0.809018
-0.309016 -1.5 0.951057
1.60536e-06 1.5 1
0 1.5 0
-0.309016 1.5 0.951057
-0.309016 -1.5 0.951057
0 -1.5 0
1.60536e-06 -1.5 1
1.60536e-06 -1.5 1
1.60536e-06 1.5 1
-0.309016 1.5 0.951057
-0.309016 1.5 0.951057
-0.309016 -1.5 0.951057
1.60536e-06 -1.5 1
0.309019 1.5 0.951056
0 1.5 0
1.60536e-06 1.5 1
2 changes: 1 addition & 1 deletion scenes/test.xml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</camera>
<group>
<models>
<model file="cone.3d" /> <!-- generator cone 1 2 4 3 cone.3d -->
<model file="cil.3d" /> <!-- generator cone 1 2 4 3 cone.3d -->
</models>
</group>
</world>

0 comments on commit 88b4008

Please sign in to comment.