Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Backflip mit Motorrad » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Backflip mit Motorrad
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Backflip mit Motorrad Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Meine Frage:
Hallo! Meine Name ist Sebastian und ich besuche die FH Joanneum in Graz. Wir haben im Moment ein Projekt wo wir ein Motorrad über eine Schanze springen lassen müssen, es dann einen backflip macht und dann wieder so gut wie möglich ladet. Ich wäre für jede hilfe echt dankbar weil ich komm da einfach nicht mehr weiter..

Meine Ideen:
Ich hab das Motorrad mal in einer Picture box gezeichnet und kann es auch der x-achse entlang bewegen, nur die schanze ist noch nicht gut und ich kann ihr auch nicht entlang fahren, geschweige darüber springen
25.05.2015 20:24 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Deine Chancen auf eine Antwort erhöhen sich, wenn du mehr Informationen lieferst.
Da du von einer PictureBox schreibst, vermute ich, dass es sich um keinen realen, sondern einen simulierten Versuch handelt.
Was gibt es für Vorgaben, also
welche Programmiersprache?
ist die Physik (Schwerkraft, ...) bereits vorgegeben?
Was kannst du alles ändern (Rampenlänge, Rampenwinkel, Geschwindigkeit, ...)?

__________________
Syntax Highlighting fürs Board (Link)
25.05.2015 20:59 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Stimmt sry! Hab ich total vergessen. Ich arbeite mit c#. Es soll eine Simulation sein graphisch dargestellt wird. Die physikalischen gestze sollen natürlich berücksichtigt werden und die Drehung von dem Motorrad soll durch den winkel der schanze eingeleitet werden.
26.05.2015 09:44 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ach ja... Geschwindigkeit und Höhe der schanze ist variabel. Ansonsten soll alles mathematisch ausgerechnet werden. Also die gesamte flugphase
26.05.2015 11:25 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ich habe mal ein Bild angehängt, ob ich das so richtig verstanden habe.
Wie errechnet sich die Winkelgeschwindigkeit (formelmäßig)?

edit: Windows Forms oder WPF?

eulerscheZahl hat dieses Bild (verkleinerte Version) angehängt:
bike.png



__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 26.05.2015 16:50.

26.05.2015 15:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Ok aber wie kann ich das Motorrad drehen lassen.
26.05.2015 18:15 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Windows Forms oder WPF?

Bei WPF kannst du die komplette PictureBox rotieren, bei Windows Forms musst du eben das Motorrad selbst (also das Bitmap) drehen.

__________________
Syntax Highlighting fürs Board (Link)
26.05.2015 18:18 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Also wir haben das Motorrad selber über graphics gezeichnet und dafür muss man jeden punkt einzeln berechnen damit man es drehen kann.
27.05.2015 10:24 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Auch gut.
Wenn du Hilfe erwartest, musst du mir auch entgegenkommen.
Zitat:
Wie errechnet sich die Winkelgeschwindigkeit (formelmäßig)?

Dein bisheriger Quellcode wäre auch nicht verkehrt.

__________________
Syntax Highlighting fürs Board (Link)
27.05.2015 15:57 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

//Alles im paintereignis ausgegeben

