Try my new website:
www.urcho.com
- the new SIMPLE social network
Sign up
|
284
members |
114
snippets
Search for:
ALL
POPULAR
File Controls
Multiplayer Code
2D Effects
3D Effects
Oldskool demos
Basic Functions
Maths/Physics
Sound
Tutorials
Misc
Username:
Password:
Sign up
Simple Wheel Physics by RoyFerriby
[
back
]
Author:
Archive
| Viewed:
828
times | Language:
BlitzBasic 3D
| Category:
Maths/Physics
;*** wheel circumference calculation ;*** R Ferriby 2006 Graphics3D 800,600,32 SetBuffer BackBuffer() light%=CreateLight() : PositionEntity light,50,50,-50 camera%=CreateCamera() wheel_radius#=10.0 ;<-- enter your own values here ;*** create some suitable ground plane%=CreatePlane() EntityColor plane,0,255,0 EntityAlpha plane,0.5 PositionEntity plane,0,-wheel_radius,0 mirror%=CreateMirror() PositionEntity mirror,0,-wheel_radius,0 ;*** create a simple wheel object wheel%=CreateCylinder(12) : ScaleMesh wheel,1,0.05,1 : RotateMesh wheel,0,0,90 ScaleEntity wheel,wheel_radius,wheel_radius,wheel_radius wheel_diameter#=wheel_radius+wheel_radius circumference#=wheel_diameter*Pi axel%=CreatePivot() : EntityParent wheel,axel : PositionEntity axel,0,0,100,1 TurnEntity axel,0,-90,0 velocity#=0.0 While Not KeyHit(1) If KeyDown(203) If velocity>-1.0 velocity=velocity-0.02 EndIf EndIf If KeyDown(205) If velocity<1.0 velocity=velocity+0.02 EndIf EndIf If velocity<0.0 velocity=velocity+0.01 If velocity>0.0 velocity=0.0 Else If velocity<-1.0 velocity=-1.0 EndIf EndIf EndIf If velocity>0.0 velocity=velocity-0.01 If velocity<0.0 velocity=0.0 Else If velocity>1.0 velocity=1.0 EndIf EndIf EndIf ;*** simply move the axel the specified distance MoveEntity axel,0,0,velocity ;*** magic bit to calculate wheel rotation based on distance traveled rotation#=360.0*(velocity/circumference) TurnEntity wheel,rotation,0,0 RenderWorld Text 0,0,"wheel radius="+wheel_radius Text 0,15,"wheel circumference="+circumference Text 0,30,"velocity="+velocity Text 0,50,"Left cursor to Roll left" Text 0,65,"Right cursor to Roll right" Text 0,80,"Esc - Quit" Flip Wend End
Author Comments:
Using Circumference to calculate wheel rotation based on velocity
Login or
create an account
to comment on this snippet