gleichmäßige Bewegung bei Waypoints

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen

TimBo

BeitragMi, Apr 27, 2011 19:03
Antworten mit Zitat
Benutzer-Profile anzeigen
BladeRunner , du sagst es. Das sollte zu den Zehn Geboten der Programmierkunst aufgenommen werden !

Ich hab aber mal eine Frage:

EV\x = (x2-x1)/distanz *geschwindigkeit
EV\y = (y2-y1)/distanz *geschwindigkeit
EV\z = (z2-z1)/distanz *geschwindigkeit

dann ist die Geschwindigkeit egal in welche Richtung sich das Objekt bewegt konstant.

Nur ich komme gerade nicht auf einen Beweis dafür. Wie kann man das beweisen? Dass es logisch ist, sehe ich. Confused
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Cedric30003

BeitragMi, Apr 27, 2011 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Entschuldigung.

Ich habe hier 2PC´s Laufen, und Rainer Z (mein Onkel ist hier zu Besuch), und ich habe die PC´s vertauscht, weil wir beide was mit Blitz machen.

Sorry, dass ich Verwirrung stifte

BladeRunner

Moderator

BeitragMi, Apr 27, 2011 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
... und dein Onkel kann Dir mit dem Satz des Pythagoras nicht weiterhelfen?
Zudem habe ich die benötigte Berechnung explizit aufgeführt:
distanz = sqr((x2-x1)²+(y2-y1)²+(z2-z1)²)
Setze diese Zeile mal in BB-Code um, dann hast Du den Satz des Pythagoras angewendet. ² ist ^2 in Blitz.
Mehr später, wenn Du nicht weiterkommen solltest. Wobei cih bezweifle dass Dir der Wortlaut dieses Satzes grundlegend hilft. Wichtig daran zu wissen ist dass man mit dem Satz des Pythagoras in einem Rechtwinkligen Dreieck die einzelnen Seitenlängen bestimmen kann. Und diesen Fakt nutzt man aus, denn deine Achsen spannen ja immer ein rechtwinkliges Dreieck auf.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

TimBo

BeitragMi, Apr 27, 2011 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Laughing mein Beitrag erstmal total ignoriert Wink
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Cedric30003

BeitragMi, Apr 27, 2011 19:15
Antworten mit Zitat
Benutzer-Profile anzeigen
War wohl ziemlich schnell aufeinander gepostet <1min

Ich versuche mcih da mal durchzufinden.

Aber Danke, dass ihr versucht mir des zu erklären. (Auch wenn ich die Rechnung NOCH nciht verstanden habe)
 

Rainer Z

BeitragMi, Apr 27, 2011 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Auch wenn es jetzt hier ein bisschen überflüssig wirkt: das mit dem Pythagoras hab ich nciht mehr im Kopf.

Schule ist schon 23Jahre her. Sowas mit Dreicken war noch nie meins.

Ich will jetzt hier aber auch nicht weiter stören.

Sir Gauss der III

Betreff: Phythagoras

BeitragMi, Apr 27, 2011 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Satz des Phytagoras ermöglicht es, eine unbekannte Seite in einem Rechtwinlligen Dreieck auszurechnen.
user posted image

wenn die Seite c unbekannt ist:

a² + b² = c²
(a*a + b*b = c*c)

c=wurzel aus c²

(Wurzelberechnung durch Sqr)

wenn die Seite b (oder a) unbekannt ist:

c² - a² = b²



Zitat:
bsp:
wenn Seite a=3 und b=4 ist, dann ist die Strecke c:

n = 3*3 + 4*4
c# = sqr(n)
c# = 5


Edit: zu spät ^^
 

Cedric30003

BeitragMi, Apr 27, 2011 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
also, wenn ich jetzt richtig mitgekommen bin muss das hier gerechnet werden:

Zitat:
a*a + b*b ÷ 2


Richtig?

Edit:
Sir Gauss der III hat Folgendes geschrieben:

Edit: zu spät ^^


Was ist zu spät?
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB)

Sir Gauss der III

BeitragMi, Apr 27, 2011 19:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Geteilt ist nicht Wurzel.

im obigen Bsp käme für c zuerst 25 raus. wurzel berechnet, welche Zahl mit sich selbst multipliziert 25 ergibt. Das wäre in dem Fall 5.

bei geteilt würde aber 12.5 raus kommen. also -> sqr verwenden


die Entfernung ist dann nichts anderes als

entfernung=sqr(x_distanz*x_distanz + y_distanz*y_distanz)

PhillipB

BeitragMi, Apr 27, 2011 19:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ahhh jetzt verstehe ich sqr also von mir schon mal vielen dank!

P.S.:Auf die Hilfe hätte ich auch mal gucken sollen! Rolling Eyes Embarassed
 

Cedric30003

BeitragMi, Apr 27, 2011 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
gut, und wie seze ich jetzt das ganze als bewegung um?

Nun habe ich das ausgerechnet, und wie muss ich die Werte angeben, damit eine diagonal Bewegung entsteht?

Ich bewege ja 2 achsne gleichzeitig
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB)

BladeRunner

Moderator

