gleichmäßige Bewegung bei Waypoints
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
![]() |
TimBo |
![]() Antworten mit Zitat ![]() |
---|---|---|
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. ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
... 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 IIIBetreff: Phythagoras |
![]() Antworten mit Zitat ![]() |
---|---|---|
Der Satz des Phytagoras ermöglicht es, eine unbekannte Seite in einem Rechtwinlligen Dreieck auszurechnen.
![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ahhh jetzt verstehe ich sqr also von mir schon mal vielen dank!
P.S.:Auf die Hilfe hätte ich auch mal gucken sollen! ![]() ![]() |
||
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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) |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
...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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Cedric30003 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Füge mal Code: [AUSKLAPPEN] TurnEntity cam1,45,0,0 ein.
Wenn du dann noch eine Kamer steuerung einbaust müsste es eigentlich gehen! |
||
JooohnieBetreff: Beweis |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@TimBo: Es lässt sich folgendermaßen beweisen:
EV sei der Bewegungsvektor d sei die Distanz v sei die Geschwindigkeit 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 ![]() |
||
MaxxBetreff: Basisproblem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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. ![]() 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
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das hat der Fragesteller selbst schon in seinem zweiten Post klargestellt ![]() |
||
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group