Well...to draw a 3d gimbal is easy
// Project: Gimbal
// Created: 2019-03-04
// show all errors
SetErrorMode(2)
// set window properties
SetWindowTitle( "Gimbal" )
SetWindowSize( 1024, 768, 0 )
SetWindowAllowResize( 1 ) // allow the user to resize the window
// set display properties
SetVirtualResolution( 1024, 768 ) // doesn't have to match the window
SetOrientationAllowed( 1, 1, 1, 1 ) // allow both portrait and landscape on mobile devices
//SetSyncRate( 30, 0 ) // 30fps instead of 60 to save battery
SetVsync(1)
SetScissor( 0,0,0,0 ) // use the maximum available screen space, no black borders
UseNewDefaultFonts( 1 ) // since version 2.0.22 we can use nicer default fonts
// draw a texture
col = MakeColor(255,255,255)
DrawBox(0,0,1024,768,col,col,col,col,1)
col = MakeColor(0,0,0)
DrawEllipse(1024/2,768/2,1024/3,768/3,col,col,1)
img = GetImage(0,0,1024,768)
SetImageTransparentColor(img,0,0,0)
//clearscreen()
box = createobjectbox(8,1,8)
SetObjectPosition(box,0,-6,0)
// support
sup = CreateObjectCylinder(1,0.2,8)
Setobjectposition(sup,0,-5.5,0)
SetObjectColor(sup,128,128,128,255)
// outer ring
ring1 = CreateObjectCylinder(0.1,10,20)
SetObjectColor(ring1,255,0,255,255)
SetObjectImage(ring1,img,0)
SetObjectAlphaMask(ring1,1)
SetObjectRotation(ring1,90,0,0)
FixObjectPivot(ring1)
sup = CreateObjectCylinder(1,0.1,8)
SetObjectPosition(sup,-3,0,0)
SetObjectRotation(sup,0,0,90)
FixObjectToObject(sup,ring1)
sup = CreateObjectCylinder(1,0.1,8)
SetObjectPosition(sup,3,0,0)
SetObjectRotation(sup,0,0,90)
FixObjectToObject(sup,ring1)
// middle ring
ring2 = CreateObjectCylinder(0.1,6,20)
SetObjectColor(ring2,0,255,0,255)
SetObjectImage(ring2,img,0)
SetObjectAlphaMask(ring2,1)
SetObjectRotation(ring2,90,0,0)
FixObjectPivot(ring2)
sup = CreateObjectCylinder(1,0.1,8)
SetObjectPosition(sup,0,2,0)
FixObjectToObject(sup,ring2)
sup = CreateObjectCylinder(1,0.1,8)
SetObjectPosition(sup,0,-2,0)
FixObjectToObject(sup,ring2)
//inner ring
ring3 = CreateObjectCylinder(0.1,3.5,20)
SetObjectColor(ring3,0,0,255,255)
SetObjectImage(ring3,img,0)
SetObjectAlphaMask(ring3,1)
SetObjectRotation(ring3,90,0,0)
FixObjectPivot(ring3)
// rotation angles
xr# = 0
yr# = 0
zr# = 0
do
// Set the amount we will rotate by
amt# = getframetime()*40
inc xr# , amt#
inc yr# , 1.7*amt#
inc zr# , 3.3*amt#
SetObjectRotation(ring1,0,yr#,0)
SetObjectRotation(ring2,xr#,yr#,0)
SetObjectRotation(ring3,xr#,yr#,0)
RotateObjectLocalY(ring3,zr#)
Print( "Simple Gimbal" )
Sync()
loop
but i think what you want is nothing to do with drawing a 3d gimbal?
Sounds more like you simply want to rotate your camera around an object and also set roll values too instead??
Edit...
lol..looks like puzler is here to sort you out so I'll let him figure it out for you