c++ - 如何调整将二维圆绘制成椭圆的 OpenGL 代码
问题描述
我有这行代码用来画圆,但我想知道如何调整代码,这样我会得到一个椭圆而不是圆。
void circle(int n, int x, int y, int r) {
double inc = 2 * PI / (double)n;
glBegin(GL_POLYGON);
for (double theta = 0.0; theta <= 2 * PI; theta += inc) {
glVertex2i(r * cos(theta) + x, r * sin(theta) + y);
}
glEnd(); }
解决方案
这是我所拥有的:
void circle(int n, int x, int y, int rx, int ry) {
double inc = 2 * PI / (double)n;
glBegin(GL_POLYGON);
for (double theta = 0.0; theta <= 2 * PI; theta += inc) {
glVertex2i(rx * cos(theta) + x, ry * sin(theta) + y);
}
glEnd();
}
推荐阅读
- javascript - 如何使用javascript突出显示某一列中具有最小值的表行
- json - Azure ARM 模板 - 在不触发扩展安装的情况下运行 DSC 脚本?
- javascript - 我对如何运行 javascript 代码一无所知
- r - ifelse 在向量的每个元素上
- latex - 如何组合一些期刊论文的乳胶文件并制作一个包含所有具有自己格式的文件?
- python - 忽略 re.sub 命令 python 上的“\n”
- html - matSuffix 使 mat-icon 不在 mat-icon-button 中水平居中
- angular - 动态创建列时的 Ag-grid ExportAsCsv
- python - 解析表
- sorting - 如果 piot 是第一个或最后一个,那么快速排序指针的位置应该是什么?