Bonjour à tous, je suis nouveau et j'aurai besoin d'une aide pour un TP que je dois rendre lundi.

En effet je dois utiliser la fonction reshape pour resize ma fenetre et que ce que j'ai dessiné reste au centre de celle ci.
Pour cela notre prof nous a donné des indications comme :

Si largeur > hauteur
ybas = 0
Xbas = largeur-hauteur / 2

et l'inverse si hauteur > largeur.

Je planche dessus depuis quelques heures et je n'arrive pas à trouver mon problèmes.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 //: openGL.java
// importer le package AWT (Abstract Window Toolkit)
import java.awt.*;
// importer le package Swing
import javax.swing.*;
// importer le package qui gère les événements clavier et souris
import java.awt.event.*;
// importer le package contenant la bibliothèque OpenGL
import javax.media.opengl.*;
// importer le package contenant la bibliothèque GLU (OpenGL Utility Library)
import javax.media.opengl.glu.*;
// importer le package contenant notamment les classes Animator et GLUT
import com.sun.opengl.util.*;
 
public class tp1Part1 extends openGL {
    float taillePoint;
    public tp1Part1(){
        taillePoint = 2.0f;
    }
public void display(GLAutoDrawable drawable) {
    GL gl = drawable.getGL();
    gl.glViewport(0,0,largeur,hauteur);
    gl.glColor3f (1,0,0);
    gl.glPointSize (taillePoint);
    gl.glLineWidth (taillePoint);
    gl.glClearColor(0,0,1,1);
    gl.glClear (GL.GL_COLOR_BUFFER_BIT);
    gl.glPolygonMode (GL.GL_FRONT,GL.GL_LINE);
    gl.glBegin (GL.GL_QUADS);
        gl.glVertex2f(0.9f, 0.9f);
        gl.glVertex2f(-0.9f, 0.9f);
        gl.glVertex2f(-0.9f, -0.9f);
        gl.glVertex2f(0.9f, -0.9f);
    gl.glEnd();
    gl.glBegin (GL.GL_TRIANGLES);
        gl.glVertex2f(0f, 0.9f);
        gl.glVertex2f(0.9f, -0.9f);
        gl.glVertex2f(-0.9f, -0.9f);
    gl.glEnd();
      gl.glBegin (GL.GL_POLYGON);
    for (int i= 0; i<100; i++) {
    double x = Math.cos(2*Math.PI*i/100);
    double y = Math.sin(2*Math.PI*i/100);
     gl.glVertex2d(x,y);
    }
      gl.glEnd();
    }//display	
            public void reshape(GLAutoDrawable gLDrawable, int x, int y, int largeur, int taille) {
       final GL gl = gLDrawable.getGL();
       if(largeur>hauteur) {
		xbas=(largeur-taille)/2;
		ybas=0;
           }
       final float h = (float)largeur / (float)taille;
   }
public static void main (String  [] args) {
tp1Part1 monAppli = new tp1Part1 ();    
}//main
}//tp1Part1

Voilà le programme actuel, si je me suis trompé de forum n'hésitez pas à déplacer mon post ou à me le signaler que je le fasse.
Merci d'avance à tous.