Exemple #1
0
        public void Canvas3D_Test_13_Rotate_Z()
        {
            I3DShader Shader = this.GetPhongShader(SKColors.Red);
            Canvas3D  Canvas = new Canvas3D(1200, 800, 1, SKColors.White);

            Canvas.Perspective(200, 2000);

            this.DrawThreePlanes(Canvas, Shader);

            Shader = this.GetPhongShader(SKColors.Blue);
            Matrix4x4 Bak = Canvas.Translate(-250, 250, 0);

            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(30, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(250, 250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(120, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(-250, -250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(210, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            Canvas.ModelTransformation = Bak;
            Canvas.Translate(250, -250, 0);
            Canvas.Scale(0.25f, new Vector3(0, 0, 1500));
            Canvas.RotateZ(500, new Vector3(0, 0, 1500));
            Canvas.Box(-500, -500, 1000, 500, 500, 2000, Shader);

            this.Save(Canvas, "13.png");
        }