3D Achterbahn
- deify
- Beiträge: 141
- Registriert: 29.03.2010 22:01
- Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM - Kontaktdaten:
3D Achterbahn
Hi leute!
Ich habe ein kleines problem (:
purebasic mäßig kenne ich mich inzwischen eigentlich gut genug aus, zumindest was die programmierung angeht, was allerdings 2d oder 3d drawing betrifft eher nicht! (um nicht zu sagen garnicht)... Jetzt stehe ich vor folgendem Problem für meine Facharbeit in Physik, mit dem Thema "Physikalische Berechnungen an der Achterbahn Balck Mamba" würde ich gerne ein 3d modell meiner achterbahn machen! Dazu werde ich später warscheinlich Cinema 4D benutzen.
Jetzt zum eigentlichen problem, die bahn wurde mit einem Beschleunigungsmesser durchfahren, aus den gemessenen werten würde ich nun gerne die streckenänderungen für jedes "delta t" also jeden zeitabschnitt berechnen. da ich mir noch nicht 100 prozentig sicher bin ob das klappen wird, wollte ich nun fragen ob es den möglich ist die berechneten punkte also jeweils die koordinaten x y z als einen punkt darzustellen und wie? Das auslesen und berechnen aus der Excel tabelle und anschließendes einfügen programmieren, der punkt in einer whileschleife sollte ich schaffen!
Hoffe ihr könnt mir helfen
mfg deify
Ich habe ein kleines problem (:
purebasic mäßig kenne ich mich inzwischen eigentlich gut genug aus, zumindest was die programmierung angeht, was allerdings 2d oder 3d drawing betrifft eher nicht! (um nicht zu sagen garnicht)... Jetzt stehe ich vor folgendem Problem für meine Facharbeit in Physik, mit dem Thema "Physikalische Berechnungen an der Achterbahn Balck Mamba" würde ich gerne ein 3d modell meiner achterbahn machen! Dazu werde ich später warscheinlich Cinema 4D benutzen.
Jetzt zum eigentlichen problem, die bahn wurde mit einem Beschleunigungsmesser durchfahren, aus den gemessenen werten würde ich nun gerne die streckenänderungen für jedes "delta t" also jeden zeitabschnitt berechnen. da ich mir noch nicht 100 prozentig sicher bin ob das klappen wird, wollte ich nun fragen ob es den möglich ist die berechneten punkte also jeweils die koordinaten x y z als einen punkt darzustellen und wie? Das auslesen und berechnen aus der Excel tabelle und anschließendes einfügen programmieren, der punkt in einer whileschleife sollte ich schaffen!
Hoffe ihr könnt mir helfen
mfg deify
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Re: 3D Achterbahn
Zeig mal ein paar Werte.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
- deify
- Beiträge: 141
- Registriert: 29.03.2010 22:01
- Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM - Kontaktdaten:
Re: 3D Achterbahn
die werte sind an und für sich egal, es geht ja nur darum wie ich den punkt mache, wo ich den 0-punkt setze ist ja auch egal! nur dann muss ich halt von dort aus immer neue kleine punkte machen.
eine funktion wie draw3DPoint(x,y,z) wäre perfekt xD wenn es sowas gibt (;
oder muss ich der 3d ebene etwa ein limit setzen?
sonst würde ich es einfach riesig groß setzen und bei der hälfte enfangen, geht ja nur um die rechnerische richtigkeit oder eher um die verfälschung der ergebnisse durch die verschiebung der erdanziehungskraft auf andere achsen... wenn grob die form raus kommt passt es, dann kann ich es in cinema4d nachstellen (;
eine funktion wie draw3DPoint(x,y,z) wäre perfekt xD wenn es sowas gibt (;
oder muss ich der 3d ebene etwa ein limit setzen?
sonst würde ich es einfach riesig groß setzen und bei der hälfte enfangen, geht ja nur um die rechnerische richtigkeit oder eher um die verfälschung der ergebnisse durch die verschiebung der erdanziehungskraft auf andere achsen... wenn grob die form raus kommt passt es, dann kann ich es in cinema4d nachstellen (;
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Re: 3D Achterbahn
draw3dPunkt() gibt's natürlich nicht
Pb kann 3d eh "nur" mit der OgreLib darstellen und dort würdest Du
z.B. kleine Kugeln an die relevanten Positionen setzen. Da Du aber
letztlich in C4D "malen" möchstest, bringt Dir das wohl erstmal nicht so viel.
PB kann Dir aber vermutlich helfen die Punkte in einem mit C4D lesbaren Format
zu erstellen.
Pb kann 3d eh "nur" mit der OgreLib darstellen und dort würdest Du
z.B. kleine Kugeln an die relevanten Positionen setzen. Da Du aber
letztlich in C4D "malen" möchstest, bringt Dir das wohl erstmal nicht so viel.
PB kann Dir aber vermutlich helfen die Punkte in einem mit C4D lesbaren Format
zu erstellen.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
- deify
- Beiträge: 141
- Registriert: 29.03.2010 22:01
- Computerausstattung: Win7 64bit
AMD Phenom II X4 940
NVIDIA GeForce GTS 250
4GB RAM - Kontaktdaten:
Re: 3D Achterbahn
also eigentlich ging es mir erstmal nur darum eine grobe vorschau mit dem purebasic 3d programm zu machen, sodass ich sehen kann ob überhaupt eine relistische form herauskommt! die sache mit dem format wäre eine gute alternative oder vorbereitung auf das erstellen der bahn!
kannst du mit vielleicht für beides ein bespiel geben? also wie ich es abspeichern müsste und wie man einen punkt(kleine kugel) zeichnet sodass ich erstmal sehe ob es geht ^^
mfg deify
kannst du mit vielleicht für beides ein bespiel geben? also wie ich es abspeichern müsste und wie man einen punkt(kleine kugel) zeichnet sodass ich erstmal sehe ob es geht ^^
mfg deify
Windows 7 | 64bit | PureBasic 4.51 (x64/x86)
Re: 3D Achterbahn
ach kacke ..
ok .. du nimmst Dir mal das PB demo Skybox (ist im example Verzeichnis
Deiner PB installation)
dort wird ein roboter dargestellt und um den kannst du mit maus drumrumfahren.
kopier mal den code und den kopierten änderst du ab indem due die robot.mesh durch cube.mesh und die r2skin.jpg dirch cubeskin.jpg ersetzt.
die zugehörigen dateien sind hier http://www.vsurf.de/cube.zip (mit blender gemacht)
die gehören entpackt in den examples/data ordner da wo auch die robot.mesg und die jpg liegt
lass das kopierte demo dann mal laufen
damit dur den knubbel findest kannst du nach
folgendes einfügen
die grundsätzliche Darstellung eines solchen Teils ist damit kein Problem.
Du muss dann nur n Sack voll solcher Entities bauen und die an die korrekten
Koordinaten setzen. Da man Entities in Pb mit CopyEntity() recht simpel
vervielfältigen kann ist das eigentlich kein dickes Brett was man da bohren
muss.

ok .. du nimmst Dir mal das PB demo Skybox (ist im example Verzeichnis
Deiner PB installation)
dort wird ein roboter dargestellt und um den kannst du mit maus drumrumfahren.
kopier mal den code und den kopierten änderst du ab indem due die robot.mesh durch cube.mesh und die r2skin.jpg dirch cubeskin.jpg ersetzt.
die zugehörigen dateien sind hier http://www.vsurf.de/cube.zip (mit blender gemacht)
die gehören entpackt in den examples/data ordner da wo auch die robot.mesg und die jpg liegt
lass das kopierte demo dann mal laufen
damit dur den knubbel findest kannst du nach
Code: Alles auswählen
If ExamineKeyboard()
Code: Alles auswählen
zz+1
ResizeEntity(0,zz,zz,zz)
If zz>5
zz=0
EndIf
Du muss dann nur n Sack voll solcher Entities bauen und die an die korrekten
Koordinaten setzen. Da man Entities in Pb mit CopyEntity() recht simpel
vervielfältigen kann ist das eigentlich kein dickes Brett was man da bohren
muss.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Re: 3D Achterbahn
und hier noch ein angepasster code mit vielen Entities (nutzt mesh und jpg aus dem vorherigen posting)
muss im examples ordner zu liegen kommen.
muss im examples ordner zu liegen kommen.
Code: Alles auswählen
;
; ------------------------------------------------------------
;
; PureBasic - SkyBox
;
; (c) 2002 - Fantaisie Software
;
; ------------------------------------------------------------
;
; Thanks to Steve 'Sinbad' Streeting for the nice SkyBox !
;
#CameraSpeed = 1 ;runtergesetzt wegen besser ist das
IncludeFile "Screen3DRequester.pb"
Define.f KeyX, KeyY, MouseX, MouseY
If InitEngine3D()
Add3DArchive("Data" , #PB_3DArchive_FileSystem)
Add3DArchive("Data/skybox.zip", #PB_3DArchive_Zip)
InitSprite()
InitKeyboard()
InitMouse()
If Screen3DRequester()
x.f
y.f
z.f
CreateMaterial(0, LoadTexture(0, "Cubeskin.jpg"))
CreateEntity(0, LoadMesh(0, "Cube.mesh"), MaterialID(0))
For xx = 1 To 1000
x=xx/5
y=Sin(x/5)*4
z=Cos(x/5)*4
CopyEntity(0,xx)
MoveEntity(xx,x,y,z)
Next
SkyBox("desert07.jpg")
CreateCamera(0,0,0,100,100)
CameraLocate(0,0,0,100)
Repeat
Screen3DEvents()
If ExamineKeyboard()
zz+1
For xx=0 To 1000
ResizeEntity(xx,zz/50,zz/50,zz/50)
Next
If zz>10
zz=0
EndIf
If KeyboardPushed(#PB_Key_Left)
KeyX = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Right)
KeyX = #CameraSpeed
Else
KeyX = 0
EndIf
If KeyboardPushed(#PB_Key_Up)
KeyY = -#CameraSpeed
ElseIf KeyboardPushed(#PB_Key_Down)
KeyY = #CameraSpeed
Else
KeyY = 0
EndIf
EndIf
If ExamineMouse()
MouseX = -(MouseDeltaX()/10)*#CameraSpeed/2
MouseY = -(MouseDeltaY()/10)*#CameraSpeed/2
EndIf
RotateCamera(0, MouseY, MouseX, RollZ, #PB_Relative)
MoveCamera (0, KeyX, 0, KeyY)
RenderWorld()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape) Or Quit = 1
EndIf
Else
MessageRequester("Error", "The 3D Engine can't be initialized",0)
EndIf
End
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
-
- Beiträge: 557
- Registriert: 29.11.2005 15:05
Re: 3D Achterbahn
http://forums.purebasic.com/german/view ... =4&t=23198
Ist ganz einfach.
Schau dir mein Programm an, simuliere gerade einen Zug mit n3xtd.
Ich habe zb eine Schienenlänge 1000*0.0002 genommen in 3d und habe die Punkte xz gespeichert.
Dann habe ich zb 20x gerade Schienenstränge genommen und 9x gebogene Rechts (9 entspricht einen Winkel von 90 Grad, das heisst ein gebogener Strang hat immer 10 Grad in der Verlegung).
Diese Punkte xy kann ich dann mit dem Timer abfahren und auch bremsen.
Gruss
Ist ganz einfach.
Schau dir mein Programm an, simuliere gerade einen Zug mit n3xtd.
Ich habe zb eine Schienenlänge 1000*0.0002 genommen in 3d und habe die Punkte xz gespeichert.
Dann habe ich zb 20x gerade Schienenstränge genommen und 9x gebogene Rechts (9 entspricht einen Winkel von 90 Grad, das heisst ein gebogener Strang hat immer 10 Grad in der Verlegung).
Diese Punkte xy kann ich dann mit dem Timer abfahren und auch bremsen.
Gruss