Dessiner des Polygones en java, a partir de coordonnées en LateX

Dessiner des Polygones en java, a partir de coordonnées en LateX - Java - Programmation

Marsh Posté le 16-11-2005 à 11:38:17    

bonjour,
 
je dois réaliser, déssiner des polygones en java à partir des coordonnées de points en lateX mais je n'ai pas trop compris la démarche!!
j'aimerais s'il vous plait qu'on m'explique comment je pourrais procéder.
 
je pense qu'il faut déja faire un repere en java pour ensuite pouvoir placer les points que l'on désire
 
et aussi en matiere de logiciel a ultiliser pour executer le programme, si vous pourriez me conseiller un courant.
 
merci  
j'attend vos réponses et jme relance à ma recherche...  
cordialment
   

Reply

Marsh Posté le 16-11-2005 à 11:38:17   

Reply

Marsh Posté le 16-11-2005 à 11:52:15    

C'est pas clair du tout. Tu veux faire un module latex qui sort des polygones dessinés via java ?

Reply

Marsh Posté le 06-02-2006 à 01:07:00    

En fait, je dispose de coordonnées en lateX qui représentent des polygones,
et je dois les dessiner en java:
je dois faire un appel de fichier an java, j'aimerai savoir comment on peut faire des appels de fichiers
 
voici un exemple de coordonnées en lateX:
%nbaretes := 24;
%nbsommetspararetes := 2;
/ListePoints [
 {-1.087663873 , -.6279630303}
 {-1.255926060 , 0}
 {-.6279630303, -1.087663873}
 {0, -1.255926060}
 {.6279630303, 1.087663873}
 {0, 1.255926060}
 {0, .3e-9}
 {-1.087663873, .6279630303}
 {-1.087663873, .6279630303}
 {-1.255926060, 0}
 {-.3e-9, 0}
 {-.6279630303, -1.087663873}
 {-.6279630303, -1.087663873}
 {-1.087663873, -.6279630303}
 {1.255926060, 0}
 {1.087663873, -.6279630303}
 {1.087663873, -.6279630303}
 {.6279630303, -1.087663873}
 {.3e-9, 0}
 {-1.255926060, 0}
 {1.255926060, 0}
 {-.3e-9, 0}
 {-.3e-9, 0}
 {-.6279630303, 1.087663873}
 {-.6279630303, 1.087663873}
 {0, 1.255926060}
 {0, -.3e-9}
 {-1.087663873, -.6279630303}
 {0, -.3e-9}
 {0, 1.255926060}
 {1.255926060, 0}
 {1.087663873, .6279630303}
 {1.087663873, -.6279630303}
 {0, -.3e-9}
 {1.087663873, .6279630303}
 {.6279630303, 1.087663873}
 {1.087663873, .6279630303}
 {0, .3e-9}
 {.6279630303, -1.087663873}
 {.3e-9, 0}
 {0, .3e-9}
 {0, -1.255926060}
 {.6279630303, -1.087663873}
 {0, -1.255926060}
 {-.6279630303, 1.087663873}
 {-1.087663873, .6279630303}
 {.6279630303, 1.087663873}
 {.3e-9, 0}
] def
/ListeFaces [[0 0]] def
/NbrFaces 1 def
/ListeCells [[0 0]] def
/NbrCells 1 def
/NbrEdges 24 def
/NbrVerticesInAnEdge 2 def
 
Merci de me répondre svp
cordialement


Message édité par 1pedro le 06-02-2006 à 01:08:21
Reply

Marsh Posté le 06-02-2006 à 09:56:06    

Si j'ai bien compris ce que tu souhaites faire, la démarche est assez simple :
- analyser le fichier contenant les coordonnées en lateX ( en programmant un "parser" qui va bien)
- utiliser java2d avec Swing pour faire le tracé de tes polygones
 
Maintenant si tu ne sais pas programmer en Java, ça n'est pas sur le forum que tu trouveras quelqu'un pour te mâcher le travail... Si tu as des problèmes de développement, tu peux bien sûr venir poser tes questions.

Reply

Marsh Posté le 08-02-2006 à 18:16:41    

