Planetensimulation

  • VB.NET

Es gibt 24 Antworten in diesem Thema. Der letzte Beitrag () ist von fraju.

    Ähmm, also willste dAS 3D machen oder Normal ^^
    Sonst musste wahrscheinlich entweder die einzelnen Positionen auslesen und die Elllipse damit immer laufen lassen.
    Oder du machst ne animation und Packst die dann darein.
    Ich weis nicht wie das mit dem Format ist, aber für ne einfache Animation, kannste entweder Pivot, wo du auch Alles Mögliche machen kannst, oder Blender benutzen.
    Ist beides Freeware, wobei Blender relativ kompliziert ist, allerdings liefert dir Youtube super deutsche Tuts...
    So, das wären erstmal meine Vorschläge
    Also das ist jetzt nicht dein ernst oder???? Du willst mit einer PLANETENSIMULATION GDI+ lernen??????? Das wäre dasselbe wie wenn man mit einem VW Golf bei Formel 1 fahren lernen will... Sorry aber das is echt ein schlechter scherz. Denn wenn du schon sagst "lernen", heißt das soviel wie dass du in der Richtung noch (fast) nichts kannst. Und dann willst du mit sowas anfangen... mutig, aber unrealistisch :huh:



    Musste gesagt werden, sry :whistling:



    Gruß %P% 8|
    Hello World

    Quellcode

    1. Imports System.Drawing.Drawing2D
    2. Public Class Form1
    3. Dim j As String = 0
    4. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    5. Timer1.Start()
    6. End Sub
    7. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    8. Dim bmp As Bitmap = New Bitmap(PictureBox1.Width, PictureBox1.Height)
    9. Dim g As Graphics = Graphics.FromImage(bmp)
    10. Dim a As Graphics = PictureBox1.CreateGraphics
    11. Dim i As Integer = 270
    12. Dim c As Integer = PictureBox1.Width / 2
    13. Dim d As Integer = i / 2
    14. g.DrawEllipse(Pens.Cyan, c - d, c - d, i, i)
    15. j += 1
    16. g.TranslateTransform(-150, -150)
    17. g.RotateTransform(-90 + j, MatrixOrder.Append)
    18. g.TranslateTransform(250, 250, MatrixOrder.Append)
    19. g.FillEllipse(Brushes.Blue, 50, 50, 10, 10)
    20. PictureBox1.Image = bmp
    21. End SubPrivate Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    22. Timer1.Start()
    23. End Sub
    24. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    25. Timer1.Stop()
    26. End Sub
    27. End Class

    Ich glaube so schwer ist das gar nicht. So auf anhieb klappt das ganz gut, oder was meint ihr?



    Edit: Man nehme 2 Buttons, 1 Timer und eine Picurebox(501;501)

    Annonator schrieb:

    Ich glaube so schwer ist das gar nicht. So auf anhieb klappt das ganz gut, oder was meint ihr?


    Fein...so war es auch gemeint (nicht der Code)
    Wenn komplexer wird, wird es ein wenig schwieriger.

    Schön das du dies hier veröffentlicht hast,dadurch können wieder
    Andere ähnliche Aufgaben schneller erledigen.
    C&P ist das nicht ,da dieser Quellcode immer wieder verändert und erweitert wird.

    Gruß
    Ich hab im I-net eine Uhr gefunden und den Code modifiziert.:D

    Edit: Bisher bekomm ich schon mal die Kreisbahn hin. Hat jemand ne Idee für die Elippse.?(

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Annonator“ ()

    Annonator schrieb:

    Ich hab im I-net eine Uhr gefunden und den Code modifiziert.

    Edit: Bisher bekomm ich schon mal die Kreisbahn hin. Hat jemand ne Idee für die Elippse.



    g.DrawEllipse(Pens.Cyan, c - d, c - d, i, i)
    Das ist der Kreis--die Koordinaten Ändern dann wird es eine Ellipse.


    g.FillEllipse(Brushes.Blue, 50, 50, 10, 10)

    Das ist der Planet....ändere einmal eine 10 zu 30
    dann wird es eine Ellipse.

    P.S. Das nutzen und ändern eines lauffähigen Codes geht schnell,aber komplexer Anwenden geht nur mit Verständnis
    und Übung.

    Gruß

    Annonator schrieb:

    Der Planet bewegt sich aber auch, das weißt du schon, oder?

    Das sollst du aber suchen.

    System.Drawing.Drawing2D

    g.TranslateTransform(-100, -100)
    g.RotateTransform(-90 + j, MatrixOrder.Append) 'Winkel
    g.TranslateTransform(250, 250, MatrixOrder.Append) 'X Y Richtung


    Solltest in der Hilfe nachsehen, interessiert mich auch.

    Ansonsten mußt du die entsprechenden Koordinaten der Ellipse berechnen.

    Habe jetzt dazu keinen Bock!

    Gruß
  • 2 Benutzer haben hier geschrieben

    • Gast (24)
    • Link (1)