A voir également:
- Tracer java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Jeux java itel touche - Forum Mobile
5 réponses
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
29 août 2006 à 21:59
29 août 2006 à 21:59
Salam,
si je comprend bien, vous voulez tracer la courbe de la fonction f(x)=x², et le pb qui se pose est que l'origine du repère pour drawLine(...) et en haut à gauche de l'écran, et vous vous voulez que l'origine soit au centre de l'écran (par exp) , si c'est ça ce que vous cherchez alors je vous propose ce qui suit:
1- pour dessiner un point selon le repère par defaut on utilisez drawLine(x,y,x,y) .
2-Le nouveau centre du repère est le point (x0,y0)
3- pour dessiner un point selon le nouveau repère utilisez drawLine(x0+x,y0+y,x0+x,y0+y)
Allah mo3ine
si je comprend bien, vous voulez tracer la courbe de la fonction f(x)=x², et le pb qui se pose est que l'origine du repère pour drawLine(...) et en haut à gauche de l'écran, et vous vous voulez que l'origine soit au centre de l'écran (par exp) , si c'est ça ce que vous cherchez alors je vous propose ce qui suit:
1- pour dessiner un point selon le repère par defaut on utilisez drawLine(x,y,x,y) .
2-Le nouveau centre du repère est le point (x0,y0)
3- pour dessiner un point selon le nouveau repère utilisez drawLine(x0+x,y0+y,x0+x,y0+y)
Allah mo3ine
Bonjour
je veux tracer la courbe de la fonction sinus x à partir du du langage java mais j'arrive pas.Je remercie toute personne pouvant maider.
merci
je veux tracer la courbe de la fonction sinus x à partir du du langage java mais j'arrive pas.Je remercie toute personne pouvant maider.
merci
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
29 mai 2008 à 22:58
29 mai 2008 à 22:58
je sais pas vraiment où elle est la difficulté nono, mais comme même je te propose ceci:
int x, y; // n'utilise pas des doubles un pixel est repéré par deux entiers
for(x=100; x<300;x++)
{
y=(int)Math.sinus(x);
g.drawLine(x,y);
}
int x, y; // n'utilise pas des doubles un pixel est repéré par deux entiers
for(x=100; x<300;x++)
{
y=(int)Math.sinus(x);
g.drawLine(x,y);
}
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
>
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
29 mai 2008 à 23:00
29 mai 2008 à 23:00
en fait c'est : Math.sin est non pas sinus et g.drawLine(x,y,x,y);
fifida
Messages postés
1
Date d'inscription
vendredi 20 juin 2008
Statut
Membre
Dernière intervention
20 juin 2008
20 juin 2008 à 13:15
20 juin 2008 à 13:15
package grahee;
public class fonction {
public fonction() {}
public double ValeurY( double X )
{
return (Math.sin(X));
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.String.*;
public class AffichageCourbe extends JPanel implements MouseListener, MouseMotionListener
{
public int NombrePoints = 500;
public double PointA = -10.0;
public double PointB = 10.0;
private CourbeMath MaCourbe;
private int PointX[];
private int PointY[];
private int PointCurseur = 0;
private int XMaxRPixel;
private int XMinPixel;
private int YMaxRPixel;
private int YMinPixel;
public AffichageCourbe(int X0 , int Y0 , int Width , int Heigh)
{
addMouseListener(this);
addMouseMotionListener(this);
//initialisation des variables de dimensions
XMinPixel = X0;
YMinPixel = Y0;
XMaxRPixel = Width;
YMaxRPixel = Heigh;
setBorder(new LineBorder(new Color(0, 0, 0)));
setBackground(new Color(200, 200, 200));
setBounds(XMinPixel,YMinPixel,XMaxRPixel+XMinPixel+20,YMaxRPixel+YMinPixel+20);
MaCourbe = new CourbeMath(NombrePoints,PointA,PointB);
MiseEnValeur();
}
@Override
public void paintComponent( Graphics MonGraph )
{
super.paintComponent(MonGraph);
Afficher(MonGraph);
}
private void Afficher(Graphics MonGraph)
{
//m�thodes qui affiche les donn�es sur le panneau
MonGraph.setColor(new Color(51, 0, 255));
MonGraph.drawPolyline(PointX,PointY,NombrePoints);
MonGraph.setColor(new Color(0,150,0));
MonGraph.drawLine(PointX[PointCurseur],YMinPixel-20,PointX[PointCurseur],YMaxRPixel+YMinPixel+20);
MonGraph.drawLine(XMinPixel-20,PointY[PointCurseur],XMaxRPixel+YMinPixel+20,PointY[PointCurseur]);
MonGraph.drawString("("+MaCourbe.MesPointsX[PointCurseur]+";"+ MaCourbe.MesPointsY[PointCurseur]+")",PointX[PointCurseur]+10,PointY[PointCurseur]-11);
}
public void MiseAJour()
{
PointCurseur = 0;
MaCourbe = new CourbeMath(NombrePoints,PointA,PointB);
MiseEnValeur();
repaint();
}
private void MiseEnValeur()
{
PointX = new int[NombrePoints];
PointY = new int[NombrePoints];
for( int i = 0 ; i < NombrePoints ; i++)
{
PointX[i] = (int)(XMinPixel + ((i*XMaxRPixel) / (NombrePoints-1)));
PointY[i] = (int)( ( MaCourbe.YMax() - MaCourbe.MesPointsY[i] ) * YMaxRPixel / ( MaCourbe.YMax() - MaCourbe.YMin() ) ) + YMinPixel;
}
}
public void mousePressed(MouseEvent e)
{
PointCurseur = RecherchePointCurseur(e.getX());
repaint();
}
public void mouseDragged(MouseEvent e)
{
PointCurseur = RecherchePointCurseur(e.getX());
repaint();
}
public void mouseClicked(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseMoved(MouseEvent e){}
private int RecherchePointCurseur( int MonPointX )
{
for( int i = 0 ; i < NombrePoints ; i++) if( PointX[i] >= MonPointX ) return i;
return NombrePoints-1;
}
---------------------------------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.lang.String.*;
public class AffichageResult extends JPanel
{
public JLabel NombrePoints;
public JLabel Bornes;
public AffichageResult(int X0 , int Y0 , int Width , int Heigh)
{
setBorder(new LineBorder(new Color(0, 0, 0)));
setBackground(new Color(200,200, 200));
//initialisation dimension
setBounds(X0,Y0,Width,Heigh);
setLayout(null);
Initialisation();
}
private void Initialisation()
{
//mise en place d'un container
NombrePoints = new JLabel("Nombre de points : <>");
Bornes = new JLabel("Bornes de Simulation : [ <> - <> ]");
add(NombrePoints);
add(Bornes);
NombrePoints.setBounds(10,10,800,20);
NombrePoints.setVisible(true);
Bornes.setBounds(10,40,800,20);
Bornes.setVisible(true);
}
}
------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.String.*;
public class Courbe extends JFrame
{
//d�claration du panel d'affichage des courbes
AffichageCourbe MonAffichage;
AffichageResult MonAffichageResult;
public Courbe()
{
this.Initialise();
this.setVisible(true);
}
private void Initialise()
{
//mise en place d'un container
Container Content = this.getContentPane();
//on met la fen�tre en plein �cran
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
int heigh = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
setBounds(0,0,width, heigh);
this.setResizable(false);
//on met en place le menu barre
JMenuBar MenuBar = new JMenuBar();
this.setJMenuBar(MenuBar);
JMenu Menu1 = new JMenu("Fichier");
JMenuItem Fonction = new JMenuItem("Importer une fonction", 2);
JMenuItem Quit = new JMenuItem("Quitter", 2);
MenuBar.add(Menu1);
Menu1.add(Fonction);
Menu1.addSeparator();
Menu1.add(Quit);
JMenu Menu2 = new JMenu("Syst�me");
JMenuItem Nb = new JMenuItem("Param�tres syst�mes", 2);
MenuBar.add(Menu2);
Menu2.add(Nb);
JMenu Menu3 = new JMenu("Param�tres Courbes");
JMenuItem Bornes = new JMenuItem("Bornes", 2);
MenuBar.add(Menu3);
Menu3.add(Bornes);
JMenu Menu4 = new JMenu("Simulation");
JMenuItem Expli = new JMenuItem("M�thode d'Euler explicite", 2);
JMenuItem Impli = new JMenuItem("M�thode d'Euler implicite", 2);
MenuBar.add(Menu4);
Menu4.add(Expli);
Menu4.add(Impli);
//gestion des menu barres
this.addWindowListener( new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e){
setVisible(false);
dispose();
System.exit(0);
}});
Quit.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}});
Nb.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
PSysteme();
}});
Bornes.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
PBornes();
}});
//mise en place du panneau principal
JPanel Affichage = new JPanel();
Affichage.setBorder(new LineBorder(new Color(0, 0, 0)));
Affichage.setBackground(new Color(255, 255, 204));
Affichage.setLayout(null);
Content.add(Affichage);
//initialisation des constantes de dimensionnement "affichage"
int X0 = 20;
int Y0 = 20;
int WidthC = width - 4*X0 - 5;
int HeighC = heigh - (int)(2*heigh/5);
//mise en place du panel
MonAffichage = new AffichageCourbe(X0,Y0,WidthC,HeighC);
Affichage.add(MonAffichage);
//initialisation des constantes de dimensionnement "resultat"
X0 = 20;
Y0 = Y0 + 60 + HeighC;
WidthC = width - (int)(width/5);
HeighC = (int)(2*heigh/5) - 145;
//mise en place du panel d'affichage des r�sultats
MonAffichageResult = new AffichageResult(X0,Y0,WidthC,HeighC);
Affichage.add(MonAffichageResult);
MonAffichageResult.NombrePoints.setText("Nombre de points : "+MonAffichage.NombrePoints);
MonAffichageResult.Bornes.setText("Bornes de Simulation : [ "+MonAffichage.PointA+" - "+MonAffichage.PointB+" ]");
}
private void PSysteme()
{
PSys ParamSys = new PSys(this,true,MonAffichage.NombrePoints);
ParamSys.setLocation(200,200);
ParamSys.show();
MonAffichage.NombrePoints = ParamSys.NombrePoints;
MonAffichageResult.NombrePoints.setText("Nombre de points : "+MonAffichage.NombrePoints);
MonAffichage.MiseAJour();
}
private void PBornes()
{
PBorne ParamBorne = new PBorne(this,true,MonAffichage.PointA,MonAffichage.PointB);
ParamBorne.setLocation(200,200);
ParamBorne.show();
MonAffichage.PointA = ParamBorne.PointA;
MonAffichage.PointB = ParamBorne.PointB;
MonAffichageResult.Bornes.setText("Bornes de Simulation : [ "+MonAffichage.PointA+" - "+MonAffichage.PointB+" ]");
MonAffichage.MiseAJour();
}
}
}
-------------------------------------------------------------------------------------------------
package grahee;
public class CourbeMath
{
public double MesPointsY[];
public double MesPointsX[];
public int NombrePoints;
private double Pas;
private double PointA;
private double PointB;
private fonction MaFonction;
public CourbeMath(int Nb , double A , double B)
{
NombrePoints = Nb;
MaFonction = new fonction();
PointA = A;
PointB = B;
Discretisation();
CalculPoints();
}
private void Discretisation()
{
Pas = (PointB - PointA ) / NombrePoints;
}
private void CalculPoints()
{
MesPointsY = new double[NombrePoints];
MesPointsX = new double[NombrePoints];
for(int i = 0 ; i < NombrePoints ; i++)
{
MesPointsX[i] = PointA+(i*Pas);
MesPointsY[i] = MaFonction.ValeurY(PointA+(i*Pas));
}
}
public double YMax()
{
double MonMax = MesPointsY[0];
for(int i = 1 ; i < NombrePoints ; i++) if( MesPointsY[i] > MonMax ) MonMax = MesPointsY[i];
return MonMax;
}
public double YMin()
{
double MonMin = MesPointsY[0];
for(int i = 1 ; i < NombrePoints ; i++) if( MesPointsY[i] < MonMin ) MonMin = MesPointsY[i];
return MonMin;
}
}
----------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JDialog;
public class PBorne extends JDialog
{
private JTextField TextA;
public double PointA;
private JTextField TextB;
public double PointB;
public PBorne(JFrame parent,boolean modal,double A,double B)
{
super(parent, modal);
PointA = A;
PointB = B;
Container contentPane = this.getContentPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel1, BorderLayout.SOUTH);
JPanel panel3 = new JPanel();
panel3.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel3, BorderLayout.CENTER);
TextA = new JTextField(""+PointA,15);
TextB = new JTextField(""+PointB,15);
panel3.add(TextA);
panel3.add(TextB);
JButton okButton = new JButton("OK");
panel1.add(okButton);
JButton cancelButton = new JButton("Cancel");
panel1.add(cancelButton);
setTitle("Gestion des valeurs aux bornes");
pack();
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
dispose();
setVisible(false);
}
});
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
PointA = Double.parseDouble(TextA.getText());
PointB = Double.parseDouble(TextB.getText());
if( PointA >= PointB )
{
PointA = -10.0;
PointB = 10.0;
TextA.setText(""+PointA);
TextB.setText(""+PointB);
return;
}
dispose();
setVisible(false);
}
});
}
}
--------------------------------------------------------------
package grahee;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JDialog;
public class PSys extends JDialog
{
private JTextField TextNombrePoints;
public int NombrePoints;
public PSys(JFrame parent,boolean modal,int NbPoints)
{
super(parent, modal);
NombrePoints = NbPoints;
Container contentPane = this.getContentPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel1, BorderLayout.SOUTH);
JPanel panel3 = new JPanel();
panel3.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel3, BorderLayout.CENTER);
TextNombrePoints = new JTextField(""+NombrePoints,8);
panel3.add(TextNombrePoints);
JButton okButton = new JButton("OK");
panel1.add(okButton);
JButton cancelButton = new JButton("Cancel");
panel1.add(cancelButton);
setTitle("Gestion des param�tres syst�mes");
pack();
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
dispose();
setVisible(false);
}
});
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
NombrePoints = Integer.parseInt(TextNombrePoints.getText());
if( NombrePoints > 1000 || NombrePoints < 5 )
{
TextNombrePoints.setText("500");
return;
}
dispose();
setVisible(false);
}
});
}
}
----------------------------------------------------------------------------------------------
package grahee;
public class principal {
public principal() {}
public static void main(String[] args)
{
Courbe MaCourbe = new Courbe();
}
}
ces programme peuvent vous aider a dessiner sin x
public class fonction {
public fonction() {}
public double ValeurY( double X )
{
return (Math.sin(X));
}
}
------------------------------------------------------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.String.*;
public class AffichageCourbe extends JPanel implements MouseListener, MouseMotionListener
{
public int NombrePoints = 500;
public double PointA = -10.0;
public double PointB = 10.0;
private CourbeMath MaCourbe;
private int PointX[];
private int PointY[];
private int PointCurseur = 0;
private int XMaxRPixel;
private int XMinPixel;
private int YMaxRPixel;
private int YMinPixel;
public AffichageCourbe(int X0 , int Y0 , int Width , int Heigh)
{
addMouseListener(this);
addMouseMotionListener(this);
//initialisation des variables de dimensions
XMinPixel = X0;
YMinPixel = Y0;
XMaxRPixel = Width;
YMaxRPixel = Heigh;
setBorder(new LineBorder(new Color(0, 0, 0)));
setBackground(new Color(200, 200, 200));
setBounds(XMinPixel,YMinPixel,XMaxRPixel+XMinPixel+20,YMaxRPixel+YMinPixel+20);
MaCourbe = new CourbeMath(NombrePoints,PointA,PointB);
MiseEnValeur();
}
@Override
public void paintComponent( Graphics MonGraph )
{
super.paintComponent(MonGraph);
Afficher(MonGraph);
}
private void Afficher(Graphics MonGraph)
{
//m�thodes qui affiche les donn�es sur le panneau
MonGraph.setColor(new Color(51, 0, 255));
MonGraph.drawPolyline(PointX,PointY,NombrePoints);
MonGraph.setColor(new Color(0,150,0));
MonGraph.drawLine(PointX[PointCurseur],YMinPixel-20,PointX[PointCurseur],YMaxRPixel+YMinPixel+20);
MonGraph.drawLine(XMinPixel-20,PointY[PointCurseur],XMaxRPixel+YMinPixel+20,PointY[PointCurseur]);
MonGraph.drawString("("+MaCourbe.MesPointsX[PointCurseur]+";"+ MaCourbe.MesPointsY[PointCurseur]+")",PointX[PointCurseur]+10,PointY[PointCurseur]-11);
}
public void MiseAJour()
{
PointCurseur = 0;
MaCourbe = new CourbeMath(NombrePoints,PointA,PointB);
MiseEnValeur();
repaint();
}
private void MiseEnValeur()
{
PointX = new int[NombrePoints];
PointY = new int[NombrePoints];
for( int i = 0 ; i < NombrePoints ; i++)
{
PointX[i] = (int)(XMinPixel + ((i*XMaxRPixel) / (NombrePoints-1)));
PointY[i] = (int)( ( MaCourbe.YMax() - MaCourbe.MesPointsY[i] ) * YMaxRPixel / ( MaCourbe.YMax() - MaCourbe.YMin() ) ) + YMinPixel;
}
}
public void mousePressed(MouseEvent e)
{
PointCurseur = RecherchePointCurseur(e.getX());
repaint();
}
public void mouseDragged(MouseEvent e)
{
PointCurseur = RecherchePointCurseur(e.getX());
repaint();
}
public void mouseClicked(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseExited(MouseEvent e){}
public void mouseMoved(MouseEvent e){}
private int RecherchePointCurseur( int MonPointX )
{
for( int i = 0 ; i < NombrePoints ; i++) if( PointX[i] >= MonPointX ) return i;
return NombrePoints-1;
}
---------------------------------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.lang.String.*;
public class AffichageResult extends JPanel
{
public JLabel NombrePoints;
public JLabel Bornes;
public AffichageResult(int X0 , int Y0 , int Width , int Heigh)
{
setBorder(new LineBorder(new Color(0, 0, 0)));
setBackground(new Color(200,200, 200));
//initialisation dimension
setBounds(X0,Y0,Width,Heigh);
setLayout(null);
Initialisation();
}
private void Initialisation()
{
//mise en place d'un container
NombrePoints = new JLabel("Nombre de points : <>");
Bornes = new JLabel("Bornes de Simulation : [ <> - <> ]");
add(NombrePoints);
add(Bornes);
NombrePoints.setBounds(10,10,800,20);
NombrePoints.setVisible(true);
Bornes.setBounds(10,40,800,20);
Bornes.setVisible(true);
}
}
------------------------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.awt.*;
import java.lang.String.*;
public class Courbe extends JFrame
{
//d�claration du panel d'affichage des courbes
AffichageCourbe MonAffichage;
AffichageResult MonAffichageResult;
public Courbe()
{
this.Initialise();
this.setVisible(true);
}
private void Initialise()
{
//mise en place d'un container
Container Content = this.getContentPane();
//on met la fen�tre en plein �cran
int width = (int)Toolkit.getDefaultToolkit().getScreenSize().width;
int heigh = (int)Toolkit.getDefaultToolkit().getScreenSize().height;
setBounds(0,0,width, heigh);
this.setResizable(false);
//on met en place le menu barre
JMenuBar MenuBar = new JMenuBar();
this.setJMenuBar(MenuBar);
JMenu Menu1 = new JMenu("Fichier");
JMenuItem Fonction = new JMenuItem("Importer une fonction", 2);
JMenuItem Quit = new JMenuItem("Quitter", 2);
MenuBar.add(Menu1);
Menu1.add(Fonction);
Menu1.addSeparator();
Menu1.add(Quit);
JMenu Menu2 = new JMenu("Syst�me");
JMenuItem Nb = new JMenuItem("Param�tres syst�mes", 2);
MenuBar.add(Menu2);
Menu2.add(Nb);
JMenu Menu3 = new JMenu("Param�tres Courbes");
JMenuItem Bornes = new JMenuItem("Bornes", 2);
MenuBar.add(Menu3);
Menu3.add(Bornes);
JMenu Menu4 = new JMenu("Simulation");
JMenuItem Expli = new JMenuItem("M�thode d'Euler explicite", 2);
JMenuItem Impli = new JMenuItem("M�thode d'Euler implicite", 2);
MenuBar.add(Menu4);
Menu4.add(Expli);
Menu4.add(Impli);
//gestion des menu barres
this.addWindowListener( new WindowAdapter(){
@Override
public void windowClosing(WindowEvent e){
setVisible(false);
dispose();
System.exit(0);
}});
Quit.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
System.exit(0);
}});
Nb.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
PSysteme();
}});
Bornes.addActionListener( new ActionListener(){
public void actionPerformed(ActionEvent e){
PBornes();
}});
//mise en place du panneau principal
JPanel Affichage = new JPanel();
Affichage.setBorder(new LineBorder(new Color(0, 0, 0)));
Affichage.setBackground(new Color(255, 255, 204));
Affichage.setLayout(null);
Content.add(Affichage);
//initialisation des constantes de dimensionnement "affichage"
int X0 = 20;
int Y0 = 20;
int WidthC = width - 4*X0 - 5;
int HeighC = heigh - (int)(2*heigh/5);
//mise en place du panel
MonAffichage = new AffichageCourbe(X0,Y0,WidthC,HeighC);
Affichage.add(MonAffichage);
//initialisation des constantes de dimensionnement "resultat"
X0 = 20;
Y0 = Y0 + 60 + HeighC;
WidthC = width - (int)(width/5);
HeighC = (int)(2*heigh/5) - 145;
//mise en place du panel d'affichage des r�sultats
MonAffichageResult = new AffichageResult(X0,Y0,WidthC,HeighC);
Affichage.add(MonAffichageResult);
MonAffichageResult.NombrePoints.setText("Nombre de points : "+MonAffichage.NombrePoints);
MonAffichageResult.Bornes.setText("Bornes de Simulation : [ "+MonAffichage.PointA+" - "+MonAffichage.PointB+" ]");
}
private void PSysteme()
{
PSys ParamSys = new PSys(this,true,MonAffichage.NombrePoints);
ParamSys.setLocation(200,200);
ParamSys.show();
MonAffichage.NombrePoints = ParamSys.NombrePoints;
MonAffichageResult.NombrePoints.setText("Nombre de points : "+MonAffichage.NombrePoints);
MonAffichage.MiseAJour();
}
private void PBornes()
{
PBorne ParamBorne = new PBorne(this,true,MonAffichage.PointA,MonAffichage.PointB);
ParamBorne.setLocation(200,200);
ParamBorne.show();
MonAffichage.PointA = ParamBorne.PointA;
MonAffichage.PointB = ParamBorne.PointB;
MonAffichageResult.Bornes.setText("Bornes de Simulation : [ "+MonAffichage.PointA+" - "+MonAffichage.PointB+" ]");
MonAffichage.MiseAJour();
}
}
}
-------------------------------------------------------------------------------------------------
package grahee;
public class CourbeMath
{
public double MesPointsY[];
public double MesPointsX[];
public int NombrePoints;
private double Pas;
private double PointA;
private double PointB;
private fonction MaFonction;
public CourbeMath(int Nb , double A , double B)
{
NombrePoints = Nb;
MaFonction = new fonction();
PointA = A;
PointB = B;
Discretisation();
CalculPoints();
}
private void Discretisation()
{
Pas = (PointB - PointA ) / NombrePoints;
}
private void CalculPoints()
{
MesPointsY = new double[NombrePoints];
MesPointsX = new double[NombrePoints];
for(int i = 0 ; i < NombrePoints ; i++)
{
MesPointsX[i] = PointA+(i*Pas);
MesPointsY[i] = MaFonction.ValeurY(PointA+(i*Pas));
}
}
public double YMax()
{
double MonMax = MesPointsY[0];
for(int i = 1 ; i < NombrePoints ; i++) if( MesPointsY[i] > MonMax ) MonMax = MesPointsY[i];
return MonMax;
}
public double YMin()
{
double MonMin = MesPointsY[0];
for(int i = 1 ; i < NombrePoints ; i++) if( MesPointsY[i] < MonMin ) MonMin = MesPointsY[i];
return MonMin;
}
}
----------------------------------------------------------------------------------------------------
package grahee;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JDialog;
public class PBorne extends JDialog
{
private JTextField TextA;
public double PointA;
private JTextField TextB;
public double PointB;
public PBorne(JFrame parent,boolean modal,double A,double B)
{
super(parent, modal);
PointA = A;
PointB = B;
Container contentPane = this.getContentPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel1, BorderLayout.SOUTH);
JPanel panel3 = new JPanel();
panel3.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel3, BorderLayout.CENTER);
TextA = new JTextField(""+PointA,15);
TextB = new JTextField(""+PointB,15);
panel3.add(TextA);
panel3.add(TextB);
JButton okButton = new JButton("OK");
panel1.add(okButton);
JButton cancelButton = new JButton("Cancel");
panel1.add(cancelButton);
setTitle("Gestion des valeurs aux bornes");
pack();
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
dispose();
setVisible(false);
}
});
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
PointA = Double.parseDouble(TextA.getText());
PointB = Double.parseDouble(TextB.getText());
if( PointA >= PointB )
{
PointA = -10.0;
PointB = 10.0;
TextA.setText(""+PointA);
TextB.setText(""+PointB);
return;
}
dispose();
setVisible(false);
}
});
}
}
--------------------------------------------------------------
package grahee;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JDialog;
public class PSys extends JDialog
{
private JTextField TextNombrePoints;
public int NombrePoints;
public PSys(JFrame parent,boolean modal,int NbPoints)
{
super(parent, modal);
NombrePoints = NbPoints;
Container contentPane = this.getContentPane();
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel1, BorderLayout.SOUTH);
JPanel panel3 = new JPanel();
panel3.setLayout(new FlowLayout(FlowLayout.CENTER));
contentPane.add(panel3, BorderLayout.CENTER);
TextNombrePoints = new JTextField(""+NombrePoints,8);
panel3.add(TextNombrePoints);
JButton okButton = new JButton("OK");
panel1.add(okButton);
JButton cancelButton = new JButton("Cancel");
panel1.add(cancelButton);
setTitle("Gestion des param�tres syst�mes");
pack();
cancelButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
dispose();
setVisible(false);
}
});
okButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event)
{
NombrePoints = Integer.parseInt(TextNombrePoints.getText());
if( NombrePoints > 1000 || NombrePoints < 5 )
{
TextNombrePoints.setText("500");
return;
}
dispose();
setVisible(false);
}
});
}
}
----------------------------------------------------------------------------------------------
package grahee;
public class principal {
public principal() {}
public static void main(String[] args)
{
Courbe MaCourbe = new Courbe();
}
}
ces programme peuvent vous aider a dessiner sin x
bonjour. je ne sais pas comment interpreter les données d'un tableau sous forme de courbe sous java.
je remercie toute personne qui pourra m'aider.
je remercie toute personne qui pourra m'aider.
hamzafes
Messages postés
243
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
4 mai 2013
54
29 mai 2008 à 22:53
29 mai 2008 à 22:53
plus de détails stp djamal
LLah m3ine
LLah m3ine
Malgré que ta question est entierement pas claire , je t'offre ce lien qui peux t'être utile:
http://www.javafr.com/codes/TRACER-COURBE-PARTIR-JTABLE_21833.aspx
c'est un exemple d'implementation en lgge java traçant une courbe a partir d'un JTable
esperant que ça répond à ta "question"??!!!
http://www.javafr.com/codes/TRACER-COURBE-PARTIR-JTABLE_21833.aspx
c'est un exemple d'implementation en lgge java traçant une courbe a partir d'un JTable
esperant que ça répond à ta "question"??!!!
Salam,
Voici quelques questions pour l'instant, si j'en ais d'autres je te les enverrais plus tard.
- Quelles sont les instructions qui permettent d'afficher trois boutons : Sin - Echelon - Sinc ?
- Quelles sont les instructions qui permettent de visualiser les graphes des trois fonctions précédentes (sinus, échelon unité et sinus cardinal, avec amplitude et fréquence) ?
- Quel package (bibliothèque) utiliser pour échantillonner (avec fréquence d'échantillonnage)et filtrer (avec fréquence du filtre) ces fonctions ?
- Si on clique sur un des graphe (sinus par exemple) comment faire pour avoir les coordonnées de ce point précis ?
Voici quelques questions pour l'instant, si j'en ais d'autres je te les enverrais plus tard.
- Quelles sont les instructions qui permettent d'afficher trois boutons : Sin - Echelon - Sinc ?
- Quelles sont les instructions qui permettent de visualiser les graphes des trois fonctions précédentes (sinus, échelon unité et sinus cardinal, avec amplitude et fréquence) ?
- Quel package (bibliothèque) utiliser pour échantillonner (avec fréquence d'échantillonnage)et filtrer (avec fréquence du filtre) ces fonctions ?
- Si on clique sur un des graphe (sinus par exemple) comment faire pour avoir les coordonnées de ce point précis ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question