Punkt zeichnen auf sinus

Status
Nicht offen für weitere Antworten.
Code:
public class Trigonometrisch {
 protected Color color;
 protected double a;
 protected double omega;
 protected double omega0;
 
	public Trigonometrisch(double a,double omega,double omega0,Color color){
		this.color=color;
		this.a=a;
		this.omega=omega;
		this.omega0=omega0;
	}
	
	public void draw(Graphics g){
		g.setColor(color);
		for(double x=-1000;x<1000;x+=0.5){
			double y=a*Math.sin(omega*x+omega0);
			double ymehr=a*Math.sin(omega*(x+0.5)+omega0);
			g.drawLine((int)(x+200),(int)(y+500),(int)(x+0.5+200),(int)(ymehr+500));
		}
	}
}

also diese classe zeichnet mir schon wunderbar verschiedene sinus ähnliche funktionen
nur möchte ich jetzt mir bestimmte Punkte makieren lassen(z.B. PI/2 oder jedes PI/4) und das mit dem schon angefertigten Punkt Objekt

Code:
public class Punkt {
	protected double x;
	protected double y;

	public Punkt(double x, double y) {
		this.x = x;
		this.y = y;
	}
	protected void setColor(Graphics g){
		g.setColor(Color.RED);
	}
	public void draw(Graphics g) {
		g.setColor(Color.BLACK);
		g.drawOval((int)(x-1.5),(int)(y-1.5),3,3);
		setColor(g);
		g.fillOval((int)(x-1.5),(int)(y-1.5),3,3);
	}

	public String toString() {
		return "(" + x + "," + y + ")";
	}
}

mein Problem wie finde ich die Stelle PI/2 oder ähnliches??
desweiterem komm ich mit dem zeitlichen ablauf nicht klar denn die werte der funktion habe ich ja im objekt Trigon.. muss ich Punkt auch dann aufrufen oder erst spähter nach dem die funktion gezeichnet wurde un d mi also noch weitere übergabe param besorgen??

bitte erstmal etwas allgemein antworten möchte schon noch selber Programmieren

danke im vorraus
tombo
 
S

SlaterB

Gast
du brauchst den x-Wert zum realen x PI/2

deine Schleife macht aus einem künstlichen x per 'omega*x+omega0' das reale x, also kannst du auch zurückrechnen,

den Punkt kannst du direkt in der Schleife malen, falls er nicht vom nächsten Strich übermalt wird (testen)
oder am Ende, deine Entscheidung,
x und y wie in drawLine() musst du an die Punkt-Klasse übergeben
 
du brauchst den x-Wert zum realen x PI/2

deine Schleife macht aus einem künstlichen x per 'omega*x+omega0' das reale x, also kannst du auch zurückrechnen,
ja also das zurück rechnen bekomme ich nicht hin aber mir iss gerade was anderes eingefallen ich kann mir ja den y wert an der stelle x = 0 besorgen(nenn ich mal yschwelle) und dann beim zeichenen nach dem er x=0 passiert hat einfach drauf warten das er y schwelle passiert dann speichere ich x als periodendauer(2PI)

ich sehe da nur ein Problem ich bekomme nur eine gerundete Phasenlänge also wenn ich mir sehrviele perioden darstelle wird warscheinlich dann der punkt(e) auf der periode sich immer weiter verschieben

ich probiere es erstmal aus warscheinlich nur suboptimal(bis schlecht) aber mal kucken wie es aussieht
 
