指定した軸を中心にくるくると回転させたいのですがどうすればいいでしょうか。
計算式はここを参考にしました
http://imagingsolution.blog107.fc2.com/ ... y-111.html
#define PI 3.1415926535897932384626433832795f
#include "DxLib.h"
#include <math.h>
//x1 , y1 : 描画する線の起点座標
//x2 , y2 : 描画する線の終点座標
//Cx , Cy : 軸
//degree : 角度
int Turn_Line(int x1, int y1, int x2, int y2, int Cx, int Cy, int degree){
double rad = degree * PI / 180.0;
int X1 = x1*cos(rad)-y1*sin(rad)+Cx-Cx*cos(rad)+Cy*sin(rad);
int Y1 = y1*sin(rad)+y1+cos(rad)+Cy-Cx*sin(rad)-Cy*cos(rad);
int X2 = x2*cos(rad)-y2*sin(rad)+Cx-Cx*cos(rad)+Cy*sin(rad);
int Y2 = y2*sin(rad)+y2+cos(rad)+Cy-Cx*sin(rad)-Cy*cos(rad);
DrawLine( X1, Y1, X2, Y2, -1, 2 ) ;
return 0;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK );
int i=0;
while(!ProcessMessage() && !ClearDrawScreen()){
Turn_Line(100, 100, 200, 100, 150, 100, i);
ScreenFlip();
i++;
}
DxLib_End();
return 0;
}