Kurvenberechnung
Übersicht

![]() |
relentless92Betreff: Kurvenberechnung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Huhu,
Ich habe ein Problem mit der Kurvenberechnung! Und zwar habe ich eine fortlaufende Linie welche sich bei gedrückthalten der Maus krümmen soll, und das solange, bis die Maus wieder losgelassen wird. Ansatz: Code: [AUSKLAPPEN] Function Player()
If player=1 Then p1.player=New player p1\x=Rnd(0,100) p1\y=Rnd(0,100) SetBuffer ImageBuffer(bg) Plot p1\x,p1\y SetBuffer BackBuffer() p1\verschx=2 p1\verschy=2 p1\speedx=2 p1\speedy=2 player=0 EndIf For p1.player=Each player p1\x=p1\x+p1\verschx p1\y=p1\y+p1\verschy If MouseDown(1) Then p1\verschx=Cos(50)*p1\speedx p1\verschy=Cos(50)*p1\speedy Else p1\verschx=2 p1\verschy=2 EndIf Text 0,120,p1\verschx Text 0,130,p1\verschy SetBuffer ImageBuffer(bg) Plot p1\x,p1\y SetBuffer BackBuffer() Next DrawImage bg,0,0 End Function Problem hierbei ist, das nicht viel passiert. Wenn ich aber Code: [AUSKLAPPEN] p1\verschx=p1\verschx+Cos(50)*p1\speedx
p1\verschy=p1\verschy+Cos(50)*p1\speedy benutze, flitzt die Linie aus dem Bildschirm. Logisch, da sich ja auch die Geschwindigkeit erhöht, dabei sollte sich nur die Krümmung "aktivieren". Wie bekomm ich das hin? MfG |
||
![]() |
Rick_72 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Indem Du statt cos(50) irgendwas ortsabhängiges einsetzt, zB cos(x) etc. cos(50) ist konstant. Da kann ausser einer Linie nichts rauskommen. Grüße! |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieh Dir mal Bézierkurven an, das ist genau was Du suchst, und leicht zu implementieren. | ||
Starfare: Worklog, Website (download) |
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich versteh bei der Berechnung der Bezierkurven leider genau 0.
Ich bin grad mal noch Schüler, und sowas hab ich in meinem Leben noch nicht gesehen ![]() Könnte mir jemand ein anschauliches Beispiel etc. geben? Oder versuchen, es für mein Beispiel zu erklären? Wäre dem jenigen echt dankbar =) MfG |
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzBasic: [AUSKLAPPEN] Graphics 800, 600, 32, 2 Das kann man auch in der 11. Klasse verstehen, man muss es nur wollen ![]() Also hier mein kleines Beispiel, ich hoffe mal Du kannst etwas daraus machen. |
||
Starfare: Worklog, Website (download) |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich hätte das jetzt so verstanden, dass die Krümmung der Linie vom Ort der Maus abhängig ist (und ob der Mausbutton gedrückt wird).
Könnte dann z.B so aussehen: BlitzBasic: [AUSKLAPPEN] Const gx=800 |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
relentless92 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke dir Zap! Das werd ich mir auf jeden mal genauer anschauen und die Kniffe raus lernen ![]() Aber ich glaub mein Problem ist ein bisschen missverstanden worden ![]() MfG |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group