Merci,
En fait je ne sais pas comment programmer un "parser" si quequ'un pouvait m'aider ce serait trop sympa
 
sinon jai besoin de savoir si ce fichier est bon?:
 
___________________________________
import java.awt.*;
public class Main {
 
// On declare ici des variables contenant tous les polytopes
 
public void paint(Graphics g) {
 
int i=5000000;
int a = 300;
 
 
Polytope P232=Polytope(
-1.087663873 , -0.6279630303,
-1.255926060 , 0,
-0.6279630303, -1.087663873,
0, -1.255926060,
.6279630303, 1.087663873,
0, 1.255926060,
0, .3e-9,
-1.087663873, .6279630303,
-1.087663873, .6279630303,
-1.255926060, 0,
-0.3e-9, 0,
-0.6279630303, -1.087663873,
-0.6279630303, -1.087663873,
-1.087663873, -0.6279630303,
1.255926060, 0,
1.087663873, -0.6279630303,
1.087663873, -0.6279630303,
0.6279630303, -1.087663873,
.3e-9, 0,
-1.255926060, 0,
1.255926060, 0,
-0.3e-9, 0,
-0.3e-9, 0,
-0.6279630303, 1.087663873,
-0.6279630303, 1.087663873,
0, 1.255926060,
0, -0.3e-9,
-1.087663873, -0.6279630303,
0, -0.3e-9,
0, 1.255926060,
1.255926060, 0,
1.087663873, .6279630303,
1.087663873, -0.6279630303,
0, -0.3e-9,
1.087663873, .6279630303,
0.6279630303, 1.087663873,
1.087663873, .6279630303,
0, .3e-9,
0.6279630303, -1.087663873,
0.3e-9, 0,
0, .3e-9,
0, -1.255926060,
.6279630303, -1.087663873,
0, -1.255926060,
-0.6279630303, 1.087663873,
-1.087663873, .6279630303,
.6279630303, 1.087663873,
0.3e-9, 0);
 
}
  public static void main(String[] args) {
    Fenetre test=new Fenetre();
//On crée un objet de la classe Fenêtre.
 
    Frame nouvelle_fenetre=test.créationFenetre();
//On crée une variable de type Frame qui va contenir ce que nous retourne la méthode que nous venons d'appeler.
 
 PanelpourPolytope polytop = new PanelPourPolytope(P232);
//on crée un obet de la classe carre  
 
 polytop1.setBackground(Color.white);  
//on determine la couleur de fond de la fenetre
 
 polytop1.setSize(new Dimension(400,400));
//on determine la dimension du carré
    nouvelle_fenetre.add(polytop1);
    nouvelle_fenetre.show();
//On fait appel à une méthode qui permet d'afficher la fenêtre.
 
 
  }
}
____________________________________________
 
jai su dessiner un polygone mais comme certains polygones sont trés gros
je ne peux pas mettre toutes les coordonnées dans le fichier, il faudrait faire un appel du fichier lateX
mais je ne sais pas comment faire ceci..
 
en attendant une réponse
cordialement

Reply

Marsh Posté le 08-02-2006 à 20:00:23    

mets ton code dans des balises "code" pour plus de lisibilité sur le forum
 

