首页 > 解决方案 > 使用索引坐标 (x,y,z) 和一侧的大小创建一个正方形

问题描述

在我的 Open GL C++ 程序中,我使用索引 x、y、z 坐标和半径创建了一个圆。我想创建一个大小为 2r 并使用该坐标的正方形。有人能解释一下如何使用 r、x、y、z 创建正方形吗?正方形的一侧应该等于 2r

从下面的代码中,我可以计算正方形的 x 和 y 坐标,但是如何获得 z 坐标?

void drawSquare(double x1, double y1, double sidelength)
{
    double halfside = sidelength / 2;

    glColor3d(0,0,0);
    glBegin(GL_POLYGON);

    glVertex2d(x1 + halfside, y1 + halfside);
    glVertex2d(x1 + halfside, y1 - halfside);
    glVertex2d(x1 - halfside, y1 - halfside);
    glVertex2d(x1 - halfside, y1 + halfside);

    glEnd();
}

这个正方形也在旋转,因此也不能使用圆的索引 z 值。

谢谢

标签: c++objectopengl

解决方案


推荐阅读