ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
269
269
EMPFEHLEN
-
15.08.11 19:43 #1
- Registriert seit
- Aug 2011
- Beiträge
- 62
Hallo!
Hab mal ne frage in die runde.
Gibt es eine fertige Funktionen die mir die Endkoordinaten beim DrawArc() ausgibt.
ein Beispiel: ich mache eine Kurve mit 150° und möchte die Endposition der Kurve.
gibts sowas schon oder muss ich mir die selber schreiben?
Danke
-
15.08.11 20:20 #2SE Tutorials.de Gastzugang
Ich glaube das es ein Framework für sowas gibt ... Java selbst bietet in keiner seine Math-Klassen so etwas an.
-
15.08.11 21:10 #3
- Registriert seit
- Jun 2009
- Beiträge
- 870
Ist ein bisschen Trigonometrie so schwer?
Such dir n Mathe-Buch Mittel- oder Oberstufe an Gymnasien (Geometrie) und das sollte dir reichen. Mehr als Sinus und Cosinus dürfte das nicht werden.
Wenn du etwas genauer beschreibst, was du eigentlich haben willst (besonders: welche Parameter sind variabel, welche sind fest?) sollte das eine Sache von <5 Minuten sein.Code bitte so einfügen: [java]System.out.println("Hallo");[/java] (Analog für andere Programmiersprachen)
hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.Code java:1
System.out.println("Hallo");
___________
Ubuntu Bug #1: Microsoft has a majority market share
Casecon: Projekt leiser Käse
-
15.08.11 23:32 #4SE Tutorials.de Gastzugang
Ihr Mathe-Phreaks ... *nur 10te Klasse hab*.
-
17.08.11 10:45 #5
- Registriert seit
- Aug 2011
- Beiträge
- 62
ne das buch wäre nicht das problem. aber meine logik

für eine kurve ist es ja kein problem, ein bissl sin und cos ...
aber ich möchte dies dynmisch machen.
ok ich beschreibs nochmals, vl. verschwinden dann die fragen:
hier mal meine momentaner ausbau der app.
erstens: meine kurven werden noch immer nicht geschlossen gezeichnet, warum auch immer, die position passen.
Das grüne Fadenkreuz beschreibt die letzte Position, das graue die angebene Null Position.
zweitens: mit 90° Kurven habe ich keine Problem, allerdings mit anderen Winkeln.
die rote kurve hat 60°.
wie bekomme ich dynamisch die Endposition dieser Kruven?
und nach dieser Kurve müssten alle weitern Bahnteile mitgedreht werden. sprich das rosa rail um 60°, welches schon gedreht wurde, aber auch der grüne 90° Winkel, um 60°.
Ich bin mittlerweile schon am verzweifeln, und bitte euch um etwas Code.
Danke.
-
17.08.11 11:10 #6
Hi,
also das dynamische ermitteln der Endposition der Kurven hast du dir doch schon selbst beantwortet --> sin/cos bzw. Satz des Pythagoras.
Das Drehen von allen weitern Teilen ist mit Graphics2D so zu bewerkstelligen, wenn du die Klasse AffineTransform verwendest. Diese stellt eine Methode "rotate" zur Verfügung. Wurde diese aufgerufen, werden alle Elemente die anschließend gezeichnet werden noch "rotiert" gezeichnet, außer du rotierst vorher wieder zurück.
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
17.08.11 11:25 #7
- Registriert seit
- Aug 2011
- Beiträge
- 62
Ja die endposition der Kurve hab ich schon.
und das mit dem rotate hab ich gefunden allerdings keinen plan wie ich das einsetzen muss.
code snipped
Code java: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
public void paint(Graphics g) { super.paint(g); Graphics2D g2 = (Graphics2D)g; calculateDrawing(); g2.setColor(Color.GRAY); g2.setStroke(new BasicStroke(2)); g2.drawLine(Test5.iNullPointPosX+10, 10,Test5.iNullPointPosX+10, 450); g2.drawLine(10, Test5.iNullPointPosY+10,410, Test5.iNullPointPosY+10); for (int i=0; i < 30; i++) { RectColor = new Color(Randomize(255),Randomize(255),Randomize(255)); g2.setStroke(new BasicStroke(8)); g2.setColor(RectColor); if(sectionsInt[i][11]<=4) { RectTop = sectionsInt[i][1]; RectLeft = sectionsInt[i][2]; RectWidth = sectionsInt[i][3]; RectHeight = sectionsInt[i][4]; g2.drawLine(RectLeft, RectTop, RectWidth, RectHeight); } if(sectionsInt[i][11] >4 ) { CurveX =sectionsInt[i][5]; CurveY =sectionsInt[i][6]; CurveWidth =sectionsInt[i][7]; CurveHeight=sectionsInt[i][8]; CurveStartAngle =sectionsInt[i][9]; curveArcAngle =sectionsInt[i][10]; // g.drawArc(0, 0, 150, 150, 0,90); g.drawArc(CurveX, CurveY, CurveWidth, CurveHeight, CurveStartAngle, curveArcAngle); } }
-
17.08.11 11:29 #8
- Registriert seit
- Aug 2011
- Beiträge
- 62
danke für deine schnelle hilfe
hast du auch einen plan warum es mir den anfang und das ende des drawArc abschneidet?
hab zwar deshalb schon mal ein Thema eröffnet aber funktionieren tuts nicht.
-
17.08.11 11:40 #9
Ich hab dir damals ja die Antwort drauf gegeben. Da ich aber momentan nicht nachvollziehen kann, welche Werte in deinem int[] stehen, kann ich dir da schlecht weiterhelfen.
Bitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
Ähnliche Themen
-
Problem mit drawArc()
Von KarlPichler im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 11Letzter Beitrag: 12.08.11, 12:41 -
[JFreeChart] Start-und Endposition eines Diagramms bei (0,0)
Von JayFreeMan im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 0Letzter Beitrag: 04.11.10, 18:57





Zitieren
Login