private void pic_Paint(object sender, PaintEventArgs e)
{
Graphics z = e.Graphics; // neue zeichenfläche von ereignis erhalten, e automatisch
z.SmoothingMode = SmoothingMode.AntiAlias; // Keine pixel mehr
Pen p = new Pen(Color.DarkBlue, 3);




Point Zentrum = new Point(pic.ClientSize.Width / 2, pic.ClientSize.Height / 2); // oberer punkt genau in der mitte
Size s = new Size(100, 100); // clientsize damit nur fenster zum abstand berechnet wird

Rectangle r = new Rectangle(Zentrum.X - pic.Width / 2, Zentrum.Y + pic.Height / 2 - 20, 3000, 20); // Boden / Fahrbahn teil1
//andere möglichkeit für eine zeichenfläche
z.DrawRectangle(new Pen(Color.Brown), r);


RectangleF rr = new RectangleF(xrr, yrr, r1, r1); //Rad_hinten
z.DrawEllipse(p, rr);

RectangleF rf = new RectangleF(xrf, yrf, r1, r1); //Rad_vorne
z.DrawEllipse(p, rf);

RectangleF pr = new RectangleF(xpr, ypr, rp, rp); //person
z.DrawEllipse(p, pr);

// Aufhängung hinten

PointF pointe = new PointF(xd1-3, yd1+2);
PointF pointf = new PointF(xrr + 40, yrr - 11);
e.Graphics.DrawLine(new Pen(Color.Red, 5), pointe, pointf);

// Sitz

float xsir, ysi, xsif;

xsir = xrr + 15;
ysi = yrr - 10;
xsif = xrf + 5;
PointF pointa = new PointF(xsir, ysi);
PointF pointb = new PointF(xsif, ysi);
e.Graphics.DrawLine(new Pen(Color.Green, 5), pointa,pointb);

// Aufhängung vorne

PointF pointc = new PointF(xd2+3, yd2+3);
PointF pointd = new PointF(xrf, yrf - 20);
e.Graphics.DrawLine(new Pen(Color.Red, 5), pointc, pointd);

// Motor

PointF[] m = new PointF[5];
m[0] = new PointF(xrr + 40, ysi + 3);
m[1] = new PointF(xpr + 15, ysi + 3);
m[2] = new PointF(xpr + 15, ysi + 10);
m[3] = new PointF(xrr + 40, ysi + 10);
m[4] = new PointF(xrr + 40, ysi + 3);
z.DrawLines(new Pen(Color.Blue, 3), m);

// Mensch

PointF[] x = new PointF[4];
x[0] = new PointF(xpr + 7, ypr + 13); // hals
x[1] = new PointF(xpr - 5, yrr - 15); // becken
x[2] = new PointF(xpr + 10, yrr - 5); // Knie
x[3] = new PointF(xpr - 10, yrr + 5); // fuß
z.DrawLines(new Pen(Color.Black, 3), x);

// Arme

PointF pointg = new PointF(xpr, ypr+20);
PointF pointh = new PointF(xrf+2, yrf - 18);
e.Graphics.DrawLine(new Pen(Color.Black, 3), pointg, pointh);


// Schanze

Pen blackPen = new Pen(Color.Black, 3);

// Create rectangle for ellipse.
RectangleF rect = new RectangleF(xp1, yp1, 400.0F, 700.0F);

// Create start and sweep angles.
float startAngle = 0;
float sweepAngle = -trkschanze.Value;

// Draw pie to screen.
e.Graphics.DrawPie(blackPen, rect, startAngle, sweepAngle);

// Landung
Pen blackPen1 = new Pen(Color.Black, 3);


RectangleF rect1 = new RectangleF(xp1 + 750, yp1, 400.0F, 700.0F);


float startAngle1 = 180.0F;
float sweepAngle1 = trkschanze.Value;


e.Graphics.DrawPie(blackPen1, rect1, startAngle1, sweepAngle1);


}

private void pic_Resize(object sender, EventArgs e)
{
pic.Invalidate();
xrr = 35 + 35;
xrf = 135;
xpr = 100 + 16;
yrf = pic.Height - 73 + 25;
yrr = pic.Height - 73 + 25;
ypr = pic.Height - 120 + 35;
r1 = 25;
rp = 15;
xd1 = 60 + 25;
xd2 = 160 - 15;
xd3 = 113 + 10;
yd1 = pic.Height - 48 + 12;
yd2 = pic.Height - 48 + 12;
yd3 = pic.Height - 107 + 30;

xp1 = 200f;
yp1 = pic.Height - 373;
}

private void btnstart_Click(object sender, EventArgs e)
{
tm1.Enabled = !tm1.Enabled;
}

private void tm1_Tick(object sender, EventArgs e)
{


// Bewegung der X-Achse
if (objPosition == position.Right)
{

xrr += trkspeed.Value;
xrf += trkspeed.Value;
xpr += trkspeed.Value;
xd1 += trkspeed.Value;
xd2 += trkspeed.Value;
xd3 += trkspeed.Value;

pic.Invalidate();
}


}
27.05.2015 16:54 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wenn ich das kopiere, wird mir direkt jede 2. Zeile unterstrichen, weil die Hälfte der Variablen fehlt.
Gib mir den kompletten Code (Projektordner als zip) oder lass' es bleiben.
Grafikobjekte wie Graphics oder Pen solltest du übrigens mit Dispose() oder using wieder freigeben, sonst müllst du deinen Speicher voll.

__________________
Syntax Highlighting fürs Board (Link)
27.05.2015 19:27 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Danke übrigens für deine mühe smile

Dateianhang:
zip backflip.zip (60,17 KB, 448 mal heruntergeladen)
28.05.2015 12:46 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Funktioniert noch nicht so richtig, aber worauf es ankommt: Ich habe nur eine Radposition und den Winkel zum anderen Rad gespeichert. So ist die Drehung möglich. Und das beste ist es, die Physik zu definieren, also mit Geschwindigkeit und Beschleunigung zu rechnen.

Dateianhang:
zip backflip.zip (70 KB, 427 mal heruntergeladen)


__________________
Syntax Highlighting fürs Board (Link)
28.05.2015 18:22 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

das schaut richtig gut aus. Vielen dank großes Grinsen
29.05.2015 22:58 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
Basti
Jungspund


Dabei seit: 25.05.2015
Beiträge: 11

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Warum hast du eig Vektoren verwendet? Hast du vl Skype oder so?
04.06.2015 10:34 Basti ist offline E-Mail an Basti senden Beiträge von Basti suchen Nehmen Sie Basti in Ihre Freundesliste auf
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Backflip mit Motorrad