Code :
  1. import java.awt.*;
  2. public class Main {
  3. // On declare ici des variables contenant tous les polytopes
  4. public void paint(Graphics g) {
  5. int i=5000000;
  6. int a = 300;
  7. Polytope P232=Polytope(
  8. -1.087663873 , -0.6279630303,
  9. -1.255926060 , 0,
  10. -0.6279630303, -1.087663873,
  11. 0, -1.255926060,
  12. .6279630303, 1.087663873,
  13. 0, 1.255926060,
  14. 0, .3e-9,
  15. -1.087663873, .6279630303,
  16. -1.087663873, .6279630303,
  17. -1.255926060, 0,
  18. -0.3e-9, 0,
  19. -0.6279630303, -1.087663873,
  20. -0.6279630303, -1.087663873,
  21. -1.087663873, -0.6279630303,
  22. 1.255926060, 0,
  23. 1.087663873, -0.6279630303,
  24. 1.087663873, -0.6279630303,
  25. 0.6279630303, -1.087663873,
  26. .3e-9, 0,
  27. -1.255926060, 0,
  28. 1.255926060, 0,
  29. -0.3e-9, 0,
  30. -0.3e-9, 0,
  31. -0.6279630303, 1.087663873,
  32. -0.6279630303, 1.087663873,
  33. 0, 1.255926060,
  34. 0, -0.3e-9,
  35. -1.087663873, -0.6279630303,
  36. 0, -0.3e-9,
  37. 0, 1.255926060,
  38. 1.255926060, 0,
  39. 1.087663873, .6279630303,
  40. 1.087663873, -0.6279630303,
  41. 0, -0.3e-9,
  42. 1.087663873, .6279630303,
  43. 0.6279630303, 1.087663873,
  44. 1.087663873, .6279630303,
  45. 0, .3e-9,
  46. 0.6279630303, -1.087663873,
  47. 0.3e-9, 0,
  48. 0, .3e-9,
  49. 0, -1.255926060,
  50. .6279630303, -1.087663873,
  51. 0, -1.255926060,
  52. -0.6279630303, 1.087663873,
  53. -1.087663873, .6279630303,
  54. .6279630303, 1.087663873,
  55. 0.3e-9, 0);
  56. }
  57.   public static void main(String[] args) {
  58.     Fenetre test=new Fenetre();
  59. //On crée un objet de la classe Fenêtre.
  60.     Frame nouvelle_fenetre=test.créationFenetre();
  61. //On crée une variable de type Frame qui va contenir ce que nous retourne la méthode que nous venons d'appeler.
  62. PanelpourPolytope polytop = new PanelPourPolytope(P232);
  63. //on crée un obet de la classe carre   
  64. polytop1.setBackground(Color.white); 
  65. //on determine la couleur de fond de la fenetre
  66. polytop1.setSize(new Dimension(400,400));
  67. //on determine la dimension du carré
  68.     nouvelle_fenetre.add(polytop1);
  69.     nouvelle_fenetre.show();
  70. //On fait appel à une méthode qui permet d'afficher la fenêtre.
  71.   }
  72. }


 
 
avec ça :
 
http://perso.wanadoo.fr/jm.doudoux [...] hap019.htm
 
et ça :
 
http://perso.wanadoo.fr/jm.doudoux [...] m#chap_5_5
 
 
Tu devrais pouvoir avancer

Reply

Marsh Posté le 09-02-2006 à 08:33:36    

Merci je vais voir si jy arrive
 
Cordialement

Reply

Marsh Posté le 15-02-2006 à 18:29:06    

Je n'ai pas trouvé grand chose sur ces liens :-(  
 
Ou pourrais-je trouver de l'aide niveau programmation, il s'agit surtout de la syntaxe du code, je ne vois pas comment faire..
 
merci de me répondre le plus rapidement possible
Cordialement

Reply

Marsh Posté le 16-02-2006 à 11:26:04    

Voila le code que j'ai pu faire
maintenant je voudrais savoir comment ouvrir le dessin dans une fenetre svp
 
 
 

