コード例 #1
0
ファイル: Transform.cs プロジェクト: parhelia512/OMEGA
        public Transform Rotate(float angle)
        {
            float rad = Calc.ToRadians(angle);
            float cos = Calc.Cos(rad);
            float sin = Calc.Sin(rad);

            var rotation = new Transform(cos, -sin, 0f, sin, cos, 0f, 0f, 0f, 1f);

            return(Combine(rotation));
        }
コード例 #2
0
ファイル: Transform.cs プロジェクト: parhelia512/OMEGA
        public Transform Rotate(float angle, float center_x, float center_y)
        {
            float rad = Calc.ToRadians(angle);
            float cos = Calc.Cos(rad);
            float sin = Calc.Sin(rad);

            var rotation = new Transform(
                cos, -sin, center_x * (1 - cos) + center_y * sin,
                sin, cos, center_y * (1 - cos) - center_x * sin,
                0f, 0f, 1f
                );

            return(Combine(rotation));
        }