public void init(){
			int k;
			fenetre.activerECM();
			
			if(ecm == null) {
				k = 4;
				M = new double[n][k];
				N = new double[n][k];
			}
			else
			{
				fenetre.activerMenu();
				System.out.println("Calcul de N...");
				ecm.calculN();
				M = ecm.getM();
				N = ecm.getN();
				k = ecm.getk();
			}
			
			classes = new int[points.length];
			
			double max = 0;
			int jMax = 0;
			for (int i = 0; i < points.length; i++)
			{
				for (int j = 0; j < k; j++)
				{
					if(M[i][j] > max) {
						max = M[i][j];
						jMax = j;
					}
				}
				classes[i] = jMax;
				max = 0;
				jMax = 0;
			}
			
			//System.out.println("Calcul enveloppes convexes des classes selectionnees");
			//initConvexe();
			
			addMouseWheelListener(this);
			addMouseMotionListener(this);
			addMouseListener(this);
			
			symbolesClasses.add(new SymboleVide());
			symbolesClasses.add(new SymbolePlus());
			symbolesClasses.add(new SymboleRond());
			symbolesClasses.add(new SymboleTriangle());
			symbolesClasses.add(new SymboleCroix());
			symbolesClasses.add(new SymboleCarre());
			symbolesClasses.add(new SymboleDiamant());
			symbolesClasses.add(new SymboleTriangleP());
			symbolesClasses.add(new SymboleCarreP());
			symbolesClasses.add(new SymboleDiamantP());
			symbolesClasses.add(new SymboleRondC());
			symbolesClasses.add(new SymboleCarreC());
			symbolesClasses.add(new SymboleDiamantC());
			symbolesClasses.add(new SymboleRondP());
			dessine = true;

			centre();
			repaint();
		}