SlideShare una empresa de Scribd logo
1 de 17
0-Competencias Previas

CLASES-UMLS:
CVector
-x : double
-y : double
-z : double
-nombre : String
-color : Color
v : Vector<CVector>
+CVector()
+CVector(double)
+CVector(double, double)
+CVector(double, double, double)
+CVector(double, double, double, String)
+getAngulo():double
+getMagnitud():double
+getAngulo2():double
+getUnitario():CVector
+getSegmento(double)
+getCartesiano(double, double)
+getCartesiano3D(double, double, double)
+suma(CVector):CVector
+resta(CVector):CVector
+pPunto(CVector):double
+pCruz(CVector):CVector
+toString(int):String
+imprimir(int):void
+x():int
+y():int
+dibujarVector(Graphics2D):void
+dibujar(Graphics2D):void
CPunto
-x : double
-y : double
-z : double
-color : Color
+v : Vector<CPunto>
+CPunto()
+CPunto(double)
+CPunto(double, double)
+CPunto(double, double, double)
+CPunto(double, double, double, Color)
+toString():String
+imprimir():void
+x():int
+y():int
+dibujarPunto(Graphics2D):void
+dibujar(Graphics2D):void

Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
CBarra
-x : double
-y : double
-z : double
-tamaño : int
-color : Color
+v : Vector<CBarra>
+CBarra()
+CBarra(double)
+CBarra(double, double)
+CBarra(double, double, double)
+CBarra(double, double, double, int)
+CBarra(double, double, double, int, Color)
+toString():String
+imprimir():void
+x():int
+y():int
+t():Point
+o():Point
+dibujarBarra(Graphics2D):void
+dibujar(Graphics2D):void
CLinea
-x1 : double
-x2 : double
-y1 : double
-y2 : double
-z1 : double
-z2 : double
-color : Color
+v : Vector<CLinea>
+CLinea()
+CLinea(double)
+CLinea(double, double)
+CLinea(double, double, double)
+CLinea(double, double, double, Color)
+CLinea(double, double, double, Color, double, double, double)
+toString():String
+imprimir():void
+p1():Point
+p2():Point
+o():Point
+dibujarLinea(Graphics2D):void
+dibujar(Graphics2D):void
EAccion
+NINGUNO
+TRASLACION
+ESCALACION
+ROTACION

Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
CGraficas
+arreglo:Double[]
+barra:boolean
+punto:boolean
+linea:boolean
+CGraficas()
+CGraficas(Double[])
+CGraficas(Double[], boolean, boolean, boolean)
+dibujarGrafica():void
CDibujar
+dibujar(Graphics2D):void
MGrafico
#crearGrafico():void
+main(String[]):void
CDatos
aleatorios(int, double, double):Double[]
archivo(String):Double[]
CAleatorio
numero(int, int):int
numero(double, double):double
CArchivo
ubicacion : String
nombre : String
extension : String
br : BufferedReader
bw : BufferedWriter
CArchivo()
CArchivo(String)
CArchivo(String, String)
CArchivo(String, String, String)
getExtension():String
getFile():File
isExiste():boolean
eliminar():void
getTamaño():long
crearG():boolean
crearL():Boolean
guardar():BufferedWriter
setLinea(String):void
leer():BufferedReader
lectorpesado(String):String[]
getNumero():double
getLinea():String
cerrar():void

Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
CVentanaGrafica
-panel : Container
-menu : JPanel
-grafico : CPanelGrafico
#ANCHO:int
#LARGO:int
+MGrafico()
#crearGrafico():void
+crearBoton(String, EAccion):void
+main(String[]):void
CPanelGrafico
+ACCION : EAccion
+ORIGEN : Point
-ORIGENINI : Point
-MOUSEINI : Point
-MOUSEFIN : Point
+ESCALA : Double
+TRASLACION : Point
+ROTACION :
+CPanelGrafico():void
+doLayout():void
+paint(Graphics):void
+mouseWheelMoved(MouseWheelEvent):void
+keyPressed(KeyEvent):void
+keyReleased(KeyEvent):void
+keyTyped(KeyEvent):void
+escalar(int):void
+trasladar(Point):void
+rotar(double):void
+mouseDragged(MouseEvent):void
+mouseMoved(MouseEvent):void
+mouseClicked(MouseEvent):void
+mouseEntered(MouseEvent):void
+mouseExited(MouseEvent):void
+mousePressed(MouseEvent):void
+mouseReleased(MouseEvent):void

Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas

