Dreick Zeichnen



  • Hi, ich möchte mit LineTo, ein Dreick zeichnen mit seite a = 10cm b = 8cm c = 6cm

    Die grössen sind aber Variabel.

    Wie ist dass möglich ??



  • Weiss den niemand wie dass geht 🙄



  • z.B. mit MoveToEx() und LineTo()



  • Du kannst vor deinem Nachrichten switch statische Variable (int) für a, b und c anlegen, diese Variablen unter WM_PAINT in den von geeky genannten Funktionen angeben. Immer, wenn Du nun dein Dreieck ändern willst, passt Du die Variablenwerte von a, b und c an und rufst

    InvalidateRect(hWnd, NULL, TRUE);
    

    auf. Damit wird dein Fenster und natürlich auch dein Dreieck aktualisiert (=neu gezeichnet).



  • Ich glaube dein Problem ist eher mathematischer Natur:
    Du kennst nur die Kantenlaengen, willst jetzt aber die Punkte des Dreiecks bestimmen. Dazu musst du den Schnittpunkt zweier Kreise berechnen, K1 mit Radius c K2 mir Radius b, die Mittelpunkte muessen den Abstand a haben.

    Hab gerade ein wunderbares Tutorial dazu gefuden (Deutsch und C++) Schnittpunkt Kreise



  • Boa, mir wird gleich schlecht *würg*. Wie soll dass ein 8. Kässler begreifen ^^

    Gibt es da vieleicht einen Film dazu 🙂

    Oder ne erklärung die nicht nur informatik studenten verstehn ??

    Kann ja meinen Mathlehrer schlecht sowas fragen 🙄



  • Ich glaube als 8.-Klaessler musst du das garnicht verstehen 🙂 Ich hab in meiner gesamten Schulzeit niemals sowas gemacht wie den Schnittpunkt von 2 Kreisen zu bestimmen (ausser vielleicht zeichnerisch mim Zirkel. Das war so etwa in der .. 8. ;))
    Vielleicht hast du ja schon Koordinatensysteme behandelt. Da gabs dann sowas wie eine Geradengleichung. Das gleiche gibt es fuer Kreise, nennt sich dann logischerweise Kreisgleichung. Diese Gleichung hat 2 Unbekannte: X und Y. Daher braucht man 2 Gleichungen um sie aufzuloesen. Das ganze ist ein relativ langwieriges Verfahren, aber wenn man das programmieren will rechnet man sowieso mit Variablen. Du musst ja die Herleitung nicht verstehen, wichtig ist das Ergebniss:

    y = (-f +- sqrt(f^2 - 4*e*g) )/(2*e)
    

    (siehe Artikel)
    Aber um ehrlich zu, haette mich selbst die Gleichung von Stuhl gehauen, als ich in deinem Alter war^^


Anmelden zum Antworten