BeitragMi, Apr 27, 2011 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ergibt sich aus dem Rest meines Beitrages. Nachdem Du die Distanz berechnet hast kannst du aus ihr anhand der von mir gelieferten Berechnungsschritte einen Vektor erstellen. Ein Vektor ist quasi eine gerichtete Strecke, also eine Art Pfeil auf das Ziel hin. Diesen Vektor bewegst Du dann von Durchlauf zu Durchlauf auf dein Ziel zu (eine sich immer wiederholende Addition). C'est ca.
Das einfachste wäre in der Tat es einfach mal zu probieren und bei Problemen deinen Code vorzustellen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Xeres

Moderator

BeitragMi, Apr 27, 2011 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
...oder mach erst mal eine kleine Übungsaufgabe:
BPS #4: Vektoren

Der Schritt von 2D zu 3D sollte dann auch kein Hindernis sein...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

Cedric30003

BeitragMi, Apr 27, 2011 23:02
Antworten mit Zitat
Benutzer-Profile anzeigen
SO, habe jetzt ein Testprogramm geschrieben, wo ich aber ncihtmal den cube sehe. Kann sein dasss ich nur (mal wieder) eine Denksperre habe, oder warum geht es nicht?
Und 2. Was ist in der umsetzung im Code Richtung & was ist falsch?

Code: [AUSKLAPPEN]
Graphics3D 800,600,32,2

Global Objekt = CreateCube()
Global licht = CreateLight()
Global cam1 = CreateCamera()
PositionEntity Objekt,0,0,0


While Not KeyHit (1)
   
   
   If KeyDown(2) Then
      x1# = 0
      y1# = 0
      z1# = 0
      
      x2# = Input("X2:/")
      y2# = Input("Y2:/")
      z2# = Input("Z2:/")
      
      spped# = Input ("Geschwindigkeit:/")
      
      Distanz# = Sqr((x2#-x1#)^2+(y2#-y1#)^2+(z2#-z1#)^2)
      EV_x = (x2#-x1#)/Distanz#
      EV_y = (y2#-y1#)/Distanz#
      EV_z = (z2#-z1#)/Distanz#
      
      
      
   End If
   MoveEntity Objekt, EV_X * spped#, EV_Y * spped#, EV_Z * spped#
   
   
   UpdateWorld
   RenderWorld
   
   
   Flip
Wend
End


Wäre nett, wenn mal jemand sich das anschut, bzw des Prog testet, udn dann meinen (Denksperren-)Fehler angleicht

Danke im Voraus

MfG Cedric
Windows 7 Enterprise (x64) | AMD Athlon II X4 620 (4x2,61GHz) | 8GB RAM | nVIDIA GeForce 9500GT (1024MB)

PhillipB

BeitragDo, Apr 28, 2011 1:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Füge mal Code: [AUSKLAPPEN]
TurnEntity cam1,45,0,0
ein.
Wenn du dann noch eine Kamer steuerung einbaust müsste es eigentlich gehen!
 

Jooohnie

Betreff: Beweis

BeitragDo, Apr 28, 2011 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo: Es lässt sich folgendermaßen beweisen:
EV sei der Bewegungsvektor
d sei die Distanz
v sei die Geschwindigkeit

user posted image

Somit ist die Länge des Bewegungsvektors unabhängig von den Abständen auf den jeweiligen Achsen immer genau die Geschwindigkeit.
Für das ursprüngliche Problem diesen Post bitte ignorieren Wink
 

Maxx

Betreff: Basisproblem

BeitragFr, Apr 29, 2011 13:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal abgesehen davon, wie es besser zu lösen ist, kann ich dir sagen, warum der so nen Bogen fährt:

So lange SpielfigurX < WegpunktX ist wird Spielfigur X erhöht, und so lange SpielfigurY < WegpunktY ist wird Spielfigur Y erhöht. Auf dem ersten Teil der Strecke, vor dem Knicks treffen noch beide Bedingungen zu und die Spielfigur bewegt sich einerseits auf der X, als auch auf der Z Achse an die Koordinaten des Wegpunktes heran. Bei dem hier sog. Wegpunkt "1,5", also der Knicksstelle ist SpielfigurX = WegpunktX. Deshalb wird nurnoch SpielfigurY erhöht, da es ja immernoch SpielfigurY < WegpunktY zutrifft. So kommt der Knicks zu Stande. Wie man es Lösen kann, wurde ja bereits erläutert. Smile

Edit: Bezieht sich auf das Problem am Anfang des Themas.

Edit2: (Siehe einen Post unter mir) :X
  • Zuletzt bearbeitet von Maxx am Mo, Mai 02, 2011 20:25, insgesamt einmal bearbeitet

BladeRunner

Moderator

BeitragFr, Apr 29, 2011 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das hat der Fragesteller selbst schon in seinem zweiten Post klargestellt Wink
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

PhillipB

BeitragSa, Mai 07, 2011 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry das ich schreibe aber ich würde auch gerne die Waypoints verstehen gibt es dazu villt. ein Tutorial dazu?
P.s.: Die Forensuche habe ich schon benutzt!

Wäre sehr nett wenn mir jemand weiterhelfen könnte!

Danke im Vorraus!
mfg

BladeRunner

Moderator

BeitragSa, Mai 07, 2011 20:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich denke Du und Cedric ihr arbeitet doch zusammen - kann er es Dir denn nicht erklären? Seine Frage schien ja geklärt zu sein.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Gehe zu Seite Zurück  1, 2, 3  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group