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 | - |