方向和方向问题

我画了5个红色的触手。 我把这些触手画在一个二维圆上,并把它们放在那个圆的五个顶点上。 顺便说一句,圆是永远不会画的,我用它来简化问题。 现在我想用水母下面的触手把那个圆圈贴在上面。 目前的代码存在问题,但我不知道它是什么。

你可以看到圆圈平行于果冻鱼的底部。 我希望它被移动,以便它在里面的果冻鱼。 但我不知道如何。 我试图乘以方向vector来扩展它,但没有奏效。

// One tentacle is constructed from nodes // Get the direction of the first tentacle's node 0 to node 39 of that tentacle; Vec3f dir = m_tentacle[0]->geNodesPos()[0] - m_tentacle[0]->geNodesPos()[39]; // Draw the circle with tentacles on it Vec3f pos = m_SpherePos; drawCircle(pos,dir,30,m_tentacle.size()); for (int i=0; i<m_tentacle.size(); i++) { m_tentacle[i]->Draw(); } // Draw the jelly fish, and orient it on the 2D Circle gl::pushMatrices(); Quatf q; // assign quaternion to rotate the jelly fish around the tentacles q.set(Vec3f(0,-1,0),Vec3f(dir.x,dir.y,dir.z)); // tanslate it to the position of the whole creature per every frame gl::translate(m_SpherePos.x,m_SpherePos.y,m_SpherePos.z); gl::rotate(q); // draw the jelly fish at center 0,0,0 drawHemiSphere(Vec3f(0,0,0),m_iRadius,90); gl::popMatrices(); 

我想你想沿着由dir定义的行移动“circle”位置。

 Vec3f pos = m_SpherePos + dir.Normalise() * -10;