private void EyeRotate(float n) { Transformacao4D matA = new Transformacao4D(); matA.AtribuirTranslacao(camera.At.X, camera.At.Y, camera.At.Z); Transformacao4D matB = new Transformacao4D(); matB.AtribuirRotacaoY(n * Math.PI / 120); matA = matA.MultiplicarMatriz(matB); matB.AtribuirTranslacao(-1 * camera.At.X, -1 * camera.At.Y, -1 * camera.At.Z); matA = matA.MultiplicarMatriz(matB); this.camera.Eye = PontoToVector(matA.MultiplicarPonto(VectorToPonto(this.camera.Eye))); }
protected override void OnLoad(EventArgs e) { this.pushMove(1, 0, 0, 3); Transformacao4D tr = new Transformacao4D(); Transformacao4D trAux = new Transformacao4D(); trAux.AtribuirTranslacao(0, 0.3, 0); tr.AtribuirRotacaoX(Math.PI / 33); this.movimentos.Add(trAux.MultiplicarMatriz(tr)); this.qtMovimentos.Add(33); this.pushMove(1, 0, 0, 4); this.movimentos.Add(trAux.MultiplicarMatriz(tr)); this.qtMovimentos.Add(33); this.pushMove(1, 0, 0, 3); this.pushMove(0, 0, 1, 10); this.pushMove(0, 1, 0, 10); this.pushMove(0, 0, -1, 10); this.pushMove(-1, 0, 0, 10); this.pushMove(0, -1, 0, 5); tr = new Transformacao4D(); trAux = new Transformacao4D(); trAux.AtribuirTranslacao(0.3, 0, 0); tr.AtribuirRotacaoY(Math.PI / 33); this.movimentos.Add(trAux.MultiplicarMatriz(tr)); this.qtMovimentos.Add(33); this.pushMove(0, 0, 1, 10); this.pushMove(0, -1, 0, 5); this.pushMove(1, 0, 0, 10); this.pushMove(0, 0, -1, 10); this.movimentos.Add(trAux.MultiplicarMatriz(tr)); this.qtMovimentos.Add(33); this.pushMove(1, 0, 0, 10); base.OnLoad(e); Console.WriteLine(" --- Ajuda / Teclas: "); Console.WriteLine(" [ H ] mostra teclas usadas. "); // obj_Retangulo = new Retangulo("A", null, new Ponto4D(50, 50, 0), new Ponto4D(150, 150, 0)); // objetosLista.Add(obj_Retangulo); // objetoSelecionado = obj_Retangulo; // obj_Cilindro = new Cilindro("D", null); // objetosLista.Add(obj_Cilindro); // obj_Cilindro.EscalaXYZ(50, 50, 50); // obj_Cilindro.TranslacaoXYZ(150, 0, 0); // obj_Esfera = new Esfera("E", null); // objetosLista.Add(obj_Esfera); // obj_Esfera.EscalaXYZ(50, 50, 50); // obj_Esfera.TranslacaoXYZ(200, 0, 0); // obj_Cone = new Cone("F", null); // objetosLista.Add(obj_Cone); // obj_Cone.EscalaXYZ(50, 50, 50); // obj_Cone.TranslacaoXYZ(250,0,0); // obj_Cubo = new Cubo("G", null); // objetosLista.Add(obj_Cubo); // obj_Cubo.EscalaXYZ(50, 50, 50); obj_Cubo = new Cubo("G", null); objetosLista.Add(obj_Cubo); obj_Cubo.EscalaXYZ(50, 50, 50); objetoSelecionado = obj_Cubo; camera.At = new Vector3(0, 0, 0); camera.Eye = new Vector3(1000, 1000, 1000); // camera.Eye = new Vector3(0, 0, 1000); camera.Near = 100.0f; camera.Far = 4000.0f; GL.ClearColor(127, 127, 127, 255); GL.Enable(EnableCap.DepthTest); // GL.Enable(EnableCap.CullFace); GL.Disable(EnableCap.CullFace); }