timob256 Asked:2022-03-14 22:31:36 +0800 CST2022-03-14 22:31:36 +0800 CST 2022-03-14 22:31:36 +0800 CST 领域。怎么画? 772 我正在尝试绘制一个球体。 由这个公式制成 这是代码: for (j = 0; j <= q; j++) { for (i = 0; i <= p; i++) { vertices[k++] = R * cos((float)j /q * PI) * sin(2.0 * (float)i / p * PI); vertices[k++] = R * sin((float)j /q * PI) * sin(2.0 * (float)i / p * PI); vertices[k++] = R * cos((float)j /q * PI); } } 这是我得到的: геометрия 1 个回答 Voted Best Answer user361068 2022-03-14T23:50:46+08:002022-03-14T23:50:46+08:00 将您的代码与公式进行比较,您可以看到错误在于计算的第一行或最后一行。如果在第一行,那么您需要sin用cos和cos替换sin。那些。线 vertices[k++] = R * cos((float)j /q * PI) * sin(2.0 * (float)i / p * PI); 应该看起来像 vertices[k++] = R * sin((float)j /q * PI) * cos(2.0 * (float)i / p * PI); 如果是后者,则替换 vertices[k++] = R * cos((float)j /q * PI); 在 vertices[k++] = R * cos(2.0 * (float)i / p * PI);
将您的代码与公式进行比较,您可以看到错误在于计算的第一行或最后一行。如果在第一行,那么您需要
sin
用cos
和cos
替换sin
。那些。线应该看起来像
如果是后者,则替换
在