I m在开放式GL中从事一个(两个)简单的2D项目。 它带有某种异构体。
该船基本上是高度H的骨质,其基数为H/2。
我迄今这样做的方式只是仓储三角地的中心点,然后计算该飞地的最后垂直位置。 该船点为(船员为xy)(CP.x, CP.y + H/2)。 其他两点是(CP.X - H/4, CP.Y - H/2)和(CP.X + H/4, CP.Y - H/2)。
为了让该船接受正确方向,我首先在目前的轮班上 gl光。
然而,这一部分的操作是罚款的,但Im会遇到碰撞探测问题。 目前,我试图进行三角飞机碰撞探测,但这样做,首先需要在轮船后标明实际点。 然而,我却尝试利用三角绳计算这些点。
我的尝试是利用ine子规则,在轮任后找到离散三角地和三角地之间的距离。 举一个例子,下面是我如何在轮换后努力计算点vert的位置:
//pA is a vector struct holding the position of the pointy vertex of the ship (centerPoint.x, centerPoint.y + height / 2)
//Distance between pA and the rotated pointy vertex - using the cosine rule
float distance = sqrt((2 * pow(size / 2, 2)) * (1 - cosf(rotAngle)));
//The angle to the calculated point
float newPointAngle = (M_PI / 2) - rotAngle;
float xDif = distance * cosf(newPointAngle);
float yDif = distance * sinf(newPointAngle);
//Actually drawing the new point
glVertex2f(pA.x - xDif, pA.y - yDif);
任何想法,我会做什么错?