Más contenido relacionado
La actualidad más candente (20)
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");