Physikfragen

Previous topic - Next topic

WPShadow

Hi!

Habe gerade ein bißchen mit Newton herum experimentiert: Ist ja gar nicht so schwer! *freu*

Nun habe ich gleich mal eine kleine Frage:

Wie bekomme ich mit (oder ohne) Newton die aktuelle Position meines Objektes heraus? Setzen kann man es ja mit NewtonBodySetPosition. Mir fehlt irgendwie sowas wie ein ...GetPosition, das irgendwie die Werte zurück liefert, oder so. Gibt es sowas?

GLG

W.

PS.: Ich werde bestimmt noch ein paarmal nerven, denn ganz so einfach ist Newton dann doch nicht! *lol*
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

eine Variable ? :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Scherzkübel! =D

Nein, irgendwas, wo ich direkt von Newton die Position auslesen kann, damit ich auf bestimmte Positionen reagieren kann. --> [Skripten ausführen usw.]

Anbei: Wie gibt man eigentlich Gewicht an? bzw. Masse? Ich frage deshalb, weil ich mit einer gewissen Kraft beschleunigen möchte. Und irgendwie errechnen möchte, wie groß die Beschleunigung ist:

Viel Gewicht --> wenig Beschleunigung
wenig Gewicht --> viel Beschleunigung

So ungefähr! Hat da wer eine Idee für mich?

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Code (glbasic) Select
NewtonConvexCollisionCalculateInertialMatrix: body_index, massBüddö

EDIT:

Position herrausfinden(Nicht getestet):


Somit setzt man ja die Position:
Code (glbasic) Select
FUNCTION NewtonBodySetPosition: body_index, x,y,z
LOCAL mat[]
NewtonBodyGetMatrix(body_index, mat[])
mat[12]=x; mat[13]=y; mat[14]=z
NewtonBodySetMatrix(body_index, mat[])
ENDFUNCTION
Also sollte man so die Position rausbekommen:

Code (glbasic) Select
FUNCTION NewtonBodyGetPositionX: body_index
LOCAL mat[]
NewtonBodyGetMatrix(body_index, mat[])
RETURN mat[12]
ENDFUNCTION
USW für Y und Z halt noch ....
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Super! Probiere ich gleich mal aus! Danke! Danke! Danke! =)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

So jetzt ists getestet und für gut befunden:

Code (glbasic) Select
FUNCTION NewtonBodyGetPositionX: body_index
LOCAL mat[]
    NewtonBodyGetMatrix(body_index, mat[])
    RETURN mat[12]
ENDFUNCTION

FUNCTION NewtonBodyGetPositionY: body_index
LOCAL mat[]
    NewtonBodyGetMatrix(body_index, mat[])
    RETURN mat[13]
ENDFUNCTION

FUNCTION NewtonBodyGetPositionZ: body_index
LOCAL mat[]
    NewtonBodyGetMatrix(body_index, mat[])
    RETURN mat[14]
ENDFUNCTION
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Spitze, danke! Habe gestern Abend noch etwas mit Masse herum experimentiert! Das funktioniert ja spitzenmäßig!

Heute Nachmittag teste ich mal deine Funktion(en) aus. Dann wird es nämlich ziemlich witzig! Das Ding könnten wir nämlich beim R-Type Clon einbauen! =D
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Jow mal gucken ^^
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

Und weiter geht's mit dem Fragen:

Wie realisiert man eigentlich das zusammenfügen mehrerer einzelner Objekte und Newton?

Ich meine damit, daß ich aus mehreren extra Teilen ein Objekt erzeugen möchte (x_Push_matrix / x_pop_matrix). Ist das normal mit Newton möglich? (Also mit der 3d - Objekt - Ausgabe via Newton?)
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Schranzor!!!! Du bist da der volle Abchecker! Ich geh' dann mal für 1 Jahr in Urlaub :D
Ja, die Matrix gibt an, wo und wie das Objekt ist. Diese Matrix kann man auch mit X_MULTMATRIX nehmen, um das Ding an seinem Ort zu zeichnen.
Die Matrix sind quasi 4 vektoren:
mat[0], mat[1], mat[2] ist die lokale X Achsen-richtung des Objektes.
mat[3,4,5] Y Achse
und mat[12], mat[13],mat[14] die position.
Wenn man die länge der X-achsen-richtung ändert, kann man das Objekt entlang dieser Achse zoomen. Besser nicht machen ;)
Also, matrix - keine Angst haben. Ist gar net so kompliziert.
Um so eine Matrix zu machen kann man NetwonBuildMatrix nehmen.


Zusammenfügen von Objekten geht mit NewtonCreateCompoundBody()
dann alle "Childs" machen mit NewtonCreateBox usw... Aber die Matrix relativ zum Parent anpassen/verschieben. Mit NewtonCompoiundEnd oder so fertig machen.

Schranz0r

Was hab ich den nun wieder gemacht :D ....
Viel spass im Urlaub, und schreib mir mal ne Karte.... ;)
Achja, bevor du gehst, gib mir bitte noch Modrechte, ab und an muss man ja mal ein Auge auf bestimmte Leute werfen, die leichtsam mal spamen ! *PFEIF*
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

WPShadow

QuoteAber die Matrix relativ zum Parent anpassen/verschieben.
Meinst du damit, daß man die Position des Childs relativ zum Parent anpassen muß?

Alias:

Parent ist auf 50, 0, 0
Child ist auf 0, 0, 0 (relativ gesehen zum Parent?)

So ca.?

Und noch eine Frage:

So wie ich das sehe, funktioniert in diesem Fall X_Rotation auch nicht! *ggg*
Da gibt es bestimmt auch irgendwas von Newton, oder?
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Das Parent ist auf 0,0,0 (beim zusammenbauen)
Jetzt ist der Kopf auf 50,0,0, OK?
Also:
NewtonCreateCompoundBody()
NewtonBuildMatrix (0,0,0,   50,0,0, mat[])
NewtonCreateBox (1,1,1, mat[])

...

Der NewtonCreateMatrix kann auch die Rotationen einbauen.

WPShadow

QuoteDer NewtonCreateMatrix kann auch die Rotationen einbauen.
Wie genau? Ich meine, wie funktioniert das? bzw. was genau muß ich da machen bzw. was für Variablen ansprechen usw. ?

Ich frage nur deshalb so genau, weil ich vermutlich ca. 200 Jahre brauchen würde, bis ich selbst drauf komme...
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Schranz0r

Da wirste wohl um COS und SIN nicht rum kommen ....
Aber mach dir nix drauss, ich könnts auch nicht!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard