// ‰ñ“]Šp“xŽæ“¾ŠÖ”ŒŸØ—pƒ‚ƒfƒ‹u‚¨‚¢‚ç`ŒNv // ZŽ²F // XŽ²F—Î // YŽ²FÔ // Ž²‚Ì•ûŒüF–¾‚é‚¢F{ ` |FˆÃ‚¢iŠÛ‚¢•û‚ª{j // y‘€ì–@z // XŽ²Fª/«AYŽ²F©/¨AZŽ²F‚y/‚b // ‰Á‘¬F+‚wAƒŠƒZƒbƒgF‚` val{ EY(default=0,min=-180,max=180,step=0) EX(default=0,min=-180,max=180,step=0) EZ(default=0,min=-180,max=180,step=0) RESET(default=0,min=0,max=1,step=0) } key{ } body{ core(){ n:frame(angle=-90){ n:frame(){ n:trimf(angle=-EY){ s:frame(){ e:trimf(angle=-EX){ w:trimf(angle=90){ s:trimf(angle=-EZ){ n:frame(name=A){ n:frame(){ } w:cowl(angle=-120,color=#FFFFFF){ } e:cowl(angle=-120,color=#FFFFFF){ } w:cowl(angle=120,color=#333333){ } e:cowl(angle=120,color=#333333){ } } n:cowl(color=#0000CC){ n:cowl(color=#0000BB){ n:cowl(color=#0000AA){ n:cowl(color=#000099){ } } } s:cowl(color=#0000DD){ s:cowl(color=#0000EE){ s:cowl(color=#0000FF,option=5){ } } } } } } w:frame(){ w:frame(){ } } w:cowl(color=#00CC00){ w:cowl(color=#00BB00){ w:cowl(color=#00AA00){ w:cowl(color=#009900){ } } } e:cowl(color=#00DD00){ e:cowl(color=#00EE00){ e:cowl(color=#00FF00,option=5){ } } } } } s:frame(){ } } s:cowl(color=#CC0000){ s:cowl(color=#BB0000){ s:cowl(color=#AA0000){ s:cowl(color=#990000){ } } } n:cowl(color=#DD0000){ n:cowl(color=#EE0000){ n:cowl(color=#FF0000,option=5){ } } } } } } } n:chip(){ n:frame(angle=90){ n:frame(){ n:weight(angle=-90){ n:weight(){ n:weight(){ w:weight(){ w:weight(){ w:weight(){ w:weight(){ } } } } e:weight(){ e:weight(){ e:weight(){ e:weight(){ } } } } } } } } } } s:frame(angle=90){ s:frame(){ s:weight(angle=-90){ s:weight(){ s:weight(){ w:weight(){ w:weight(){ w:weight(){ w:weight(){ } } } } e:weight(){ e:weight(){ e:weight(){ e:weight(){ } } } } } } } } } } } Lua{ function main() if(BX==nil) then BX=_I(A,0,0) BY=_I(A,1,1) BZ=_I(A,2,2) end t=_KEY(5)*14+1 -- Y‰ñ“] if(_KEY(2)>0) then EY=EY-t end if(_KEY(3)>0) then EY=EY+t end if(EY> 180) then EY=EY-360 end if(EY<-180) then EY=EY+360 end -- X‰ñ“] if(_KEY(0)>0) then EX=EX+t end if(_KEY(1)>0) then EX=EX-t end if(EX> 180) then EX=EX-360 end if(EX<-180) then EX=EX+360 end -- Z‰ñ“] if(_KEY(4)>0) then EZ=EZ-t end if(_KEY(6)>0) then EZ=EZ+t end if(EZ> 180) then EZ=EZ-360 end if(EZ<-180) then EZ=EZ+360 end if(_KEY(7)>0) then RESET=1 end if(math.abs(EX)==0)and(math.abs(EY)==0)and(math.abs(EZ)==0) then RESET=0 end if(RESET>0) then EX=EX-math.min(5,math.max(-5,EX)) EY=EY-math.min(5,math.max(-5,EY)) EZ=EZ-math.min(5,math.max(-5,EZ)) end out(0,"PITCH(X):Up/Down, YAW(Y):Left/Right, ROLL(Z):Z/C") out(1,"Speed-Up:+X, Reset:A") out(2,"=================") out(3,"AX=",math.deg(_AX(A)),", AY=",math.deg(_AY(A)-_AY(0)),", AZ=",math.deg(_AZ(A))) out(4,"EX=",math.deg(_EX(A)),", EY=",math.deg(_EY(A)-_EY(0)),", EZ=",math.deg(_EZ(A))) out(5,"WX=",_WX(A),", WY=",_WY(A)-_WY(0),", WZ=",_WZ(A)) out(6,"XX=",_XX(A),", XY=",_XY(A),", XZ=",_XZ(A)) out(7,"YX=",_YX(A),", YY=",_YY(A),", YZ=",_YZ(A)) out(8,"ZX=",_ZX(A),", ZY=",_ZY(A),", ZZ=",_ZZ(A)) out(9,"QW=",_QW(A),", QX=",_QX(A),", QY=",_QY(A),", QZ=",_QZ(A)) out(10,"I00=",_I(A,0,0),", I01=",_I(A,1,0),", I02=",_I(A,2,0)) out(11,"I10=",_I(A,0,1),", I11=",_I(A,1,1),", I12=",_I(A,2,1)) out(12,"I20=",_I(A,0,2),", I21=",_I(A,1,2),", I22=",_I(A,2,2)) xx,xy,xz=_XX(A)^2,_XY(A)^2,_XZ(A)^2 yx,yy,yz=_YX(A)^2,_YY(A)^2,_YZ(A)^2 zx,zy,zz=_ZX(A)^2,_ZY(A)^2,_ZZ(A)^2 out(13,"IX=",BX*xx+BY*yx+BZ*zx) out(14,"IY=",BX*xy+BY*yy+BZ*zy) out(15,"IZ=",BX*xz+BY*yz+BZ*zz) end }