Code :
  1. import java.io.*;
  2. import java.awt.*;
  3. public class Main {
  4. // On declare ici des variables contenant tous les polytopes
  5. int[] point = new int[97];
  6. public void paint(Graphics g) {
  7. int[] point = new int[97];
  8. int i=5000000;
  9. int a = 300;
  10. //drawline(point1X, point1Y, point2X, point2Y)
  11. //int [ton nombredepoint +1] point = new int [nbpoint +1];
  12. //Polytope P233=Polytope(
  13. g.drawLine((int)-1.087663873 , (int)-0.6279630303,(int)-1.255926060 , (int)0);
  14. g.drawLine((int)-0.6279630303, (int)-1.087663873,(int)0, (int)-1.255926060);
  15. g.drawLine((int)0.6279630303, (int)1.087663873,(int)0, (int)1.255926060);
  16. g.drawLine((int)0, (int)0.3e-9,(int)-1.087663873, (int)0.6279630303);
  17. g.drawLine((int)-1.087663873, (int)0.6279630303,(int)-1.255926060, (int)0);
  18. g.drawLine((int)-0.3e-9, (int)0,(int)-0.6279630303,(int)-1.087663873);
  19. g.drawLine((int)-0.6279630303, (int)-1.087663873,(int)-1.087663873, (int)-0.6279630303);
  20. g.drawLine((int)1.255926060, (int)0,(int)1.087663873, (int)-0.6279630303);
  21. g.drawLine((int)1.087663873, (int)-0.6279630303,(int)0.6279630303, (int)-1.087663873);
  22. g.drawLine((int)0.3e-9, (int)0,(int)-1.255926060, (int)0);
  23. g.drawLine((int)1.255926060, (int)0,(int)-0.3e-9, (int)0);
  24. g.drawLine((int)-0.3e-9, (int)0,(int)-0.6279630303, (int)1.087663873);
  25. g.drawLine((int)-0.6279630303, (int)1.087663873,(int)0, (int)1.255926060);
  26. g.drawLine((int)0, (int)-0.3e-9,(int)-1.087663873, (int)-0.6279630303);
  27. g.drawLine((int)0, (int)-0.3e-9,(int)0, (int)1.255926060);
  28. g.drawLine((int)1.255926060, (int)0,(int)1.087663873, (int).6279630303);
  29. g.drawLine((int)1.087663873, (int)-0.6279630303,(int)0, (int)-0.3e-9);
  30. g.drawLine((int)1.087663873, (int)0.6279630303,(int)0.6279630303, (int)0.087663873);
  31. g.drawLine((int)1.087663873, (int)0.6279630303,(int)0, (int)0.3e-9);
  32. g.drawLine((int)0.6279630303, (int)-1.087663873,(int)0.3e-9, (int)0);
  33. g.drawLine((int)0, (int)0.3e-9,(int)0, (int)-1.255926060);
  34. g.drawLine((int)0.6279630303, (int)-1.087663873,(int)0, (int)-1.255926060);
  35. g.drawLine((int)-0.6279630303, (int).087663873,(int)-1.087663873, (int)0.6279630303);
  36. g.drawLine((int)0.6279630303, (int)1.087663873,(int)0.3e-9,(int)0);
  37. }
  38.   public static void main(String[] args) {
  39.     Fenetre test=new Fenetre();
  40. //On crée un objet de la classe Fenêtre.
  41.     Frame nouvelle_fenetre=test.créationFenetre();
  42. //On crée une variable de type Frame qui va contenir ce que nous retourne la méthode que nous venons d'appeler.
  43. //polytop.setBackground(Color.white);  
  44. //on determine la couleur de fond de la fenetre
  45. //polytop.setSize(new Dimension(400,400));
  46. //on determine la dimension du carré
  47.     nouvelle_fenetre.add(cox233);
  48.     nouvelle_fenetre.show();
  49. //On fait appel à une méthode qui permet d'afficher la fenêtre.
  50.   }
  51. }


 
Ca ne veut toujours pas marcher, la fenetre ne souvre pas  
j'aimerai savoir pourquoi..
merci
Cordialement

Reply

Marsh Posté le 16-02-2006 à 12:42:15    

il te faut un
 

Code :
  1. nouvelle_fenetre.setVisible(true);


 

Reply

Marsh Posté le 16-02-2006 à 12:42:15   

Reply

Marsh Posté le 16-02-2006 à 17:27:26    

ca ne veut toujours pas marcher avec le code précedent

Reply

Marsh Posté le 16-02-2006 à 17:31:20    

tu n'as pas posté tout ton code là ?
 
une remarque : utilise les objets Swing (JFrame) et pas AWT (Frame)
 

Reply

Marsh Posté le 18-02-2006 à 16:21:23    

Si si il y a tout mon code là
pour le JFrame il faut une autre bibliothèque import javax.swing.JFrame;
mais quand je met ca, il me fait Class javax.swing.JFrame not found in import
 
ma version jdk ne doit pas avoir le swing je pense

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed