所以我在这里有一个数学函数假设返回一个旋转的点,并采取原点,指向旋转(原点)和弧度来旋转它。函数在另一个点上旋转一个点
然而,它以半速仅旋转(又名180度运动= 90度旋转)
sf::Vector2f RotatePoint(sf::Vector2f origin, sf::Vector2f point, float radian) {
float s = sin(radian);
float c = cos(radian);
// translate point back to origin:
point.x -= origin.x;
point.y -= origin.y;
// rotate point
float xnew = point.x * c - point.y * s;
float ynew = point.x * s + point.y * c;
// translate point back to global coords:
sf::Vector2f TranslatedPoint;
TranslatedPoint.x = xnew + origin.x;
TranslatedPoint.y = ynew + origin.y;
return TranslatedPoint;
}
你为什么要在原地修改点参数? – sinelaw
你的问题是什么? –
你的问题是什么?结果是什么? – Simon