x2 = (x1 * sin[dg]) - (y1 * cos[dg]);
y2 = (x1 * cos[dg]) - (y1 * sin[dg]);

な点の回転を掛け算使わずにシフトでやるとか見たような気がする。