[Erledigt] Schwingung unsauber

Hallo! Ich habe eine SChwingung programmiert die sich nach links verschiebt!! wie man auf dem bild sieht ist über der schwingung eine Linie,ich weiß nicht woher die kommt bzw wie ich sie wegbekomme!!
bitte um hilfe! danke!

http://www.bilder-speicher.de/07062502664331.vollbild.html

		Graphics g;
        g=cv2.cv2.getGraphics();
        
        for(double to=0;to<=1000;to=to+1){
        fl= (2*D2*(l002*Math.cos(alpha2/2)+sneu2)*(Math.sqrt(2*l002*sneu2*Math.cos(alpha2/2)+l002*l002+sneu2*sneu2)-l002)
				/Math.sqrt(2*l002*sneu2*Math.cos(alpha2/2)+l002*l002+sneu2*sneu2));
        
		kl= m2*9.81-fl;
		
		sneu2=(kl/m2)*(0.001)+2*salt12-salt22;
		salt22=salt12;
		salt12=sneu2;
		
		System.out.println("sneu: "+sneu2);
		xb[(int) to]=(int) (to-verschiebung);
	    
	    
		ykurve[(int) to]=(int) (sneu2+30);
		
        }try{

        	//g.setColor(Color.gray);
        	//g.fillRect(0,0,500,50);
        	g.setColor(Color.black);      	
        	g.drawPolyline(xb, ykurve, xb.length);
        	
        	Thread.sleep(550);
        	
        	g.setColor(Color.gray);
        	g.drawPolyline(xb, ykurve, xb.length);
        	
        	
	}catch(InterruptedException h){}
	
}```

ich würd sagen du hast in deinem Array noch 0,0 drin, daher geht wieder eine Linie zum Start zurück.

und als Info du kannst Bilder und andere Sachen auch als Anhang an deinen Beitrag mitschicken, so musst du diese nicht extra wo anders hochladen

also besitz habe ich in einem array noch den wert 0,0 gespeichert?? mhh oh ah! wie krieg ich den weg!!

naja das einfachste ist du benutzt keine festen Werte zum interieren

		Graphics g;
        g=cv2.cv2.getGraphics();
        
        for(double to=0;to<=ykurve.length;to++){
        fl= (2*D2*(l002*Math.cos(alpha2/2)+sneu2)*(Math.sqrt(2*l002*sneu2*Math.cos(alpha2/2)+l002*l002+sneu2*sneu2)-l002)
				/Math.sqrt(2*l002*sneu2*Math.cos(alpha2/2)+l002*l002+sneu2*sneu2));
        
		kl= m2*9.81-fl;
		
		sneu2=(kl/m2)*(0.001)+2*salt12-salt22;
		salt22=salt12;
		salt12=sneu2;
		
		System.out.println("sneu: "+sneu2);
		xb[(int) to]=(int) (to-verschiebung);
	    
	    
		ykurve[(int) to]=(int) (sneu2+30);
		
        }try{

        	//g.setColor(Color.gray);
        	//g.fillRect(0,0,500,50);
        	g.setColor(Color.black);      	
        	g.drawPolyline(xb, ykurve, xb.length);
        	
        	Thread.sleep(550);
        	
        	g.setColor(Color.gray);
        	g.drawPolyline(xb, ykurve, xb.length);
        	
        	
	}catch(InterruptedException h){}
	
}```

bei deinem verbesserten Code ist en fehler gekommen

xb[(int) to]=(int) (to-verschiebung); da kommt der fehler

Exception in thread “Thread-2” java.lang.ArrayIndexOutOfBoundsException: 3600
at Schwingung.sinkurve(Schwingung.java:358)
at Schwingung.run(Schwingung.java:330)
at java.lang.Thread.run(Unknown Source)

oh hab ich falsch hingesehen
ersetz mal ykurve.length durch xb.length

und xb.length-1 dann gehts=) danke!