SHOW:
|
|
- or go back to the newest paste.
| 1 | TiltRotate:^FCentreX=120.0;^FCentreY=140.0;^FMagX=32.0;^FMagY=24.0;^FTiltMag=50.0;^FRotaMag=50.0; | |
| 2 | ||
| 3 | [TiltRotate] | |
| 4 | ||
| 5 | set _FDegToRad as #F1.0 / #F57.29578 | |
| 6 | set _FXMin as #F-20.0 | |
| 7 | set _FXMax as #F20.0 | |
| 8 | set _FYMin as #F-20.0 | |
| 9 | set _FYMax as #F20.0 | |
| 10 | set _FZMin as #F-20.0 | |
| 11 | set _FZMax as #F20.0 | |
| 12 | set _FXLines as #F10.0 | |
| 13 | set _FXSublines as #F10.0 | |
| 14 | set _FYLines as #F10.0 | |
| 15 | set _FYSublines as #F10.0 | |
| 16 | ||
| 17 | set _FTilt as *FTiltSensor * ^FTiltMag | |
| 18 | set _FRota as *FRotaSensor * ^FRotaMag | |
| 19 | ||
| 20 | set _FRadTilt as _FTilt * _FDegToRad | |
| 21 | set _FCosTilt from RadCos _FRadTilt | |
| 22 | set _FSinTilt from RadSin _FRadTilt | |
| 23 | set _FRadRota as _FRota * _FDegToRad | |
| 24 | set _FCosRota from RadCos _FRadRota | |
| 25 | set _FSinRota from RadSin _FRadRota | |
| 26 | set _FXMean as _FXMax + _FXMin | |
| 27 | set _FXMean as _FXMean / #F2.0 | |
| 28 | set _FYMean as _FYMax + _FYMin | |
| 29 | set _FYMean as _FYMean / #F2.0 | |
| 30 | set _FZMean as _FZMax + _FZMin | |
| 31 | set _FZMean as _FZMean / #F2.0 | |
| 32 | set _FXDiff as _FXMax - _FXMin | |
| 33 | set _FYDiff as _FYMax - _FYMin | |
| 34 | set _FZDiff as _FZMax - _FZMin | |
| 35 | ||
| 36 | set _FXStep as _FXLines - #F1.0 | |
| 37 | set _FXStep as _FXDiff / _FXStep | |
| 38 | set _FXSubstep as _FXSublines - #F1.0 | |
| 39 | set _FXSubstep as _FXDiff / _FXSubstep | |
| 40 | ||
| 41 | set _FYStep as _FYLines - #F1.0 | |
| 42 | set _FYStep as _FYDiff / _FYStep | |
| 43 | set _FYSubstep as _FYSublines - #F1.0 | |
| 44 | set _FYSubstep as _FYDiff / _FYSubstep | |
| 45 | ||
| 46 | set _FXMaxx as _FXMax + #F0.1 | |
| 47 | set _FYMaxx as _FYMax + #F0.1 | |
| 48 | ||
| 49 | step _FY from _FYMin to _FYMaxx increment _FYStep | |
| 50 | step _FX from _FXMin to _FXMaxx increment _FXSubstep | |
| 51 | if _FX == _FXMin | |
| 52 | gosub Calculate | |
| 53 | endif | |
| 54 | copy _FXPlot to _PLast.X | |
| 55 | copy _FYPlot to _PLast.Y | |
| 56 | gosub Calculate | |
| 57 | copy _FXPlot to _PThis.X | |
| 58 | copy _FYPlot to _PThis.Y | |
| 59 | call DrawLine _PLast _PThis #C0,255,0 | |
| 60 | endstep | |
| 61 | endstep | |
| 62 | ||
| 63 | step _FX from _FXMin to _FXMaxx increment _FXStep | |
| 64 | step _FY from _FYMin to _FYMaxx increment _FYSubstep | |
| 65 | if _FY == _FYMin | |
| 66 | gosub Calculate | |
| 67 | endif | |
| 68 | copy _FXPlot to _PLast.X | |
| 69 | copy _FYPlot to _PLast.Y | |
| 70 | gosub Calculate | |
| 71 | copy _FXPlot to _PThis.X | |
| 72 | copy _FYPlot to _PThis.Y | |
| 73 | call DrawLine _PLast _PThis #C0,255,255 | |
| 74 | endstep | |
| 75 | endstep | |
| 76 | ||
| 77 | sub Calculate | |
| 78 | set _FZX as _FX * _FX | |
| 79 | set _FZY as _FY * _FY | |
| 80 | set _FZ as _FZX + _FZY | |
| 81 | set _FZ from SquareRoot _FZ | |
| 82 | set _FZ from RadSin _FZ | |
| 83 | set _FZ2 as _FZ - _FZMean | |
| 84 | set _FZ2 as _FZ2 / _FZDiff | |
| 85 | set _FX2 as _FX - _FXMean | |
| 86 | set _FX2 as _FX2 / _FXDiff | |
| 87 | set _FY2 as _FY - _FYMean | |
| 88 | set _FY2 as _FY2 / _FYDiff | |
| 89 | set _FX3X as _FX2 * _FCosRota | |
| 90 | set _FX3Y as _FY2 * _FSinRota | |
| 91 | set _FX3 as _FX3X - _FX3Y | |
| 92 | set _FY3X as _FX2 * _FSinRota | |
| 93 | set _FY3Y as _FY2 * _FCosRota | |
| 94 | set _FY3Z as _FZ2 * _FCosTilt | |
| 95 | set _FY3XY as _FY3X + _FY3Y | |
| 96 | set _FY3S as _FY3XY * _FSinTilt | |
| 97 | set _FY3 as _FY3Z - _FY3S | |
| 98 | set _FXPlot as ^FMagX * _FX3 | |
| 99 | set _FXPlot as ^FCentreX + _FXPlot | |
| 100 | - | endsub |
| 100 | + | |
| 101 | set _FYPlot as ^FCentreY + _FYPlot | |
| 102 | endsub | |
| 103 | ||
| 104 | /B!"#~."$"%~."&"'~."$"(~."&")~."$"*~."&"+~.","-~.",".~.","/~.","0~/:123~/:456~/:71!~/"827~/"917~/::4!~/";2:~/"<1:~/*='%~/B==>~/*?)(~/B??>~/*@+*~/B@@>~/2A'%~/2B)(~/2C+*~/2D-"~/BDAD~/2E."~/BEAE~/2F/"~/BFBF~/2G0"~/BGBG~/*H'I~/*J)I~."("K~"~*~)2KJ~(!?~."%"L~"~*~)2LH~(!r~"~)*L%~(!2~"~+~2!"|~,~#~#~."M+!~."N3!~"~+~2!"a~,~#~."M+"~."N3"~0!!"!~/*LLE~-~$~,~#~/*KKF~-~$~,~#~."%"L~"~*~)2LH~(!?~."("K~"~*~)2KJ~(!r~"~)*K(~(!2~"~+~2!!u~,~#~#~."M+!~."N3!~"~+~2!!Z~,~#~."M+"~."N3"~0!!""~/*KKG~-~$~,~#~/*LLD~-~$~,~#~3~/:OLL~/:PKK~/*QOP~/"Q4Q~/"Q1Q~/2RQ@~/BRRC~/2SL=~/BSSA~/2TK?~/BTTB~/:US;~/:VT<~/2WUV~/:XS<~/:YT;~/:ZR8~/*[XY~/:\[9~/2]Z\~/:M^W~/*M_M~/:N`]~/*NaN~-~
| |
| 105 | - | |
| 106 | _FDegToRad #F1.0 #F57.29578 #F-20.0 _FXMin #F20.0 _FXMax _FYMin _FYMax _FZMin _FZMax #F10.0 _FXLines _FXSublines _FYLines _FYSublines _FTilt *FTiltSensor ^FTiltMag _FRota *FRotaSensor ^FRotaMag _FRadTilt _FCosTilt _FSinTilt _FRadRota _FCosRota _FSinRota _FXMean #F2.0 _FYMean _FZMean _FXDiff _FYDiff _FZDiff _FXStep _FXSubstep _FYStep _FYSubstep _FXMaxx #F0.1 _FYMaxx _FY _FX _FXPlot _FYPlot _FZX _FZY _FZ _FZ2 _FX2 _FY2 _FX3X _FX3Y _FX3 _FY3X _FY3Y _FY3Z _FY3XY _FY3S _FY3 ^FMagX ^FCentreX ^FMagY ^FCentreY | |
| 107 | _PLast _PThis | |
| 108 | #C0,255,0 #C0,255,255 | |
| 109 | - |