0
각도를 지정하고 그 각도만큼 삼각형의 좌표를 회전시키는 기능이 있습니다. 그러나 부드럽게 달리기보다는 약간 멈추고 새로운 위치로 점프합니다.회전이 원활하게 실행되지 않습니다.
이 기능은 원래 좌표를 원점으로 이동하고 이미 이동 한 각도와 지정된 각도를 회전하여 작동합니다. 그런 다음 이미지를 현재 위치로 변환하기 전에 좌표를 수정되지 않은 위치로 다시 변환합니다.
void rotateTriangle(double angle_){
int ang = angle_ + angle;
triCoords[0]=((triCoords_[0] - triPos_[0])*cos(ang) - (triCoords_[1] - triPos_[1])*sin(ang)) + triPos_[0] + triPos[0];
triCoords[1]=((triCoords_[1] - triPos_[1])*cos(ang) + (triCoords_[0] - triPos_[0])*sin(ang)) + triPos_[1] + triPos[1];
triCoords[2]=((triCoords_[2] - triPos_[0])*cos(ang) - (triCoords_[3] - triPos_[1])*sin(ang)) + triPos_[0] + triPos[0];
triCoords[3]=((triCoords_[3] - triPos_[1])*cos(ang) + (triCoords_[2] - triPos_[0])*sin(ang)) + triPos_[1] + triPos[1];
triCoords[4]=((triCoords_[4] - triPos_[0])*cos(ang) - (triCoords_[5] - triPos_[1])*sin(ang)) + triPos_[0] + triPos[0];
triCoords[5]=((triCoords_[5] - triPos_[1])*cos(ang) + (triCoords_[4] - triPos_[0])*sin(ang)) + triPos_[1] + triPos[1];
}
문제를 해결해 주셔서 감사합니다. –