OpenGL:如何围绕一个公共点旋转一组多边形

OpenGL: How to rotate a group of polygons about a common point

我有一组多边形需要旋转,同时保留它们的空间相互关系。

这种情况与试图将帽子固定在一个人的头上没有什么不同,从侧面看,这个人正在上下点头。当 "head" 向前倾斜时,围绕 "neck," 中的一个点旋转 "hat" 需要匹配倾斜,但也要围绕 "neck" 中的那个点摆动,以便它保持打开状态"head."

旋转"head"没问题。我只是将它平移到原点,执行旋转,然后撤消平移。难倒我的是 "hats"。我的代码正在使用矩阵堆栈。

有什么建议吗?

这很简单,只需平移,这样旋转的点就是原点,然后旋转然后平移回来。它将与您用于头部的矩阵组合相同。