Это сильно зависит от того, как вы двигаете треугольник и круг. Я полагаю, у вас, по крайней мере, уже есть локальный центр круга, поскольку это необходимо для определения круга. Для местного центра треугольника, попробуйте Google или любую приличную книгу по математике.
Я предполагаю, что вы делаете glTranslate
вызовы со случайными параметрами. Вы можете получить текущую матрицу вида модели и извлечь компонент перевода, но я бы посоветовал против этого. Вам будет проще отслеживать параметры вручную, поскольку, если у вас есть только glTranslate
, это будет простое добавление. В сочетании с glRotate
это будет несколько сложнее, но, поскольку эти функции уже устарели, вам все равно придется самостоятельно выполнять отслеживание (сверните собственную матричную математику или предпочтительно используйте библиотеку).