Olá,

preciso que alguém dê um olhada no código em anexo, e me diga onde esta
o erro.
Oque o applet deveria desenhar é uma casa.
Eu acho que oquê está errado é a funação mwv(), ela deve para cada
interação do for alterar os valores de i_px e i_py. Essa duas váriavéis
funciona  como se fosse uma variavel passado por referência para função
mwv() no c++ por exemplo.
A cada intração do for elas recebem novos valores que são armazenados em
ip[][] .
ip[][] representa um ponto.

Obrigado,

Elton
//Em 10/10/2001
//PROGRAMADOR: Elton de Albuquerque     
//Curso: Análise de Sistemas - 4º ano/UFMS

import java.applet.Applet;

import java.awt.*;

public class casa extends java.applet.Applet
{
  public float  x_min = 0,
                x_max = 2,
                y_min = 0,
                y_max = 2;
         

  public int   u_min = 0,
               u_max = 275,
               v_min = 0,
               v_max = 80,
               i;
  public  int i_px,//aramazenado em ipx[]
                    i_py;//aramazenado em ipy[]

  int ip[][] = new int[100][100];//armazena os pontos projetados
   
  float p[][] = new float[100][100];
   
  //-------------------------------------------------------------------------     
  public void init(){   
         p[0][0] = 0;
         p[0][1] = 0;
         p[1][0] = 2;
         p[1][1] = 0;
         p[2][0] = 2;
         p[2][1] = 1;
         p[3][0] = 1;
         p[3][1] = 2;
         p[4][0] = 0;
         p[4][1] = 1;
       
       for(i = 0; i <= 4; i++)
       {//colocar todos os pontos projetados na matriz ip
          mwv();
          ip[i][0] = i_px;
          ip[i][1] = i_py;

       }
   }     
   //-------------------------------------------------------------------------
   //desenhar a casa
   public void paint(Graphics g)
   {
       for(i = 0; i< 4; i++)
       {
          g.drawLine(ip[i][0],ip[i][1],ip[i+1][0],ip[i+1][1]); 
          System.out.println( "Valor de i_px:  " +i+" "+ ip[i][0]);
          System.out.println( "Valor de i_py:  " +i+" "+ ip[i][1]);
       }
       g.drawLine(ip[3][0],ip[3][1],ip[4][0],ip[4][1]); 
   
   }    
   
   //--------------------------------------------------------------------------
   public void mwv()
   {

      float sx = (u_max - u_min)/(x_max - x_min),
            sy = -((v_min - v_max)/(y_max - y_min));
            
      i_px = ((int)Math.floor((p[i][0]*sx + u_min - (sx*x_min))));
      i_px = ((int)Math.floor((p[i][1]*sy + v_min - (sy*y_min))));
            
   }
}
//------------------------------------------------------------------------------



------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Reply via email to