我正在使用SDL绘制三角形。以下函数旨在获取存储在'triCoords'数组中的三角形坐标,并将它们围绕存储在'triPos'数组中的三角形中心旋转指定角度。然而,尽管它似乎正确地转动它也在不断缩小的三角形随着时间的推移旋转缓慢缩小图像
triCoords[0]=((triCoords[0] - triPos[0])*cos(angle) - (triCoords[1] - triPos[1])*sin(angle)) + triPos[0];
triCoords[1]=((triCoords[1] - triPos[1])*cos(angle) + (triCoords[0] - triPos[0])*sin(angle)) + triPos[1];
triCoords[2]=((triCoords[2] - triPos[0])*cos(angle) - (triCoords[3] - triPos[1])*sin(angle)) + triPos[0];
triCoords[3]=((triCoords[3] - triPos[1])*cos(angle) + (triCoords[2] - triPos[0])*sin(angle)) + triPos[1];
triCoords[4]=((triCoords[4] - triPos[0])*cos(angle) - (triCoords[5] - triPos[1])*sin(angle)) + triPos[0];
triCoords[5]=((triCoords[5] - triPos[1])*cos(angle) + (triCoords[4] - triPos[0])*sin(angle)) + triPos[1];
始终将原始(未修改的)图像用作旋转功能的输入参数。 – 2501
为什么使用旋转的坐标会导致其缩小? –