Entrar
¿No tienes cuenta? Registrarse
SoloJava · Grupo de Usuarios Java de Venezuela
? ¿Ya tienes membresía? Entra a Yahoo!

Consejos

¿Sabías que...
Puedes decidir quién se inscribe en tu grupo. Tienes la opción de aprobar todas las suscripciones modificando las preferencias.

Mensajes

  Mensajes Ayuda
Avanzado
Consulta sobre grafica en applet   Lista de mensajes  
Responder | Reenviar Mensaje #5368 de 5378 |
Hola a todos,
 
Comienzo a programar en java y estoy tratando de graficar en applets convirtiendo coordenadas
este es el codigo de la grafica que basicamente debe graficar los ejes x y y, y una recta de tamaño constante que gira como un radio con centro en x=0 y=0 el problema esta en que el punto de origen de la recta cambia cuando cambio el angulo de rotacion quisiera si algui puediera ayudarme a fijar el punto de rotacion
 
Gracias
 
Milagros.
 
 
import java.awt.*;
import java.applet.*;
public class prueba extends java.applet.Applet {
 
   public void init (){
  setBackground(Color.black);
 }
 
   public void paint(Graphics g) {
    
           int x,y,x1,y1,xc,yc;
      
       int xsm1=0, ysm1=0;
       int xsm2=0, ysm2=0;
      
       int xsc1=0, ysc1=0;
      
       int a = 0;
   
       xc=200;//Mitad del ancho del applet
       yc=200;//Mitad de la altura del applet
      
       //***************Punto inicial*************
       xsc1=200; //centro x =200
       ysc1=0;   //centro y =0
      
       //*** DIBUJA LOS EJES DE COORDENADAS XY ***
       g.setColor(Color.red);       //Establece el color rojo
       g.drawLine(xc,0,xc,2*yc); //Dibuja el eje Y
       g.drawLine(0,yc,2*xc,yc); //Dibuja el eje X
 
          
   
  /*************************************************************************************/
      
      /* [xc+x,yc-y,1]  Punto en sistema maquina
         [x*cos(ang) + y*-sen(ang), x*sen(ang)+y*cos(ang), 1] Punto rotado
      
              //PUNTO ROTADO EN EL SISTEMA HUMANO 
       x1 = (int)(Math.round(x*Math.cos(ang) + y * -Math.sin(ang)));
       y1 = (int)(Math.round(x*Math.sin(ang)+y*Math.cos(ang)));    */
/*******************************************************************************************/
       // Punto rotado en sentido antihorio
     /*  xsm1 = (int)(Math.round((xsc1)*Math.cos(a*(Math.PI/180))+(ysc1)*-Math.sin(a*(Math.PI/180))));
       ysm1 = (int)(Math.round((xsc1)*Math.sin(a*(Math.PI/180))+(ysc1)*Math.cos(a*(Math.PI/180))));
     g.setColor(Color.black);
      
       g.drawLine(xc,yc,xsm1,ysm1);*/
/*******************************************************************************************/
/*
       // Punto rotado en sentido horario
       xsm2 = (int)(Math.round((xc+xsc1)*Math.cos(a*(Math.PI/180))+(yc-ysc1)*Math.sin(a*(Math.PI/180))));
       ysm2 = (int)(Math.round((xc+xsc1)*-Math.sin(a*(Math.PI/180))+(yc-ysc1)*Math.cos(a*(Math.PI/180))));
     g.setColor(Color.green);
      
       g.drawLine(xc,yc,xsm2,ysm2);*/
/**********************************************************************************************/
 
while (a<360) {
 
 if (a>350) a=0;
 
 // Punto rotado en sentido horario
       xsm2 = (int)(Math.round(xsc1*Math.cos(a*(Math.PI/180))+ysc1*-Math.sin(a*(Math.PI/180))));
       ysm2 = (int)(Math.round(xsc1*Math.sin(a*(Math.PI/180))+ysc1*Math.cos(a*(Math.PI/180))));
       double ix =(Math.round(xsc1*Math.cos(a*(Math.PI/180))+ysc1*-Math.sin(a*(Math.PI/180))));
       double iy =(Math.round(xsc1*Math.sin(a*(Math.PI/180))+ysc1*Math.cos(a*(Math.PI/180))));
     g.setColor(Color.green);
           
     a=a+10;
    
     //PUNTO ROTADO EN EL SISTEMA MAQUINA
       g.fillOval(xsm2,ysm2,5,5);
     
    
     g.setColor(Color.red);
    g.drawLine(xc,0,xc,2*yc); //Dibuja el eje Y
    g.drawLine(0,yc,2*xc,yc); //Dibuja el eje X
   
/*   //borra la linea del applet
 g.setColor(Color.white);
 g.drawLine(xc,yc,xsm2,ysm2);*/
  
 }
}

}


 



Mié, 11 de Mar, 2009 10:29 pm

milina_quiti
Sin conexión Sin conexión
Enviar correo Enviar correo

Reenviar Mensaje #5368 de 5378 |
Desplegar mensajes Autor Ordenar por fecha

Hola a todos, Comienzo a programar en java y estoy tratando de graficar en applets convirtiendo coordenadas este es el codigo de la grafica que basicamente...
Milagros Gabriela Qui...
milina_quiti
Sin conexión Enviar correo
14 de Mar, 2009
2:33 am
Avanzado

Copyright © 2009 Yahoo! Inc. Todos los derechos reservados.
Normativa de confidencialidad - Condiciones del servicio - Reglas - Ayuda