CLASES-CODIGO:
importjava.awt.BasicStroke;
importjava.awt.Color;
import java.awt.Graphics2D;
importjava.util.Vector;
publicclassCVector
{ privatedoublex;
privatedoubley;
privatedoublez;
private String nombre;
private Color color;
publicstatic Vector<CVector>v=new Vector<CVector>();
publicCVector()
{ this(0.0);
}
publicCVector(doublepX)
{ this(pX,0.0);
}
publicCVector(doublepX,doublepY)
{ this(pX,pY,0.0);
}
publicCVector(doublepX,doublepY,doublepZ)
{ this(pX,pY,pZ,"");
}
publicCVector(doublepX,doublepY,doublepZ,StringpNombre)
{ x=pX;
y=pY;
z=pZ;
nombre=pNombre;
color=new Color((int)(150*Math.random()),(int)(150*Math.random()),(int)(150*Math.random()));
v.add(this);
}
publicdoublegetAngulo()
{ returnMath.toDegrees(Math.atan2(y,x));
}
publicdoublegetMagnitud()
{ returnMath.sqrt(x*x+y*y+z*z);
}
publicdouble getAngulo2()
{ returnMath.toDegrees(Math.atan2(y,z));
}
publicCVectorgetUnitario()
{ double m = getMagnitud();
returnnewCVector(x/m,y/m,z/m,"|"+nombre+"|");
}
publicCVectorgetSegmento(doublepCant)
{ CVector unit = getUnitario();
returnnew
CVector(unit.x*getMagnitud()*pCant,unit.y*getMagnitud()*pCant,unit.z*getMagnitud()*pCant,pCant+"*"
+nombre);
}
publicvoidgetCartesiano(doublepMagnitud, doublepAngulo)
{ x = pMagnitud*Math.cos(Math.toRadians(pAngulo));
y = pMagnitud*Math.sin(Math.toRadians(pAngulo));
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
z = Math.sqrt((pMagnitud*pMagnitud)-((x*x)+(y*y)));
}
publicvoid getCartesiano3D(doublepMagnitud, double pAngulo1,double pAngulo2)
{ x = pMagnitud*Math.cos(Math.toRadians(pAngulo1))*Math.cos(Math.toRadians(pAngulo2));
y = pMagnitud*Math.cos(Math.toRadians(pAngulo1))*Math.sin(Math.toRadians(pAngulo2));
z = pMagnitud*Math.sin(Math.toRadians(pAngulo1));
}
publicCVector suma(CVectorpV)
{ returnnewCVector(x+pV.x,y+pV.y,z+pV.z,nombre+"+"+pV.nombre);
}
publicCVector resta(CVectorpV)
{ returnnewCVector(x-pV.x,y-pV.y,z-pV.z,nombre+"-"+pV.nombre);
}
publicdoublepPunto(CVectorpV)
{ double punto=x*pV.x+y*pV.y+z*pV.z;
System.out.println("Producto Punto de "+nombre+" y "+pV.nombre+" : "+punto);
return punto;
}
publicCVectorpCruz(CVectorpV)
{ returnnew CVector((y*pV.z)-(pV.y*z),-((x*pV.z)-(pV.x*z)),(x*pV.y)(pV.x*y),nombre+"x"+pV.nombre);
}
public String toString(intseñal)
{ Stringtexto="";
switch (señal)
{ case 0: texto=String.format("%s(%1.1f,%1.1f,%1.1f)",nombre,x,y,z); break;
case 1: texto=String.format("%s(%1.1f,%1.1f°)",nombre,getMagnitud(),getAngulo()); break;
case 2:
texto=String.format("%s(%1.1f,%1.1f°,%1.1f°)",nombre,getMagnitud(),getAngulo(),getAngulo2());
break;
default: break;
}
return texto;
}
publicvoidimprimir(intseñal)
{ Stringtexto=toString(señal);
System.out.println(texto);
}
publicint x()
{ return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x;
}
publicint y()
{ return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y;
}
publicvoiddibujarVector(Graphics2D g)
{ g.setColor(color);
g.fillOval(x()-4,y()-4,8,8);
g.setStroke(newBasicStroke(3f));
g.drawLine(CPanelGrafico.ORIGEN.x,CPanelGrafico.ORIGEN.y,x(),y());
g.setStroke(newBasicStroke(1f));
g.drawString(nombre,x(),y());
}
publicstaticvoiddibujar(Graphics2D g)
{ for(CVector e: v)e.dibujarVector(g);
}
}
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
importjava.awt.Color;
import java.awt.Graphics2D;
importjava.util.Vector;
publicclassCPunto
{ privatedoublex;
privatedoubley;
privatedoublez;
private Color color;
publicstatic Vector<CPunto>v=new Vector<CPunto>();
publicCPunto()
{ this(0.0);
}
publicCPunto(doublepX)
{ this(pX,0.0);
}
publicCPunto(doublepX,doublepY)
{ this(pX,pY,0.0);
}
publicCPunto (doublepX, doublepY, doublepZ)
{ this (pX, pY, pZ, new Color((int)(Math.random()*Integer.MAX_VALUE)));
}
publicCPunto(doublepX,doublepY,doublepZ,ColorpColor)
{ x=pX;
y=pY;
z=pZ;
v.add(this);
color=pColor;
}
public String toString()
{ returnString.format("(%1.1f,%1.1f,%1.1f)",x,y,z);
}
publicvoidimprimir()
{ System.out.println(toString());
}
publicint x()
{ return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x;
}
publicint y()
{ return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y;
}
publicvoiddibujarPunto(Graphics2D g)
{ int tamaño=4;
g.setColor(color);
g.fillOval(x()-tamaño/2,y()-tamaño/2,tamaño,tamaño);
}
publicstaticvoiddibujar(Graphics2D g)
{ for(CPunto e: v)e.dibujarPunto(g);
}
}
importjava.awt.Color;
import java.awt.Graphics2D;
importjava.awt.Point;
importjava.util.Vector;
publicclassCLinea
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
{ privatedoublex1,x2;
privatedoubley1,y2;
privatedoublez1,z2;
private Color color;
publicstatic Vector<CLinea>v=new Vector<CLinea>();
publicCLinea()
{ this(0.0);
}
publicCLinea(doublepX)
{ this(pX,0.0);
}
publicCLinea(doublepX,doublepY)
{ this(pX,pY,0.0);
}
publicCLinea (doublepX, doublepY, doublepZ)
{ this (pX, pY, pZ, new Color((int)(Math.random()*Integer.MAX_VALUE)));
}
publicCLinea (doublepX, doublepY, doublepZ,ColorpColor)
{ this (pX, pY, pZ, pColor, 0, 0, 0);
}
publicCLinea (doublepX, doublepY, doublepZ,ColorpColor,doublepaX, doublepaY, doublepaZ)
{ x1=pX;
y1=pY;
z1=pZ;
x2=paX;
y2=paY;
z2=paZ;
v.add(this);
color=pColor;
}
public String toString()
{ returnString.format("(%1.1f,%1.1f,%1.1f)",x1,y1,z1);
}
publicvoidimprimir()
{ System.out.println(toString());
}
public Point p1()
{ returnnew Point((int)(x1*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x,(int)(y1*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y);
}
public Point p2()
{ returnnew Point((int)(x2*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x,(int)(y2*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y);
}
public Point o()
{ returnCPanelGrafico.ORIGEN;
}
publicvoiddibujarLinea(Graphics2D g)
{ g.setColor(color);
if(x2==0&&y2==0&&z2==0)g.drawLine(o().x,o().y,p1().x,p1().y);
elseg.drawLine(p1().x,p1().y,p2().x,p2().y);
}
publicstaticvoiddibujar(Graphics2D g)
{ for(CLinea e: v)e.dibujarLinea(g);
}
}
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
importjava.awt.Color;
import java.awt.Graphics2D;
importjava.awt.Point;
importjava.util.Vector;
publicclassCBarra
{ privatedoublex;
privatedoubley;
privatedoublez;
privateinttamaño;
private Color color;
publicstatic Vector<CBarra>v=new Vector<CBarra>();
publicCBarra()
{ this(0.0);
}
publicCBarra(doublepX)
{ this(pX,0.0);
}
publicCBarra(doublepX,doublepY)
{ this(pX,pY,0.0);
}
publicCBarra (doublepX, doublepY, doublepZ)
{ this (pX, pY, pZ, 5);
}
publicCBarra (doublepX, doublepY, doublepZ,intpTamaño)
{ this (pX, pY, pZ, pTamaño, new Color((int)(Math.random()*Integer.MAX_VALUE)));
}
publicCBarra(doublepX,doublepY,doublepZ, intpTamaño, Color pColor)
{ x=pX;
y=pY;
z=pZ;
color=pColor;
tamaño=pTamaño;
v.add(this);
}
public String toString()
{ returnString.format("(%1.1f,%1.1f,%1.1f)",x,y,z);
}
publicvoidimprimir()
{ System.out.println(toString());
}
publicint x()
{ return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x;
}
publicint y()
{ return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y;
}
public Point t()
{ returnnew Point((int)(tamaño*CPanelGrafico.ESCALA.x),(Math.abs(CPanelGrafico.ORIGEN.yy())));
}
public Point o()
{ returnCPanelGrafico.ORIGEN;
}
publicvoiddibujarBarra(Graphics2D g)
{ g.setColor(color);
g.fillRect(x(),y()<o().y?y():o().y+1,t().x,t().y);
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
}
publicstaticvoiddibujar(Graphics2D g)
{ for(CBarra e: v)e.dibujarBarra(g);
}
}
importjava.awt.Color;
publicclassCGraficas
{ publicstatic Double[] arreglo = {1.0,-1.0};
publicstaticbooleanbarra;
publicstaticbooleanpunto;
publicstaticbooleanlinea;
publicCGraficas()
{ this(arreglo);
}
publicCGraficas(Double[] pArreglo)
{ this(pArreglo,true,false,false);
}
publicCGraficas(Double[] pArreglo,booleanpBarras,booleanpPuntos,booleanpLineas)
{ arreglo=pArreglo;
barra=pBarras;
punto=pPuntos;
linea=pLineas;
dibujarGrafica();
}
publicstaticvoiddibujarGrafica()
{ Double[] arreglop=new Double[arreglo.length+1];
inttamaño=350;
for(inti=0; i<arreglop.length; i++)
{ if(i==0)arreglop[i]=0.0;
elsearreglop[i]=arreglo[i-1];
}
for(inti=0; i<arreglo.length; i++)
{ if(barra)new CBarra(i*(tamaño/arreglo.length),arreglo[i],0,tamaño/arreglo.length);
if(punto)new CPunto(((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglo[i],0,Color.RED);
if(linea)
{ if(i>0)new CLinea((i*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i],0,Color.BLUE,((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i+1],0);
elseif(i==0)new CLinea(0,0,0,Color.BLUE,((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i+1],0);
}
}
}
}
import java.awt.Graphics2D;
publicclassCDibujar
{ publicstaticvoiddibujar(Graphics2D g2d)
{ CPunto.dibujar(g2d);
CVector.dibujar(g2d);
CBarra.dibujar(g2d);
CLinea.dibujar(g2d);
}
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
}
importjava.awt.Color;
importjava.awt.Graphics;
import java.awt.Graphics2D;
importjava.awt.Point;
importjava.awt.event.KeyEvent;
importjava.awt.event.KeyListener;
importjava.awt.event.MouseEvent;
importjava.awt.event.MouseListener;
importjava.awt.event.MouseMotionListener;
importjava.awt.event.MouseWheelEvent;
importjava.awt.event.MouseWheelListener;
import java.awt.geom.Point2D;
importjavax.swing.JPanel;
publicclassCPanelGraficoextendsJPanelimplements
MouseWheelListener,KeyListener,MouseMotionListener,MouseListener
{ publicstaticEAccionACCION=EAccion.NINGUNO;
publicstatic Point
ORIGEN;
private
Point
ORIGENINI,MOUSEINI,MOUSEFIN;
publicstatic Point
TRASLACION = new Point(0,0);
publicstatic Point2D.Double ESCALA
= new Point2D.Double(1.0,1.0);
publicstaticdoubleROTACION
= 0.0;
publicCPanelGrafico()
{ this.setBackground(Color.WHITE);
this.addKeyListener(this);
this.addMouseListener(this);
this.addMouseWheelListener(this);
this.addMouseMotionListener(this);
}
publicvoiddoLayout()
{ super.doLayout();
if(ORIGEN==null)ORIGEN = new Point(this.getWidth()/2,this.getHeight()/2);
}
publicvoid paint(Graphics g)
{ super.paint(g);
Graphics2D g2d = (Graphics2D)g;
g2d.setColor(Color.BLACK);
g2d.drawLine(0,ORIGEN.y,this.getWidth(),ORIGEN.y);
g2d.drawLine(ORIGEN.x,0,ORIGEN.x,this.getHeight());
g2d.fillOval(CPanelGrafico.ORIGEN.x-2,CPanelGrafico.ORIGEN.y-2,4,4);
g2d.rotate(Math.toRadians(ROTACION),ORIGEN.x,ORIGEN.y);
CDibujar.dibujar(g2d);
g2d.rotate(Math.toRadians(-ROTACION),ORIGEN.x,ORIGEN.y);
}
publicvoidescalar(intpWheelRotation)
{ if(ACCION.equals(EAccion.ESCALACION)||ACCION.equals(EAccion.TODOS))
{ ESCALA.x+=pWheelRotation*0.1;
ESCALA.y+=pWheelRotation*0.1;
ESCALA.x=Math.max(0,ESCALA.x);
ESCALA.y=Math.max(0,ESCALA.y);
repaint();
}
}
publicvoidtrasladar(Point p)
{ if(ACCION.equals(EAccion.TRASLACION)||ACCION.equals(EAccion.TODOS))
{ ORIGEN.x+=p.x;
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
ORIGEN.y+=p.y;
repaint();
}
}
publicvoidrotar(doublepRotacion)
{ if(ACCION.equals(EAccion.ROTACION)||ACCION.equals(EAccion.TODOS))
{ ROTACION+=pRotacion;
repaint();
}
}
publicvoidmouseWheelMoved(MouseWheelEventpE)
{ escalar(pE.getWheelRotation());
rotar(pE.getWheelRotation());
}
publicvoidkeyReleased(KeyEventpE)
{ if
(pE.getKeyCode()==KeyEvent.VK_PLUS ||pE.getKeyCode()==KeyEvent.VK_ADD)
{escalar(1); rotar(1); }
elseif(pE.getKeyCode()==KeyEvent.VK_MINUS||pE.getKeyCode()==KeyEvent.VK_SUBTRACT){escalar(-1);
rotar(-1);}
elseif(pE.getKeyCode()==KeyEvent.VK_LEFT) trasladar(new Point(-5,0));
elseif(pE.getKeyCode()==KeyEvent.VK_RIGHT)trasladar(new Point(5,0));
elseif(pE.getKeyCode()==KeyEvent.VK_UP)
trasladar(new Point(0,-5));
elseif(pE.getKeyCode()==KeyEvent.VK_DOWN) trasladar(new Point(0,5));
elseif(pE.getKeyCode()==KeyEvent.VK_0)
{ ORIGEN=null;
doLayout();
ESCALA =new Point2D.Double(1.0,1.0);
ROTACION=0.0;
repaint();
}
elseif(pE.getKeyCode()>=KeyEvent.VK_1&&pE.getKeyCode()<=KeyEvent.VK_9)
{ ESCALA=new Point2D.Double(pE.getKeyCode()-48,pE.getKeyCode()-48);
repaint();
}
}
publicvoidmouseDragged(MouseEventpE)
{ MOUSEFIN
= pE.getPoint();
TRASLACION = newPoint(MOUSEFIN.x-MOUSEINI.x,MOUSEFIN.y-MOUSEINI.y);
ORIGEN.x=ORIGENINI.x;
ORIGEN.y=ORIGENINI.y;
trasladar(TRASLACION);
}
publicvoidmousePressed(MouseEventpE)
{ MOUSEINI
= pE.getPoint();
ORIGENINI =new Point(ORIGEN.x,ORIGEN.y);
}
publicvoidkeyTyped(KeyEventpE){}
publicvoidkeyPressed(KeyEventpE){}
publicvoidmouseReleased(MouseEventpE){}
publicvoidmouseMoved(MouseEventpE){}
publicvoidmouseClicked(MouseEventpE){}
publicvoidmouseEntered(MouseEventpE){}
publicvoidmouseExited(MouseEventpE){}
}
importjava.awt.BorderLayout;
importjava.awt.Container;
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JPanel;
publicabstractclassCVentanaGraficaextendsJFrame
{ private Container panel;
privateJPanelmenu;
privateCPanelGraficografico;
protectedintANCHO = 700, LARGO = 500;
publicCVentanaGrafica()
{ panel = this.getContentPane();
panel.setLayout(newBorderLayout());
this.pack();
this.setBounds(0,0,ANCHO,LARGO);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setTitle("GRAFICO");
menu = newJPanel(newGridLayout(1,5));
panel.add(menu,BorderLayout.NORTH);
crearBoton("Trasladar",EAccion.TRASLACION);
crearBoton("Escalar",EAccion.ESCALACION);
crearBoton("Rotar",EAccion.ROTACION);
crearBoton("Todos",EAccion.TODOS);
crearBoton("Ninguno",EAccion.NINGUNO);
grafico = newCPanelGrafico();
panel.add(grafico,BorderLayout.CENTER);
grafico.requestFocusInWindow();
crearGrafico();
this.setVisible(true);
}
protectedabstractvoidcrearGrafico();
publicvoidcrearBoton(String pEtiqueta, finalEAccionpAccion)
{ JButtonbBoton=newJButton(pEtiqueta);
bBoton.addActionListener(newActionListener()
{ publicvoidactionPerformed(ActionEvent arg0)
{ CPanelGrafico.ACCION=pAccion;
grafico.requestFocusInWindow();
}
}
);
menu.add(bBoton);
}
}

publicenumEAccion
{ NINGUNO,TRASLACION,ESCALACION,ROTACION,TODOS;
}

publicclassMGraficoextendsCVentanaGrafica
{ protectedvoidcrearGrafico()
{ newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true);
newCGraficas(newCDatos().archivo("datos"),true,true,true);
newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true);
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true);
newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true);
newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true);
}
publicstaticvoid main(String[] args)
{ newMGrafico();
}
}
importjava.util.Vector;
publicclassCDatos
{ public Double[] aleatorios(intpCant, doublepRmin, doublepRmax)
{ Vector<Double>datos=new Vector<Double>();
for(inti=0; i<pCant;i++)
datos.add(CAleatorio.numero(pRmin,pRmax));
returndatos.toArray(new Double[]{});
}
public Double[] archivo(String pArchivo)
{ Vector<Double>datos=new Vector<Double>();
CArchivoarchivo=newCArchivo(pArchivo);
archivo.crearL();
int cant=(int)archivo.getNumero();
for(inti=0; i<cant;i++)
datos.add(archivo.getNumero());
archivo.cerrar();
returndatos.toArray(new Double[]{});
}
}

publicclassCAleatorio
{ publicstaticintnumero(inta,int b)
{ return (int)numero((double)a,(double)b);
}
publicstaticdoublenumero(doublea,double b)
{ returnMath.random()*(b-a+1)+a;
}
}

import java.io.*;
importjavax.swing.JOptionPane;
publicclassCArchivo
{ private String ubicacion,nombre,extension;
privateBufferedReaderbr;
privateBufferedWriterbw;
publicCArchivo()
{ this("archivo");
}
publicCArchivo(String pNombre)
{ this("rcs/",pNombre);
}
publicCArchivo(String pUbicacion,StringpNombre)
{ this(pUbicacion,pNombre,"txt");
}
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
publicCArchivo(String pUbicacion,StringpNombre,StringpExtension)
{ ubicacion=pUbicacion; nombre=pNombre; extension=pExtension;
}
public String getExtension()
{ returnextension;
}
public File getFile()
{ returnnew File(ubicacion+nombre+"."+extension);
}
publicbooleanisExiste()
{ returngetFile().exists();
}
publicvoideliminar()
{ getFile().delete();
}
publiclonggetTamaño()
{ returngetFile().getTotalSpace();
}
publicbooleancrearG()
{ bw=guardar();
returnbw!=null;
}
publicbooleancrearL()
{ br=leer();
returnbr!=null;
}
publicBufferedWriterguardar()
{ if(bw==null)
try
{ bw=newBufferedWriter(newFileWriter(getFile(),false));
}
catch(IOException e)
{ JOptionPane.showMessageDialog(null,"No se puedeguardar");
}
returnbw;
}
publicvoidsetLinea(String pDato)
{ try
{ bw.write(pDato);
}
catch(IOException e)
{ JOptionPane.showMessageDialog(null,"No se puede escribir");
}
catch(NullPointerException e)
{ JOptionPane.showMessageDialog(null,"No se ha creado el archivo.");
}
}
publicBufferedReader leer()
{ if(isExiste())
try
{ br=newBufferedReader(newFileReader(getFile()));
}
catch(FileNotFoundException e)
{ JOptionPane.showMessageDialog(null,"No se pudoabrir el archivo");
}
elseJOptionPane.showMessageDialog(null,"Noexiste el archivo");
returnbr;
Graficación
Suárez Hernández Martín Gerardo
0-Competencias Previas
}
public String[] lectorpesado(String pSplit)
{ String[] lectura=null;
try
{ lectura=br.readLine().split(pSplit);
}
catch(IOException e)
{ JOptionPane.showMessageDialog(null,"No se
}
catch(NullPointerException e)
{ JOptionPane.showMessageDialog(null,"No se
}
returnlectura;
}
publicdoublegetNumero()
{ returnDouble.parseDouble(getLinea());
}
public String getLinea()
{ Stringlinea="";
try
{ linea=br.readLine();
}
catch(IOException e)
{ JOptionPane.showMessageDialog(null,"No se
}
catch(NullPointerException e)
{ JOptionPane.showMessageDialog(null,"No se
}
returnlinea;
}
publicvoidcerrar()
{ try
{ if(br!=null) br.close(); br=null;
if(bw!=null) bw.close(); bw=null;
}
catch(IOException e)
{ JOptionPane.showMessageDialog(null,"No se
}
}
}

Graficación
Suárez Hernández Martín Gerardo

puede leer la linea");

ha abierto el archivo.");

puede leer la linea");

ha abierto el archivo.");

pudo cerrar el archivo");
0-Competencias Previas

RESULTADOS:

Graficación
Suárez Hernández Martín Gerardo

Más contenido relacionado

La actualidad más candente (20)

Algebra banco unprg
Algebra banco unprgAlgebra banco unprg
Algebra banco unprg
 
Metodo de horner
Metodo de hornerMetodo de horner
Metodo de horner
 
Cocientes notables
Cocientes notablesCocientes notables
Cocientes notables
 
Alg. (02) repaso ii 02 03-18
Alg. (02) repaso ii 02 03-18Alg. (02) repaso ii 02 03-18
Alg. (02) repaso ii 02 03-18
 
01 polinomios i
01 polinomios i01 polinomios i
01 polinomios i
 
Funciones intuitivas 3_eso_blog01
Funciones intuitivas 3_eso_blog01Funciones intuitivas 3_eso_blog01
Funciones intuitivas 3_eso_blog01
 
Factorización
FactorizaciónFactorización
Factorización
 
Ecuacion cuadratica
Ecuacion cuadraticaEcuacion cuadratica
Ecuacion cuadratica
 
solucionario del examen de álgebra
solucionario del examen de álgebrasolucionario del examen de álgebra
solucionario del examen de álgebra
 
Alge repa-10
Alge repa-10Alge repa-10
Alge repa-10
 
Alge repa-10 cr
Alge repa-10 crAlge repa-10 cr
Alge repa-10 cr
 
Mcd y mcm de polinomios
Mcd y mcm de polinomiosMcd y mcm de polinomios
Mcd y mcm de polinomios
 
Solucionario demidovich tomo III
Solucionario demidovich tomo IIISolucionario demidovich tomo III
Solucionario demidovich tomo III
 
Guía Productos y Cocientes Notables
Guía Productos y Cocientes NotablesGuía Productos y Cocientes Notables
Guía Productos y Cocientes Notables
 
Derivadas
DerivadasDerivadas
Derivadas
 
18131735 interpolacion-newton
18131735 interpolacion-newton18131735 interpolacion-newton
18131735 interpolacion-newton
 
Ejercicios 1º bchs
Ejercicios 1º bchsEjercicios 1º bchs
Ejercicios 1º bchs
 
Factorizacion i
Factorizacion iFactorizacion i
Factorizacion i
 
3.lenguaje algebraico
3.lenguaje algebraico3.lenguaje algebraico
3.lenguaje algebraico
 
S1 y s2 factorización
S1 y s2 factorizaciónS1 y s2 factorización
S1 y s2 factorización
 

Destacado (8)

Newsletter 1 2012
Newsletter 1 2012Newsletter 1 2012
Newsletter 1 2012
 
An Overview of Temple Emanu-El By Saul Meyer
An Overview of Temple Emanu-El By Saul MeyerAn Overview of Temple Emanu-El By Saul Meyer
An Overview of Temple Emanu-El By Saul Meyer
 
Jewish federation of greater dallas by saul meyer
Jewish federation of greater dallas by saul meyerJewish federation of greater dallas by saul meyer
Jewish federation of greater dallas by saul meyer
 
Chandan
ChandanChandan
Chandan
 
Saul meyer a rabbi answers questions about mourners kaddish
Saul meyer a rabbi answers questions about mourners kaddishSaul meyer a rabbi answers questions about mourners kaddish
Saul meyer a rabbi answers questions about mourners kaddish
 
Greenhill school presents rock of ages gala 2013 by saul meyer
Greenhill school presents rock of ages gala 2013 by saul meyerGreenhill school presents rock of ages gala 2013 by saul meyer
Greenhill school presents rock of ages gala 2013 by saul meyer
 
TRAINING PROCESS
TRAINING PROCESSTRAINING PROCESS
TRAINING PROCESS
 
Role of hr in strategic formulation
Role of hr in strategic formulationRole of hr in strategic formulation
Role of hr in strategic formulation
 

Similar a PROGRAMA

Derivada fun trigon
Derivada fun trigonDerivada fun trigon
Derivada fun trigon
dalila69
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
diegocastro1234
 
TERCERA PRACTICA
TERCERA PRACTICATERCERA PRACTICA
TERCERA PRACTICA
kokame
 
Multiplicación de-monomios-para-segundo-de-secundaria
Multiplicación de-monomios-para-segundo-de-secundariaMultiplicación de-monomios-para-segundo-de-secundaria
Multiplicación de-monomios-para-segundo-de-secundaria
AnaliGianellaCapchaM
 

Similar a PROGRAMA (20)

Guía para el examen primer trimestre 9º 2015
Guía para el examen primer trimestre  9º   2015Guía para el examen primer trimestre  9º   2015
Guía para el examen primer trimestre 9º 2015
 
Funciones cuadráticas
Funciones cuadráticasFunciones cuadráticas
Funciones cuadráticas
 
Ecuaciones cuadráticas
Ecuaciones cuadráticasEcuaciones cuadráticas
Ecuaciones cuadráticas
 
Derivada fun trigon
Derivada fun trigonDerivada fun trigon
Derivada fun trigon
 
Resolución de problemas con java
Resolución de problemas con javaResolución de problemas con java
Resolución de problemas con java
 
Nm1 algebra + valoriación
Nm1 algebra + valoriaciónNm1 algebra + valoriación
Nm1 algebra + valoriación
 
Nm1 algebra
Nm1 algebra Nm1 algebra
Nm1 algebra
 
Termino algebraico
Termino algebraicoTermino algebraico
Termino algebraico
 
clase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdfclase 7 GRAFICOS 2D.pdf
clase 7 GRAFICOS 2D.pdf
 
Clases graficas ultima_clase_matlab
Clases graficas ultima_clase_matlabClases graficas ultima_clase_matlab
Clases graficas ultima_clase_matlab
 
Some codes in java
Some codes in javaSome codes in java
Some codes in java
 
Practicas prolog2011
Practicas prolog2011Practicas prolog2011
Practicas prolog2011
 
TERCERA PRACTICA
TERCERA PRACTICATERCERA PRACTICA
TERCERA PRACTICA
 
Ecuaciones cuadráticas
Ecuaciones cuadráticasEcuaciones cuadráticas
Ecuaciones cuadráticas
 
ECUACINES CUADRATICAS
ECUACINES CUADRATICASECUACINES CUADRATICAS
ECUACINES CUADRATICAS
 
ECUACINES CUADRATICAS
ECUACINES CUADRATICASECUACINES CUADRATICAS
ECUACINES CUADRATICAS
 
Multiplicación de-monomios-para-segundo-de-secundaria
Multiplicación de-monomios-para-segundo-de-secundariaMultiplicación de-monomios-para-segundo-de-secundaria
Multiplicación de-monomios-para-segundo-de-secundaria
 
Clase 6
Clase 6Clase 6
Clase 6
 
Clase 6
Clase 6Clase 6
Clase 6
 
Inecuaciones
InecuacionesInecuaciones
Inecuaciones
 

Último (10)

DECRETO 356 vigilancia y seguridad privada
DECRETO 356 vigilancia  y seguridad privadaDECRETO 356 vigilancia  y seguridad privada
DECRETO 356 vigilancia y seguridad privada
 
Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.Manual Corporativo Cafe Daelicia en pdf.
Manual Corporativo Cafe Daelicia en pdf.
 
UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfpptUNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
UNIDAD 2 DX DE NECESIDADES (1).fggfgfgfppt
 
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICOMODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
MODERNISMO VS POSMODERNISMO CUADRO SINOPTICO
 
Retiro de los fondo AFP en el Perú Año 2024
Retiro de los fondo AFP en el Perú Año 2024Retiro de los fondo AFP en el Perú Año 2024
Retiro de los fondo AFP en el Perú Año 2024
 
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdfDIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
DIARIO EL PERUANO 19-06-202hhhhhhhh3.pdf
 
Uñas en Gel emprendedores CURSO-DE-UNAS-ACRILICAS.pdf
Uñas en Gel emprendedores CURSO-DE-UNAS-ACRILICAS.pdfUñas en Gel emprendedores CURSO-DE-UNAS-ACRILICAS.pdf
Uñas en Gel emprendedores CURSO-DE-UNAS-ACRILICAS.pdf
 
¡Explora el boletín del 29 abril de 2024!
¡Explora el boletín del 29 abril de 2024!¡Explora el boletín del 29 abril de 2024!
¡Explora el boletín del 29 abril de 2024!
 
-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo Venezuela-PEIC-NUEVO de plantel educativo Venezuela
-PEIC-NUEVO de plantel educativo Venezuela
 
Patologia General DRA Tiñini Banknco.pdf
Patologia General DRA Tiñini Banknco.pdfPatologia General DRA Tiñini Banknco.pdf
Patologia General DRA Tiñini Banknco.pdf
 

PROGRAMA

  • 1. 0-Competencias Previas CLASES-UMLS: CVector -x : double -y : double -z : double -nombre : String -color : Color v : Vector<CVector> +CVector() +CVector(double) +CVector(double, double) +CVector(double, double, double) +CVector(double, double, double, String) +getAngulo():double +getMagnitud():double +getAngulo2():double +getUnitario():CVector +getSegmento(double) +getCartesiano(double, double) +getCartesiano3D(double, double, double) +suma(CVector):CVector +resta(CVector):CVector +pPunto(CVector):double +pCruz(CVector):CVector +toString(int):String +imprimir(int):void +x():int +y():int +dibujarVector(Graphics2D):void +dibujar(Graphics2D):void CPunto -x : double -y : double -z : double -color : Color +v : Vector<CPunto> +CPunto() +CPunto(double) +CPunto(double, double) +CPunto(double, double, double) +CPunto(double, double, double, Color) +toString():String +imprimir():void +x():int +y():int +dibujarPunto(Graphics2D):void +dibujar(Graphics2D):void Graficación Suárez Hernández Martín Gerardo
  • 2. 0-Competencias Previas CBarra -x : double -y : double -z : double -tamaño : int -color : Color +v : Vector<CBarra> +CBarra() +CBarra(double) +CBarra(double, double) +CBarra(double, double, double) +CBarra(double, double, double, int) +CBarra(double, double, double, int, Color) +toString():String +imprimir():void +x():int +y():int +t():Point +o():Point +dibujarBarra(Graphics2D):void +dibujar(Graphics2D):void CLinea -x1 : double -x2 : double -y1 : double -y2 : double -z1 : double -z2 : double -color : Color +v : Vector<CLinea> +CLinea() +CLinea(double) +CLinea(double, double) +CLinea(double, double, double) +CLinea(double, double, double, Color) +CLinea(double, double, double, Color, double, double, double) +toString():String +imprimir():void +p1():Point +p2():Point +o():Point +dibujarLinea(Graphics2D):void +dibujar(Graphics2D):void EAccion +NINGUNO +TRASLACION +ESCALACION +ROTACION Graficación Suárez Hernández Martín Gerardo
  • 3. 0-Competencias Previas CGraficas +arreglo:Double[] +barra:boolean +punto:boolean +linea:boolean +CGraficas() +CGraficas(Double[]) +CGraficas(Double[], boolean, boolean, boolean) +dibujarGrafica():void CDibujar +dibujar(Graphics2D):void MGrafico #crearGrafico():void +main(String[]):void CDatos aleatorios(int, double, double):Double[] archivo(String):Double[] CAleatorio numero(int, int):int numero(double, double):double CArchivo ubicacion : String nombre : String extension : String br : BufferedReader bw : BufferedWriter CArchivo() CArchivo(String) CArchivo(String, String) CArchivo(String, String, String) getExtension():String getFile():File isExiste():boolean eliminar():void getTamaño():long crearG():boolean crearL():Boolean guardar():BufferedWriter setLinea(String):void leer():BufferedReader lectorpesado(String):String[] getNumero():double getLinea():String cerrar():void Graficación Suárez Hernández Martín Gerardo
  • 4. 0-Competencias Previas CVentanaGrafica -panel : Container -menu : JPanel -grafico : CPanelGrafico #ANCHO:int #LARGO:int +MGrafico() #crearGrafico():void +crearBoton(String, EAccion):void +main(String[]):void CPanelGrafico +ACCION : EAccion +ORIGEN : Point -ORIGENINI : Point -MOUSEINI : Point -MOUSEFIN : Point +ESCALA : Double +TRASLACION : Point +ROTACION : +CPanelGrafico():void +doLayout():void +paint(Graphics):void +mouseWheelMoved(MouseWheelEvent):void +keyPressed(KeyEvent):void +keyReleased(KeyEvent):void +keyTyped(KeyEvent):void +escalar(int):void +trasladar(Point):void +rotar(double):void +mouseDragged(MouseEvent):void +mouseMoved(MouseEvent):void +mouseClicked(MouseEvent):void +mouseEntered(MouseEvent):void +mouseExited(MouseEvent):void +mousePressed(MouseEvent):void +mouseReleased(MouseEvent):void Graficación Suárez Hernández Martín Gerardo
  • 5. 0-Competencias Previas CLASES-CODIGO: importjava.awt.BasicStroke; importjava.awt.Color; import java.awt.Graphics2D; importjava.util.Vector; publicclassCVector { privatedoublex; privatedoubley; privatedoublez; private String nombre; private Color color; publicstatic Vector<CVector>v=new Vector<CVector>(); publicCVector() { this(0.0); } publicCVector(doublepX) { this(pX,0.0); } publicCVector(doublepX,doublepY) { this(pX,pY,0.0); } publicCVector(doublepX,doublepY,doublepZ) { this(pX,pY,pZ,""); } publicCVector(doublepX,doublepY,doublepZ,StringpNombre) { x=pX; y=pY; z=pZ; nombre=pNombre; color=new Color((int)(150*Math.random()),(int)(150*Math.random()),(int)(150*Math.random())); v.add(this); } publicdoublegetAngulo() { returnMath.toDegrees(Math.atan2(y,x)); } publicdoublegetMagnitud() { returnMath.sqrt(x*x+y*y+z*z); } publicdouble getAngulo2() { returnMath.toDegrees(Math.atan2(y,z)); } publicCVectorgetUnitario() { double m = getMagnitud(); returnnewCVector(x/m,y/m,z/m,"|"+nombre+"|"); } publicCVectorgetSegmento(doublepCant) { CVector unit = getUnitario(); returnnew CVector(unit.x*getMagnitud()*pCant,unit.y*getMagnitud()*pCant,unit.z*getMagnitud()*pCant,pCant+"*" +nombre); } publicvoidgetCartesiano(doublepMagnitud, doublepAngulo) { x = pMagnitud*Math.cos(Math.toRadians(pAngulo)); y = pMagnitud*Math.sin(Math.toRadians(pAngulo)); Graficación Suárez Hernández Martín Gerardo
  • 6. 0-Competencias Previas z = Math.sqrt((pMagnitud*pMagnitud)-((x*x)+(y*y))); } publicvoid getCartesiano3D(doublepMagnitud, double pAngulo1,double pAngulo2) { x = pMagnitud*Math.cos(Math.toRadians(pAngulo1))*Math.cos(Math.toRadians(pAngulo2)); y = pMagnitud*Math.cos(Math.toRadians(pAngulo1))*Math.sin(Math.toRadians(pAngulo2)); z = pMagnitud*Math.sin(Math.toRadians(pAngulo1)); } publicCVector suma(CVectorpV) { returnnewCVector(x+pV.x,y+pV.y,z+pV.z,nombre+"+"+pV.nombre); } publicCVector resta(CVectorpV) { returnnewCVector(x-pV.x,y-pV.y,z-pV.z,nombre+"-"+pV.nombre); } publicdoublepPunto(CVectorpV) { double punto=x*pV.x+y*pV.y+z*pV.z; System.out.println("Producto Punto de "+nombre+" y "+pV.nombre+" : "+punto); return punto; } publicCVectorpCruz(CVectorpV) { returnnew CVector((y*pV.z)-(pV.y*z),-((x*pV.z)-(pV.x*z)),(x*pV.y)(pV.x*y),nombre+"x"+pV.nombre); } public String toString(intseñal) { Stringtexto=""; switch (señal) { case 0: texto=String.format("%s(%1.1f,%1.1f,%1.1f)",nombre,x,y,z); break; case 1: texto=String.format("%s(%1.1f,%1.1f°)",nombre,getMagnitud(),getAngulo()); break; case 2: texto=String.format("%s(%1.1f,%1.1f°,%1.1f°)",nombre,getMagnitud(),getAngulo(),getAngulo2()); break; default: break; } return texto; } publicvoidimprimir(intseñal) { Stringtexto=toString(señal); System.out.println(texto); } publicint x() { return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x; } publicint y() { return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y; } publicvoiddibujarVector(Graphics2D g) { g.setColor(color); g.fillOval(x()-4,y()-4,8,8); g.setStroke(newBasicStroke(3f)); g.drawLine(CPanelGrafico.ORIGEN.x,CPanelGrafico.ORIGEN.y,x(),y()); g.setStroke(newBasicStroke(1f)); g.drawString(nombre,x(),y()); } publicstaticvoiddibujar(Graphics2D g) { for(CVector e: v)e.dibujarVector(g); } } Graficación Suárez Hernández Martín Gerardo
  • 7. 0-Competencias Previas importjava.awt.Color; import java.awt.Graphics2D; importjava.util.Vector; publicclassCPunto { privatedoublex; privatedoubley; privatedoublez; private Color color; publicstatic Vector<CPunto>v=new Vector<CPunto>(); publicCPunto() { this(0.0); } publicCPunto(doublepX) { this(pX,0.0); } publicCPunto(doublepX,doublepY) { this(pX,pY,0.0); } publicCPunto (doublepX, doublepY, doublepZ) { this (pX, pY, pZ, new Color((int)(Math.random()*Integer.MAX_VALUE))); } publicCPunto(doublepX,doublepY,doublepZ,ColorpColor) { x=pX; y=pY; z=pZ; v.add(this); color=pColor; } public String toString() { returnString.format("(%1.1f,%1.1f,%1.1f)",x,y,z); } publicvoidimprimir() { System.out.println(toString()); } publicint x() { return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x; } publicint y() { return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y; } publicvoiddibujarPunto(Graphics2D g) { int tamaño=4; g.setColor(color); g.fillOval(x()-tamaño/2,y()-tamaño/2,tamaño,tamaño); } publicstaticvoiddibujar(Graphics2D g) { for(CPunto e: v)e.dibujarPunto(g); } } importjava.awt.Color; import java.awt.Graphics2D; importjava.awt.Point; importjava.util.Vector; publicclassCLinea Graficación Suárez Hernández Martín Gerardo
  • 8. 0-Competencias Previas { privatedoublex1,x2; privatedoubley1,y2; privatedoublez1,z2; private Color color; publicstatic Vector<CLinea>v=new Vector<CLinea>(); publicCLinea() { this(0.0); } publicCLinea(doublepX) { this(pX,0.0); } publicCLinea(doublepX,doublepY) { this(pX,pY,0.0); } publicCLinea (doublepX, doublepY, doublepZ) { this (pX, pY, pZ, new Color((int)(Math.random()*Integer.MAX_VALUE))); } publicCLinea (doublepX, doublepY, doublepZ,ColorpColor) { this (pX, pY, pZ, pColor, 0, 0, 0); } publicCLinea (doublepX, doublepY, doublepZ,ColorpColor,doublepaX, doublepaY, doublepaZ) { x1=pX; y1=pY; z1=pZ; x2=paX; y2=paY; z2=paZ; v.add(this); color=pColor; } public String toString() { returnString.format("(%1.1f,%1.1f,%1.1f)",x1,y1,z1); } publicvoidimprimir() { System.out.println(toString()); } public Point p1() { returnnew Point((int)(x1*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x,(int)(y1*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y); } public Point p2() { returnnew Point((int)(x2*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x,(int)(y2*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y); } public Point o() { returnCPanelGrafico.ORIGEN; } publicvoiddibujarLinea(Graphics2D g) { g.setColor(color); if(x2==0&&y2==0&&z2==0)g.drawLine(o().x,o().y,p1().x,p1().y); elseg.drawLine(p1().x,p1().y,p2().x,p2().y); } publicstaticvoiddibujar(Graphics2D g) { for(CLinea e: v)e.dibujarLinea(g); } } Graficación Suárez Hernández Martín Gerardo
  • 9. 0-Competencias Previas importjava.awt.Color; import java.awt.Graphics2D; importjava.awt.Point; importjava.util.Vector; publicclassCBarra { privatedoublex; privatedoubley; privatedoublez; privateinttamaño; private Color color; publicstatic Vector<CBarra>v=new Vector<CBarra>(); publicCBarra() { this(0.0); } publicCBarra(doublepX) { this(pX,0.0); } publicCBarra(doublepX,doublepY) { this(pX,pY,0.0); } publicCBarra (doublepX, doublepY, doublepZ) { this (pX, pY, pZ, 5); } publicCBarra (doublepX, doublepY, doublepZ,intpTamaño) { this (pX, pY, pZ, pTamaño, new Color((int)(Math.random()*Integer.MAX_VALUE))); } publicCBarra(doublepX,doublepY,doublepZ, intpTamaño, Color pColor) { x=pX; y=pY; z=pZ; color=pColor; tamaño=pTamaño; v.add(this); } public String toString() { returnString.format("(%1.1f,%1.1f,%1.1f)",x,y,z); } publicvoidimprimir() { System.out.println(toString()); } publicint x() { return (int)(x*CPanelGrafico.ESCALA.x)+CPanelGrafico.ORIGEN.x; } publicint y() { return -(int)(y*CPanelGrafico.ESCALA.y)+CPanelGrafico.ORIGEN.y; } public Point t() { returnnew Point((int)(tamaño*CPanelGrafico.ESCALA.x),(Math.abs(CPanelGrafico.ORIGEN.yy()))); } public Point o() { returnCPanelGrafico.ORIGEN; } publicvoiddibujarBarra(Graphics2D g) { g.setColor(color); g.fillRect(x(),y()<o().y?y():o().y+1,t().x,t().y); Graficación Suárez Hernández Martín Gerardo
  • 10. 0-Competencias Previas } publicstaticvoiddibujar(Graphics2D g) { for(CBarra e: v)e.dibujarBarra(g); } } importjava.awt.Color; publicclassCGraficas { publicstatic Double[] arreglo = {1.0,-1.0}; publicstaticbooleanbarra; publicstaticbooleanpunto; publicstaticbooleanlinea; publicCGraficas() { this(arreglo); } publicCGraficas(Double[] pArreglo) { this(pArreglo,true,false,false); } publicCGraficas(Double[] pArreglo,booleanpBarras,booleanpPuntos,booleanpLineas) { arreglo=pArreglo; barra=pBarras; punto=pPuntos; linea=pLineas; dibujarGrafica(); } publicstaticvoiddibujarGrafica() { Double[] arreglop=new Double[arreglo.length+1]; inttamaño=350; for(inti=0; i<arreglop.length; i++) { if(i==0)arreglop[i]=0.0; elsearreglop[i]=arreglo[i-1]; } for(inti=0; i<arreglo.length; i++) { if(barra)new CBarra(i*(tamaño/arreglo.length),arreglo[i],0,tamaño/arreglo.length); if(punto)new CPunto(((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglo[i],0,Color.RED); if(linea) { if(i>0)new CLinea((i*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i],0,Color.BLUE,((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i+1],0); elseif(i==0)new CLinea(0,0,0,Color.BLUE,((i+1)*(tamaño/arreglo.length))((tamaño/arreglo.length)/2),arreglop[i+1],0); } } } } import java.awt.Graphics2D; publicclassCDibujar { publicstaticvoiddibujar(Graphics2D g2d) { CPunto.dibujar(g2d); CVector.dibujar(g2d); CBarra.dibujar(g2d); CLinea.dibujar(g2d); } Graficación Suárez Hernández Martín Gerardo
  • 11. 0-Competencias Previas } importjava.awt.Color; importjava.awt.Graphics; import java.awt.Graphics2D; importjava.awt.Point; importjava.awt.event.KeyEvent; importjava.awt.event.KeyListener; importjava.awt.event.MouseEvent; importjava.awt.event.MouseListener; importjava.awt.event.MouseMotionListener; importjava.awt.event.MouseWheelEvent; importjava.awt.event.MouseWheelListener; import java.awt.geom.Point2D; importjavax.swing.JPanel; publicclassCPanelGraficoextendsJPanelimplements MouseWheelListener,KeyListener,MouseMotionListener,MouseListener { publicstaticEAccionACCION=EAccion.NINGUNO; publicstatic Point ORIGEN; private Point ORIGENINI,MOUSEINI,MOUSEFIN; publicstatic Point TRASLACION = new Point(0,0); publicstatic Point2D.Double ESCALA = new Point2D.Double(1.0,1.0); publicstaticdoubleROTACION = 0.0; publicCPanelGrafico() { this.setBackground(Color.WHITE); this.addKeyListener(this); this.addMouseListener(this); this.addMouseWheelListener(this); this.addMouseMotionListener(this); } publicvoiddoLayout() { super.doLayout(); if(ORIGEN==null)ORIGEN = new Point(this.getWidth()/2,this.getHeight()/2); } publicvoid paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D)g; g2d.setColor(Color.BLACK); g2d.drawLine(0,ORIGEN.y,this.getWidth(),ORIGEN.y); g2d.drawLine(ORIGEN.x,0,ORIGEN.x,this.getHeight()); g2d.fillOval(CPanelGrafico.ORIGEN.x-2,CPanelGrafico.ORIGEN.y-2,4,4); g2d.rotate(Math.toRadians(ROTACION),ORIGEN.x,ORIGEN.y); CDibujar.dibujar(g2d); g2d.rotate(Math.toRadians(-ROTACION),ORIGEN.x,ORIGEN.y); } publicvoidescalar(intpWheelRotation) { if(ACCION.equals(EAccion.ESCALACION)||ACCION.equals(EAccion.TODOS)) { ESCALA.x+=pWheelRotation*0.1; ESCALA.y+=pWheelRotation*0.1; ESCALA.x=Math.max(0,ESCALA.x); ESCALA.y=Math.max(0,ESCALA.y); repaint(); } } publicvoidtrasladar(Point p) { if(ACCION.equals(EAccion.TRASLACION)||ACCION.equals(EAccion.TODOS)) { ORIGEN.x+=p.x; Graficación Suárez Hernández Martín Gerardo
  • 12. 0-Competencias Previas ORIGEN.y+=p.y; repaint(); } } publicvoidrotar(doublepRotacion) { if(ACCION.equals(EAccion.ROTACION)||ACCION.equals(EAccion.TODOS)) { ROTACION+=pRotacion; repaint(); } } publicvoidmouseWheelMoved(MouseWheelEventpE) { escalar(pE.getWheelRotation()); rotar(pE.getWheelRotation()); } publicvoidkeyReleased(KeyEventpE) { if (pE.getKeyCode()==KeyEvent.VK_PLUS ||pE.getKeyCode()==KeyEvent.VK_ADD) {escalar(1); rotar(1); } elseif(pE.getKeyCode()==KeyEvent.VK_MINUS||pE.getKeyCode()==KeyEvent.VK_SUBTRACT){escalar(-1); rotar(-1);} elseif(pE.getKeyCode()==KeyEvent.VK_LEFT) trasladar(new Point(-5,0)); elseif(pE.getKeyCode()==KeyEvent.VK_RIGHT)trasladar(new Point(5,0)); elseif(pE.getKeyCode()==KeyEvent.VK_UP) trasladar(new Point(0,-5)); elseif(pE.getKeyCode()==KeyEvent.VK_DOWN) trasladar(new Point(0,5)); elseif(pE.getKeyCode()==KeyEvent.VK_0) { ORIGEN=null; doLayout(); ESCALA =new Point2D.Double(1.0,1.0); ROTACION=0.0; repaint(); } elseif(pE.getKeyCode()>=KeyEvent.VK_1&&pE.getKeyCode()<=KeyEvent.VK_9) { ESCALA=new Point2D.Double(pE.getKeyCode()-48,pE.getKeyCode()-48); repaint(); } } publicvoidmouseDragged(MouseEventpE) { MOUSEFIN = pE.getPoint(); TRASLACION = newPoint(MOUSEFIN.x-MOUSEINI.x,MOUSEFIN.y-MOUSEINI.y); ORIGEN.x=ORIGENINI.x; ORIGEN.y=ORIGENINI.y; trasladar(TRASLACION); } publicvoidmousePressed(MouseEventpE) { MOUSEINI = pE.getPoint(); ORIGENINI =new Point(ORIGEN.x,ORIGEN.y); } publicvoidkeyTyped(KeyEventpE){} publicvoidkeyPressed(KeyEventpE){} publicvoidmouseReleased(MouseEventpE){} publicvoidmouseMoved(MouseEventpE){} publicvoidmouseClicked(MouseEventpE){} publicvoidmouseEntered(MouseEventpE){} publicvoidmouseExited(MouseEventpE){} } importjava.awt.BorderLayout; importjava.awt.Container; Graficación Suárez Hernández Martín Gerardo
  • 13. 0-Competencias Previas importjava.awt.GridLayout; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; importjavax.swing.JButton; importjavax.swing.JFrame; importjavax.swing.JPanel; publicabstractclassCVentanaGraficaextendsJFrame { private Container panel; privateJPanelmenu; privateCPanelGraficografico; protectedintANCHO = 700, LARGO = 500; publicCVentanaGrafica() { panel = this.getContentPane(); panel.setLayout(newBorderLayout()); this.pack(); this.setBounds(0,0,ANCHO,LARGO); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setTitle("GRAFICO"); menu = newJPanel(newGridLayout(1,5)); panel.add(menu,BorderLayout.NORTH); crearBoton("Trasladar",EAccion.TRASLACION); crearBoton("Escalar",EAccion.ESCALACION); crearBoton("Rotar",EAccion.ROTACION); crearBoton("Todos",EAccion.TODOS); crearBoton("Ninguno",EAccion.NINGUNO); grafico = newCPanelGrafico(); panel.add(grafico,BorderLayout.CENTER); grafico.requestFocusInWindow(); crearGrafico(); this.setVisible(true); } protectedabstractvoidcrearGrafico(); publicvoidcrearBoton(String pEtiqueta, finalEAccionpAccion) { JButtonbBoton=newJButton(pEtiqueta); bBoton.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvent arg0) { CPanelGrafico.ACCION=pAccion; grafico.requestFocusInWindow(); } } ); menu.add(bBoton); } } publicenumEAccion { NINGUNO,TRASLACION,ESCALACION,ROTACION,TODOS; } publicclassMGraficoextendsCVentanaGrafica { protectedvoidcrearGrafico() { newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true); newCGraficas(newCDatos().archivo("datos"),true,true,true); newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true); Graficación Suárez Hernández Martín Gerardo
  • 14. 0-Competencias Previas newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true); newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true); newCGraficas(new CDatos().aleatorios(CAleatorio.numero(5,100),-100,100),true,true,true); } publicstaticvoid main(String[] args) { newMGrafico(); } } importjava.util.Vector; publicclassCDatos { public Double[] aleatorios(intpCant, doublepRmin, doublepRmax) { Vector<Double>datos=new Vector<Double>(); for(inti=0; i<pCant;i++) datos.add(CAleatorio.numero(pRmin,pRmax)); returndatos.toArray(new Double[]{}); } public Double[] archivo(String pArchivo) { Vector<Double>datos=new Vector<Double>(); CArchivoarchivo=newCArchivo(pArchivo); archivo.crearL(); int cant=(int)archivo.getNumero(); for(inti=0; i<cant;i++) datos.add(archivo.getNumero()); archivo.cerrar(); returndatos.toArray(new Double[]{}); } } publicclassCAleatorio { publicstaticintnumero(inta,int b) { return (int)numero((double)a,(double)b); } publicstaticdoublenumero(doublea,double b) { returnMath.random()*(b-a+1)+a; } } import java.io.*; importjavax.swing.JOptionPane; publicclassCArchivo { private String ubicacion,nombre,extension; privateBufferedReaderbr; privateBufferedWriterbw; publicCArchivo() { this("archivo"); } publicCArchivo(String pNombre) { this("rcs/",pNombre); } publicCArchivo(String pUbicacion,StringpNombre) { this(pUbicacion,pNombre,"txt"); } Graficación Suárez Hernández Martín Gerardo
  • 15. 0-Competencias Previas publicCArchivo(String pUbicacion,StringpNombre,StringpExtension) { ubicacion=pUbicacion; nombre=pNombre; extension=pExtension; } public String getExtension() { returnextension; } public File getFile() { returnnew File(ubicacion+nombre+"."+extension); } publicbooleanisExiste() { returngetFile().exists(); } publicvoideliminar() { getFile().delete(); } publiclonggetTamaño() { returngetFile().getTotalSpace(); } publicbooleancrearG() { bw=guardar(); returnbw!=null; } publicbooleancrearL() { br=leer(); returnbr!=null; } publicBufferedWriterguardar() { if(bw==null) try { bw=newBufferedWriter(newFileWriter(getFile(),false)); } catch(IOException e) { JOptionPane.showMessageDialog(null,"No se puedeguardar"); } returnbw; } publicvoidsetLinea(String pDato) { try { bw.write(pDato); } catch(IOException e) { JOptionPane.showMessageDialog(null,"No se puede escribir"); } catch(NullPointerException e) { JOptionPane.showMessageDialog(null,"No se ha creado el archivo."); } } publicBufferedReader leer() { if(isExiste()) try { br=newBufferedReader(newFileReader(getFile())); } catch(FileNotFoundException e) { JOptionPane.showMessageDialog(null,"No se pudoabrir el archivo"); } elseJOptionPane.showMessageDialog(null,"Noexiste el archivo"); returnbr; Graficación Suárez Hernández Martín Gerardo
  • 16. 0-Competencias Previas } public String[] lectorpesado(String pSplit) { String[] lectura=null; try { lectura=br.readLine().split(pSplit); } catch(IOException e) { JOptionPane.showMessageDialog(null,"No se } catch(NullPointerException e) { JOptionPane.showMessageDialog(null,"No se } returnlectura; } publicdoublegetNumero() { returnDouble.parseDouble(getLinea()); } public String getLinea() { Stringlinea=""; try { linea=br.readLine(); } catch(IOException e) { JOptionPane.showMessageDialog(null,"No se } catch(NullPointerException e) { JOptionPane.showMessageDialog(null,"No se } returnlinea; } publicvoidcerrar() { try { if(br!=null) br.close(); br=null; if(bw!=null) bw.close(); bw=null; } catch(IOException e) { JOptionPane.showMessageDialog(null,"No se } } } Graficación Suárez Hernández Martín Gerardo puede leer la linea"); ha abierto el archivo."); puede leer la linea"); ha abierto el archivo."); pudo cerrar el archivo");