den Punkt kannst du direkt in der Schleife malen, falls er nicht vom nächsten Strich übermalt wird (testen)
oder am Ende, deine Entscheidung,
x und y wie in drawLine() musst du an die Punkt-Klasse übergeben
wenn ich Punkt aufrufe wie folgt
Code:
public void draw(Graphics g){
		int yschwelle=(int)(a*Math.sin(omega*0+omega0)+500);
		double phasenlaenge=0;
		int mod =0;
		g.setColor(color);
		for(double x=-1000;x<1000;x+=0.5){
			double y=a*Math.sin(omega*x+omega0);
			double ymehr=a*Math.sin(omega*(x+0.5)+omega0);
			if(x==200)
				mod=1;
			if(mod==1&&y==yschwelle)
				phasenlaenge=x-200;
                                             mod=0;
			g.drawLine((int)(x+200),(int)(y+500),(int)(x+0.5+200),(int)(ymehr+500));
		}
		for(double x=200;x<1200;x+=phasenlaenge){
			double y=a*Math.sin(omega*x+omega0);
			[B]Punkt((int)x,(int)y);[/B]
	}
gibs den fehler "is undefined for Trigono.."

Hiermal die ausführende Klasse:
Code:
import java.awt.Color;
import easy.painter.Painter;


public class Ausführen {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Painter painter = new Painter();
		//painter.add(new Punkt(30,30));
		painter.add(new Gitter());
		painter.add(new Trigonometrisch(50,0.04,-0.25*Math.PI,Color.RED));
		//painter.add(new Trigonometrisch(50,0.02,-0.25*Math.PI,Color.BLUE));
		//painter.add(new Trigonometrisch(150,0.02,-0.25*Math.PI,Color.BLACK));
		//painter.add(new Trigonometrisch(50,0.04,-0.75*Math.PI,Color.GREEN));
		
		
		
		painter.showDrawing();
	}

}

wo kann ich punkt nun aufrufen nerv..
 
S

SlaterB

Gast
new Punkt(..);
??

schau dir deinen Code

> Painter painter = new Painter();
> //painter.add(new Punkt(30,30));
> painter.add(new Gitter());

an, da steht doch auch nicht

Painter();
 
also habe wie oben angekündig es mal so programmiert gehabt und der punkt iss dann wirklich gewandert noch dazu kam wenn man bei x=0 die amplitude hatte hat es falsch funktioniert...
daher habe ich bestimmt die letzte stunde formel gesucht und zum glück auch gefunden

das sieht jetzt soo aus:
Code:
public void draw(Graphics g){
		g.setColor(color);
		for(double x=-1000;x<1000;x+=0.5){
			double y=a*Math.sin(omega*x+omega0);
			double ymehr=a*Math.sin(omega*(x+0.5)+omega0);
			g.drawLine((int)(x+200),(int)(y+500),(int)(x+0.5+200),(int)(ymehr+500));
			
			
		}
		[B]double periodendauer=2*Math.PI/omega;//periodendauer=2PI[/B]
		for(double x=0;x<1000;x+=periodendauer/8){
			double y=a*Math.sin(omega*x+omega0);
			g.setColor(Color.BLACK);
			g.drawOval((int)(x-1.5+200),(int)(y-1.5+500),3,3);
			g.setColor(Color.RED);
			g.fillOval((int)(x-1.5+200),(int)(y-1.5+500),3,3);
			g.setColor(color);
		}
		for(double x=0;x>-1000;x-=periodendauer/8){
			double y=a*Math.sin(omega*x+omega0);
			[COLOR="Red"]new Punkt(x,y);[/COLOR]
		}
				
		
	}

einzigstes problem das ich den punkt immer noch selber zeichne aber nicht das objekt Punkt benutze also die punkte im negativen bereich werden nicht gezeichnet(als beispiel im code rot)
 
S

SlaterB

Gast
new Punkt() zeichnet auch gar nix, es muss noch die Methode draw aufgerufen werden,

und wie gesagt,
wenn du manuell zeichnend
(x-1.5+200),(int)(y-1.5+500)
hast,
dann muss auch der Punkt irgendwie erfahren, dass +200 und +500 zu rechnen sind,
entweder in dessen draw-Methode fest eintragen,
oder statt x z.B. x+200 übergeben
 
Code:
public Punkt(double x, double y) {
		this.x = x+200;
		this.y = y+500;
	}
habs einfach mal da geändert

Code:
double periodendauer=2*Math.PI/omega;//periodendauer=2PI
		for(double x=0-20*periodendauer;x<1000;x+=periodendauer/8){
			double y=a*Math.sin(omega*x+omega0);
			new Punkt(x,y).draw(g);
		}
funzt supi

danke SlaterB
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Punkt in Java zeichnen Java Basics - Anfänger-Themen 14
C Anker Punkt setzen. Java Basics - Anfänger-Themen 1
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
JavaBeginner22 Punkt auf Gerade Java Basics - Anfänger-Themen 59
K Gleitkommazahl macht man 0 punkt matisse oder 1 punkt matisse Java Basics - Anfänger-Themen 2
B String - Wörter finden, welches Punkt und entsprechender Pre / Suffix hat? Java Basics - Anfänger-Themen 30
M Regex nur Zahlen und Punkt zulassen, Keine Eingabe(Leeres TextFeld) nicht zulassen Java Basics - Anfänger-Themen 6
A Java . punkt neben einer Zahl. Java Basics - Anfänger-Themen 1
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
F Aufgabe: Abstand von einem Punkt zu einem anderen Punkt Java Basics - Anfänger-Themen 10
H Punkt bewegt sich auf einer Ellipse Java Basics - Anfänger-Themen 6
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
P Datentypen Kann ich bei double Komma statt Punkt eingeben? Java Basics - Anfänger-Themen 14
U RegEx alle Kommas bei den Zahlen in Punkt umwandeln Java Basics - Anfänger-Themen 3
L Punkt innerhalb eines Bereiches verschieben Java Basics - Anfänger-Themen 9
G Bis zu einem bestimmten Punkt aus Datei lesen Java Basics - Anfänger-Themen 2
L Java Text datei nur bis zu einem Punkt auslesen? Java Basics - Anfänger-Themen 3
E Erste Schritte Vorschläge für mich zum Thema Punkt vor Strich ? Java Basics - Anfänger-Themen 7
Z Double in komma und Punkt akzeptieren -> Robusteeingabe Java Basics - Anfänger-Themen 7
R Erste Schritte Taschenrechner - Punkt-vor-Strich Rechnung Java Basics - Anfänger-Themen 1
C Methoden Diagonalen am best. Punkt im zweidimensionales array finden Java Basics - Anfänger-Themen 3
Y Was bedeutet "this" ohne dem Punkt und dem Atrributnamen danach? Java Basics - Anfänger-Themen 2
M Punkt auf eine Farbe prüfen Java Basics - Anfänger-Themen 8
H inputfeld dezimalzahl mit komme statt punkt Java Basics - Anfänger-Themen 12
R Double: auf einmal Komma statt Punkt Java Basics - Anfänger-Themen 4
H Methoden Array aus Punkten erzeugen, mittels Punkt-Klasse Java Basics - Anfänger-Themen 5
S 3d Punkt in Java3D Java Basics - Anfänger-Themen 4
J Taschenrechner Punkt vor Strich Java Basics - Anfänger-Themen 9
K Methoden contains()-Methode für Punkt in Polygon Java Basics - Anfänger-Themen 5
I Externer Methodenaufruf, Punkt-Notation Java Basics - Anfänger-Themen 11
R ArrayList<String> Komma oder Punkt "replacen" Java Basics - Anfänger-Themen 5
C Punkt oder Kommanotation. Java Basics - Anfänger-Themen 7
B Kreis,Punkt,Zylinder Java Basics - Anfänger-Themen 6
A Eine Frage zu AWt in JAVA, wie wähle ich ein Punkt aus`? Java Basics - Anfänger-Themen 4
H sprung zu einem anderen punkt im script Java Basics - Anfänger-Themen 11
radiac Datentypen RANDOM-punkt setzen INNERHALB eines BEREICHes Java Basics - Anfänger-Themen 2
TheKing Objekt um Punkt kreisen lassen Java Basics - Anfänger-Themen 7
W Regex mit Punkt Java Basics - Anfänger-Themen 2
T mehrere methoden durch punkt getrennt Java Basics - Anfänger-Themen 2
R Meine erste Klasse: Punkt Java Basics - Anfänger-Themen 3
G Punkt auf Bildschirm erstellen? Java Basics - Anfänger-Themen 14
G bei double nur Wert vor Punkt ausgeben Java Basics - Anfänger-Themen 6
T Wie Eingabe von Gleitkommazahl mit Komma statt Punkt Java Basics - Anfänger-Themen 4
B Bestimmten Punkt im KOS ermitteln Java Basics - Anfänger-Themen 14
W Punkt statt Komma? Java Basics - Anfänger-Themen 2
G Punkt bz. Kugel Java Basics - Anfänger-Themen 6
K AWT: Punkt (0,0) hinter Titelzeile oder 'getTitelzeilenhöhe' Java Basics - Anfänger-Themen 5
G contains - Punkt in Kreis enthalten? Java Basics - Anfänger-Themen 6
J SWING UI Designer und zeichnen Java Basics - Anfänger-Themen 4
luggas89 Mit Jframe live zeichnen Java Basics - Anfänger-Themen 4
K 3D Fläche Zeichnen Java Basics - Anfänger-Themen 2
J Bild auf Hintergrundbild zeichnen Java Basics - Anfänger-Themen 5
R Iterativ zeichnen Java Basics - Anfänger-Themen 1
T Java Swing - Dreieck zeichnen mit verschiedenen Variablen Java Basics - Anfänger-Themen 8
P JFrame, Linien zeichnen, MouseListener Java Basics - Anfänger-Themen 2
KogoroMori21 Mit einer Schleife eine Treppe zeichnen Java Basics - Anfänger-Themen 29
V Speicherzustand zeichnen Java Basics - Anfänger-Themen 0
O Klappt nicht: Ein Panel neu zeichnen Java Basics - Anfänger-Themen 3
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
B Java JFrame zeichnen Java Basics - Anfänger-Themen 4
Mosquera f(x)=x² zeichnen Java Basics - Anfänger-Themen 5
J Graphen in Java zeichnen Java Basics - Anfänger-Themen 11
L Anfängerin möchte Linie zeichnen Java Basics - Anfänger-Themen 8
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
S Zeichnen mit Wiederholungen Java Basics - Anfänger-Themen 12
B Wie kann ich Linien rekursiv zeichnen? Java Basics - Anfänger-Themen 4
P Einen String mittig zeichnen? Java Basics - Anfänger-Themen 1
T Koordinatensystem zeichnen - Variablen merken? Quadratische Funktion zeichnen? Java Basics - Anfänger-Themen 5
M Ein Bild durch Objekterzeugung zeichnen Java Basics - Anfänger-Themen 5
W Wie kann ich in Java eine Kurve aus Punkten zeichnen? Java Basics - Anfänger-Themen 25
snipesss Linie zeichnen ohne extra Klasse? Java Basics - Anfänger-Themen 3
C Umrisse von Bilddateien mithilfe Polygonen zeichnen Java Basics - Anfänger-Themen 5
G Aus einem Code ein Sequenzdiagramm zeichnen? Java Basics - Anfänger-Themen 1
K Rechtecke rekursiv zeichnen Java Basics - Anfänger-Themen 20
V Quadrate rekursiv zeichnen Java Basics - Anfänger-Themen 7
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
C Schleifenaufgabe - Molekül zeichnen Java Basics - Anfänger-Themen 6
K Ungenauigkeit beim Zeichnen von Funktionen Java Basics - Anfänger-Themen 6
H Linie zeichnen... Java Basics - Anfänger-Themen 16
N Treppe zeichnen Java Basics - Anfänger-Themen 1
M Quadrat zeichnen einfach bitte! Java Basics - Anfänger-Themen 2
P Shape Zeichnen klappt nicht - einlesen der Breite/Höhe schon Java Basics - Anfänger-Themen 1
M in Java zeichnen Java Basics - Anfänger-Themen 2
J JLabel Icon neu zeichnen Java Basics - Anfänger-Themen 2
J Rechteck zeichnen mit Canvas Java Basics - Anfänger-Themen 7
D Zeichnen, Schleifen Java Basics - Anfänger-Themen 7
S Zeichnen , Schleifen Java Basics - Anfänger-Themen 4
S Rechteck zeichnen Java Basics - Anfänger-Themen 2
S Ein Graphics Obejct mehrmals mit denselben Eigenschaften zeichnen lassen?!?!? Java Basics - Anfänger-Themen 4
S Wo beginnt ein Draw String zu zeichnen. Java Basics - Anfänger-Themen 4
S Paint Anwendung: Freihandlinien zeichnen Java Basics - Anfänger-Themen 4
llabusch Layout neu zeichnen lassen Java Basics - Anfänger-Themen 2
A Histogramm zeichnen Java Basics - Anfänger-Themen 2
E Dreieck zeichnen Java Basics - Anfänger-Themen 3
gamebreiti Methoden JPanel nach clearAll() und add neu zeichnen Java Basics - Anfänger-Themen 1
T Baum mit Turtle zeichnen Java Basics - Anfänger-Themen 2
C Hilfe beim Zeichnen Java Basics - Anfänger-Themen 8
D Haus zeichnen Java Basics - Anfänger-Themen 4
K Methoden Objekt auf JFrame zeichnen Java Basics - Anfänger-Themen 16
H 27 Kreise Zeichnen Java Applet Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben