private void btnAbrirOBJ_Click(object sender, EventArgs e) { openFileDialog.FileName = ""; openFileDialog.Filter = "Object (*.obj)|*.obj"; if (openFileDialog.ShowDialog() == DialogResult.OK) { picBoxPrincipal.Image = bm; System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog.FileName); objeto = new OBJ(); Aplicacoes.AbrirOBJ(objeto, sr, cx, cy); sr.Close(); Ponto p = new Ponto(); objeto.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, objeto); Aplicacoes.rotacionarZ(Math.PI, objeto); Aplicacoes.transladar(p.x, p.y, p.z, objeto); desenharObjeto(bm, objeto); int tam; Aplicacoes.transladar(-p.x, -p.y, -p.z, objeto); Aplicacoes.escalar(0.66, 0.66, 0.66, objeto); Aplicacoes.transladar(p.x - cx + 101, p.y - cy + 95, p.z - (cx + cy) / 2 + (101 + 95) / 2, objeto); obF = new OBJ(); obS = new OBJ(); obL = new OBJ(); obF.faces = obS.faces = obL.faces = objeto.faces; tam = objeto.pontosOri.Count; for (int i = 0; i < tam; i++) { obF.pontosOri.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); obS.pontosOri.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); obL.pontosOri.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); obF.pontosAtuais.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); obS.pontosAtuais.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); obL.pontosAtuais.Add(new Ponto(objeto.pontosAtuais.ElementAt <Ponto>(i))); } Aplicacoes.transladar(-(p.x - cx + 101), -(p.y - cy + 95), -(p.z - (cx + cy) / 2 + (101 + 95) / 2), objeto); Aplicacoes.escalar(1.34, 1.34, 1.34, objeto); Aplicacoes.transladar(p.x, p.y, p.z, objeto); obS.pontoCentralOri(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obS); Aplicacoes.rotacionarX((90 * Math.PI) / 180, obS); Aplicacoes.transladar(p.x, p.y, p.z, obS); obL.pontoCentralOri(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obL); Aplicacoes.rotacionarY((90 * Math.PI) / 180, obL); Aplicacoes.transladar(p.x, p.y, p.z, obL); } }
private void picBoxPrincial_MouseWheel(object sender, MouseEventArgs e) { Ponto p = new Ponto(); objeto.pontoCentral(p); if (e.Delta > 0) { Aplicacoes.transladar(-p.x, -p.y, -p.z, objeto); Aplicacoes.escalar(1.1, 1.1, 1.1, objeto); Aplicacoes.transladar(p.x, p.y, p.z, objeto); desenharObjeto(bm, objeto); if (checkBoxVistas.Checked) { obS.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obS); Aplicacoes.escalar(1.1, 1.1, 1.1, obS); Aplicacoes.transladar(p.x, p.y, p.z, obS); desenharVista(bmS, obS); picBoxSuperior.Image = bmS; obF.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obF); Aplicacoes.escalar(1.1, 1.1, 1.1, obF); Aplicacoes.transladar(p.x, p.y, p.z, obF); desenharVista(bmF, obF); picBoxFrontal.Image = bmF; obL.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obL); Aplicacoes.escalar(1.1, 1.1, 1.1, obL); Aplicacoes.transladar(p.x, p.y, p.z, obL); desenharVista(bmL, obL); picBoxLateral.Image = bmL; } } else { Aplicacoes.transladar(-p.x, -p.y, -p.z, objeto); Aplicacoes.escalar(0.9, 0.9, 0.9, objeto); Aplicacoes.transladar(p.x, p.y, p.z, objeto); desenharObjeto(bm, objeto); if (checkBoxVistas.Checked) { obS.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obS); Aplicacoes.escalar(0.9, 0.9, 0.9, obS); Aplicacoes.transladar(p.x, p.y, p.z, obS); desenharVista(bmS, obS); picBoxSuperior.Image = bmS; obF.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obF); Aplicacoes.escalar(0.9, 0.9, 0.9, obF); Aplicacoes.transladar(p.x, p.y, p.z, obF); desenharVista(bmF, obF); picBoxFrontal.Image = bmF; obL.pontoCentral(p); Aplicacoes.transladar(-p.x, -p.y, -p.z, obL); Aplicacoes.escalar(0.9, 0.9, 0.9, obL); Aplicacoes.transladar(p.x, p.y, p.z, obL); desenharVista(bmL, obL); picBoxLateral.Image = bmL; } } }