gpt4 book ai didi

c++ - 如何将这个多边形旋转到与旋转立方体相同的位置?

转载 作者:行者123 更新时间:2023-11-28 06:29:25 24 4
gpt4 key购买 nike

我正在尝试将正方形旋转到红色正方形上绘制的位置。

我已经对较大的长方体使用了以下内容,它处于我想要的位置;

glrotatef ( n , 1.0, 0 , 0 ); (n is a changing value on keystrokes)

glrotatef ( x , 0, 1.0, 0 ); (x is a changing value on keystrokes)

然而,当我尝试对正方形做类似的事情时,它就消失了,我使用了 glvertex3f 并将所有 z 值都设置为 0,但是在旋转 z 轴时我永远无法到达我需要的点,所以它必须像长方体一样是 x 和 y 的组合。

enter image description here

最佳答案

问题是您的 draw_cuboid() 函数在原点绘制立方体(这是正确的),然后由您调用 glRotatef() 修改的投影矩阵旋转它。这是正确的做法。另一方面,您的 draw_rect() 函数不会以原点为中心绘制矩形,而是使用变量 xy定位,影响旋转中心点。

您应该做的是以 (0,0) 为中心绘制矩形,旋转它,然后将其转换为 xy

下图(右)举例说明了绘制矩形时发生的情况。图片取自 here .

另请注意,您使用的是已弃用的 OpenGL 代码。您应该使用现代 OpenGL 绘制多边形。 Here有一个关于如何操作的非常好的教程。

Rotation

关于c++ - 如何将这个多边形旋转到与旋转立方体相同的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27880015/

24 4 0
文章推荐: swift - 在 Viewcontrollers 中更新导航 - Coredats
文章推荐: ios - 使用 GoogleMaps 时,myLocationEnabled 在 swift 上更改为 isMyLocationEnabled
文章推荐: ios - 如何检索现有场景中节点的位置?
文章推荐: javascript -