tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
269
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    KarlPichler KarlPichler ist offline Mitglied Silber
    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
     

  2. #2
    SE Tutorials.de Gastzugang
    Ich glaube das es ein Framework für sowas gibt ... Java selbst bietet in keiner seine Math-Klassen so etwas an.
     

  3. #3
    genodeftest genodeftest ist offline Mitglied Brillant
    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)
    Code java:
    1
    
    System.out.println("Hallo");
    hilfreich zu Java: Really Big Index, Java ist auch eine Insel Band 1 und Band 2.
    ___________
    Ubuntu Bug #1: Microsoft has a majority market share
    Casecon: Projekt leiser Käse

  4. #4
    SE Tutorials.de Gastzugang
    Ihr Mathe-Phreaks ... *nur 10te Klasse hab*.
     

  5. #5
    KarlPichler KarlPichler ist offline Mitglied Silber
    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.
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Endposition DrawArc-karli4.jpg  
     

  6. #6
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    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ß

    Fabio
     
    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.

  7. #7
    KarlPichler KarlPichler ist offline Mitglied Silber
    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);
                }
    }
     

  8. #8
    KarlPichler KarlPichler ist offline Mitglied Silber
    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.
     

  9. #9
    Avatar von Fabio Hellmann
    Fabio Hellmann Fabio Hellmann ist offline Mitglied Brokat
    Registriert seit
    Aug 2011
    Ort
    München
    Beiträge
    494
    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

  1. Problem mit drawArc()
    Von KarlPichler im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 11
    Letzter Beitrag: 12.08.11, 12:41
  2. [JFreeChart] Start-und Endposition eines Diagramms bei (0,0)
    Von JayFreeMan im Forum Swing, Java2D/3D, SWT, JFace
    Antworten: 0
    Letzter Beitrag: 04.11.10, 18:57