Kurven berechnung mit start/Ziel cord .....
Übersicht

![]() |
tftBetreff: Kurven berechnung mit start/Ziel cord ..... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi....
ich binn mathematisch nicht besonders bewandert. Brauche aber einen Algo der folgendes macht. Ich habe die xyz cords von zwei positionen und die Drehwinkel des Objectes bei start und ziehl. Ich möchte ähnlich einer Bezierkurve zwischen start und ziehl 1-x anzahl positionen berechnen um zum beispiel mehrer Objecte dazwischen zu postieren. Hat jemand sowas schon mal gemacht und hatt fieleicht ein beispiel..... Was ich bis jetzt in den Forum themen gefunden habe hat mir leider nicht weitergeholfen...... mangelndes verständniss ![]() |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Siehe http://astronomy.swin.edu.au/~...rpolation/
Bézierkurven werden dir nicht viel Helfen. Quadratische Bézierkurven gehen durch ihren Start- und Endpunkt, benötigen jedoch einen Stützpunkt den du sicherlich nicht hast. Die Drehung der Objekte kannst du über lineare Interpolation machen. Pitch = Pitch1*(1.0-t) + Pitch2*t Yaw = Yaw1*(1.0-t) + Yaw2*t Roll = Roll1*(1.0-t) + Roll2*t Pitch1 und Pitch2 sind Start- und Endpitchwinkel. T ist die Zeit und geht von 0.0 bis 1.0 (ist mu auf der verlinkten Seite). mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi...
wie immer eine vortreffliche info....... Danke. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi....
ich merke schon...... ich werde wohl alt. Ich verstehe nichts von alle dem. Sodas ich es nicht auf 3D erweitern kann..... ganz schön frustrierend. Also wenn sich einer erbarmt..... könnte eine vertige funktion gebrauchen. .............. wie deprimierend. |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] double CubicInterpolate(
double y0,double y1, double y2,double y3, double mu) { double a0,a1,a2,a3,mu2; mu2 = mu*mu; a0 = y3 - y2 - y0 + y1; a1 = y0 - y1 - a0; a2 = y2 - y0; a3 = y1; return(a0*mu*mu2+a1*mu2+a2*mu+a3); } Code: [AUSKLAPPEN] Function CubicInterpolate#(y0#, y1#, y2#, y3#, mu#)
Local a0#, a1#, a2#, a3#, mu2# mu2# = mu#*mu# a0# = y3# - y2# - y0# + y1# a1# = y0# - y1# - a0# a2# = y2# - y0# a3# = y1# Return (a0#*mu#*mu2#+a1#*mu2#+a1#*mu2#+a2#*mu#+a3#) End Function Wie darf man sich das jetzt vorstellen?: ![]() Du hast mehere Punkte der Kurve gegeben. Du kannst aber nicht die gesamte Kurve abfahren(das wäre eine riesen Formel) sondern nur Segmente. Ein Segment ist nur eine Teilstrecke zwischen 2 Punkten. Man fährt also von einem Punkt zum anderen. Dafür gibt es verschiedene Varianten. Lineare Interpolation fährt von Punkt0 zu Punkt1 geradlinieg. Kosinus Interpolation bildet eine Kurve von Punkt0 zu Punkt1. Bei deiner Kurve hast du jedoch mehr Punkte zur Verfügung. Um nun noch die benachtbarten Punkte mit in die Segmentkurve einzubinden, kann man die kubische Interpolation benutzen. Du fährst z. B. von Punkt1 zu Punkt2 beziehst jedoch den linken Nachbarpunkt Punkt0 und den rechten Nacharpunkt Punkt3 ein. Allgemeint fährst du von N zu N+1 und beziehst dabei N-1 und N+2 mit ein. Du kannst CubicInterpolate jetzt auf ALLE 3 Achsen anwenden. Du fährst von Punkt N(hier ist t bzw. mu = 0.0) zu N+1(hier ist t bzw. mu = 1.0) in dem du t von 0.0 bis 1.0 je nach Detailgrad z. B. um 0.01 hoch zählst. Das machst du nun für jedes Kurvensegment. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi...
also die Function an sich ist klar......... würde das dann bedeuten das ich die Berechnung einmal für x/y und einem für y/z machen muss und dann die YXZ position nur daraus zu bilden brauch? Wenn das sie lösung ist. Muss ich zum schräcken aller 40,er sagen....... mit dem alter wird das denken Schwieriger.... die Lösungen aber immer einfacher. Danke für deine Mühen mir das verständlich zu machen...... |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Grunde sollte es schon auf X, Y und Z angewandt werden.
https://www.blitzforum.de/viewtopic.php?t=4945 Mit 40 schon, da bekommt man es ja mit der Angst zu tun ![]() mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wär's damit?
Topic Beschreibt eine Methode zur Berechnung einer Sprungkurve, wenn Start- und Zielkoordinaten bekannt sind. |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group