Ich versuche Quadrics in C++ mit OpenGL zu zeichnen.Wie zeichne Hyperboloids mit OpenGL C++?
Quadrics sind die Kugel und Hyperboloides eines Blattes und zwei Blätter. Um sie zu zeichnen, verwende ich nur die parametrischen Gleichungen von jedem. Die Kugel, wenn ich zog
Beispiel: Die parametrischen Gleichungen der Kugel ist:
Um die Kugel mit diesen Gleichungen zu zeichnen, was ich in OpenGL zu tun ist einfach dies für eine Kugel, das auf der Ursprung zeichnen x0
, y0
und z0
gleich Null:
void Sphere(){
GLfloat x, y, z, alpha, beta; // Storage for coordinates and angles
GLfloat radius = 1.0f;
int gradation = 20;
glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
for (float alpha = 0.0; alpha < PI; alpha += PI/gradation)
{
glBegin(GL_TRIANGLE_STRIP);
for (beta = 0.0; beta < 2.01*PI; beta += PI/gradation)
{
x = radius*cos(beta)*sin(alpha);
y = radius*sin(beta)*sin(alpha);
z = radius*cos(alpha);
glVertex3f(x, y, z);
}
glEnd();
}
glutSwapBuffers();
}
I die Ergebnis ist dies (eine Kugel):
Problem:
Durch die gleiche Logik auf den zeichnen Anwendung Hyperboloide, ich weiß nicht, was ich will. Die parametrischen Gleichungen der Hyperboloides sind wie folgt:
Beim Versuch, den Hyperboloid ein Blattes mit den Gleichungen in dem Bild gezeigt zu zeichnen, ist dies das Ergebnis ist:
Wenn jemand etwas darüber weiß, bitte, wenn Sie mir dabei helfen können. Danke euch allen.
Hinweis: Ich weiß, es gibt andere Möglichkeiten, ein Hyperboloid zu zeichnen, aber die Art, wie ich sie zeichne, ist durch seine parametrischen Gleichungen.
Der Code der Kugel ist, dass nur um 45 Grad relativ zur Achse gedreht Y –
@ L.Flor ich fürchte, ich verstehe nicht. Können Sie einen MCVE bereitstellen, der die fehlerhafte Ausgabe generiert? – Davislor
@ L.Flor, wenn Sie Hilfe benötigen, bieten Sie [Beispielcode mit, wie man und alles] (http://stackoverflow.com/help/mcve) alias "minimales, vollständiges und überprüfbares Beispiel". –