Guest User

Untitled

a guest
Dec 18th, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 7.76 KB | None | 0 0
  1. @name PYR trigonometrial
  2. @inputs GPUPR:wirelink
  3. @outputs Roll Pitch
  4. @persist EE:entity
  5.  
  6.  
  7. interval(100)
  8.  
  9.  
  10.     # ANGLE
  11.    
  12. EE = entity()
  13. Ang = EE:angles()
  14. Roll = Ang:roll()
  15. Pitch = -(Ang:pitch())
  16.  
  17.  
  18.  
  19. #### ROLL OBJECTS ####
  20.  
  21.     Angsin = sin(Roll)
  22.     Angcos = cos(Roll)
  23.     XRANGE = 256
  24.     YRANGE = 256
  25.    
  26.     ## MIDLINE ##
  27.  
  28.  
  29.         X1init = -512 * Angcos
  30.         Y1init = -512 * Angsin
  31.         X2init = 1024 * Angcos
  32.         Y2init = 1024 * Angsin
  33.    
  34.         MidlineP1X = X1init + (XRANGE - (XRANGE * Angcos))
  35.         MidlineP1Y = Y1init + (YRANGE - (YRANGE * Angsin))
  36.         MidlineP2X = X2init + (XRANGE - (XRANGE * Angcos))
  37.         MidlineP2Y = Y2init + (YRANGE - (YRANGE * Angsin))
  38.    
  39.    
  40.     ## POLYGON ##
  41.    
  42.         TXRANGE = 256
  43.         TYRANGE = 256
  44.         BXRANGE = 512
  45.         BYRANGE = 512
  46.        
  47.         TLXINIT = -512 * Angcos
  48.         TLYINIT = -512 * Angsin
  49.         PolyTOPLX = TLXINIT + (TXRANGE - (TXRANGE * Angcos))
  50.         PolyTOPLY = TLYINIT + (TYRANGE - (TYRANGE * Angsin))
  51.        
  52.         BLXINIT = -2048 * cos(Roll-45)
  53.         BLYINIT = -2048 * sin(Roll-45)
  54.         PolyBOTLX = BLXINIT + (BXRANGE - (BXRANGE * cos(Roll-45)))
  55.         PolyBOTLY = BLYINIT + (BYRANGE - (BYRANGE * sin(Roll-45)))
  56.        
  57.         BRXINIT = 2048 * cos(Roll-135)
  58.         BRYINIT = 2048 * sin(Roll-135)
  59.         PolyBOTRX = -BRXINIT + (BXRANGE - (BXRANGE * cos(Roll-135)))
  60.         PolyBOTRY = -BRYINIT + (BYRANGE - (BYRANGE * sin(Roll-135)))
  61.        
  62.         TRXINIT = 1024 * Angcos
  63.         TRYINIT = 1024 * Angsin
  64.         PolyTOPRX = TRXINIT + (TXRANGE - (TXRANGE * Angcos))
  65.         PolyTOPRY = TRYINIT + (TYRANGE - (TYRANGE * Angsin))
  66.        
  67.        
  68. #### PITCH OBJECTS ####
  69.  
  70.  
  71.     Jump = 64
  72.     Cntr = 256
  73.     Incr = Pitch * (Jump / 10)
  74.     Wide1 = 192
  75.     Wide2 = 320
  76.     Narrow1 = 208
  77.     Narrow2 = 304
  78.    
  79.     Coef = 9
  80.     Horline180P1X = Wide1
  81.     Horline180P1Y = (Cntr - Jump*Coef) + Incr
  82.     Horline180P2X = Wide2
  83.     Horline180P2Y = (Cntr - Jump*Coef) + Incr
  84.     Coef--
  85.     Horline160P1X = Narrow1
  86.     Horline160P1Y = (Cntr - Jump*Coef) + Incr
  87.     Horline160P2X = Narrow2
  88.     Horline160P2Y = (Cntr - Jump*Coef) + Incr
  89.     Coef--
  90.     Horline140P1X = Narrow1
  91.     Horline140P1Y = (Cntr - Jump*Coef) + Incr
  92.     Horline140P2X = Narrow2
  93.     Horline140P2Y = (Cntr - Jump*Coef) + Incr
  94.     Coef--
  95.     Horline120P1X = Wide1
  96.     Horline120P1Y = (Cntr - Jump*Coef) + Incr
  97.     Horline120P2X = Wide2
  98.     Horline120P2Y = (Cntr - Jump*Coef) + Incr
  99.     Coef--
  100.     Horline100P1X = Narrow1
  101.     Horline100P1Y = (Cntr - Jump*Coef) + Incr
  102.     Horline100P2X = Narrow2
  103.     Horline100P2Y = (Cntr - Jump*Coef) + Incr
  104.     Coef--
  105.     Horline80P1X = Narrow1
  106.     Horline80P1Y = (Cntr - Jump*Coef) + Incr
  107.     Horline80P2X = Narrow2
  108.     Horline80P2Y = (Cntr - Jump*Coef) + Incr
  109.     Coef--
  110.     Horline60P1X = Wide1
  111.     Horline60P1Y = (Cntr - Jump*Coef) + Incr
  112.     Horline60P2X = Wide2
  113.     Horline60P2Y = (Cntr - Jump*Coef) + Incr
  114.     Coef--
  115.     Horline40P1X = Narrow1
  116.     Horline40P1Y = (Cntr - Jump*Coef) + Incr
  117.     Horline40P2X = Narrow2
  118.     Horline40P2Y = (Cntr - Jump*Coef) + Incr
  119.     Coef--
  120.     Horline20P1X = Narrow1
  121.     Horline20P1Y = (Cntr - Jump) + Incr
  122.     Horline20P2X = Narrow2
  123.     Horline20P2Y = (Cntr - Jump) + Incr
  124.     Coef--
  125.     Horline0P1X = 160
  126.     Horline0P1Y = 256 + Incr
  127.     Horline0P2X = 352
  128.     Horline0P2Y = 256 + Incr
  129.     Coef++
  130.     Horlinem20P1X = Narrow1
  131.     Horlinem20P1Y = (Cntr + Jump) + Incr
  132.     Horlinem20P2X = Narrow2
  133.     Horlinem20P2Y = (Cntr + Jump) + Incr
  134.     Coef++
  135.     Horlinem40P1X = Narrow1
  136.     Horlinem40P1Y = (Cntr + Jump*Coef) + Incr
  137.     Horlinem40P2X = Narrow2
  138.     Horlinem40P2Y = (Cntr + Jump*Coef) + Incr
  139.     Coef++
  140.     Horlinem60P1X = Wide1
  141.     Horlinem60P1Y = (Cntr + Jump*Coef) + Incr
  142.     Horlinem60P2X = Wide2
  143.     Horlinem60P2Y = (Cntr + Jump*Coef) + Incr
  144.     Coef++
  145.     Horlinem80P1X = Narrow1
  146.     Horlinem80P1Y = (Cntr + Jump*Coef) + Incr
  147.     Horlinem80P2X = Narrow2
  148.     Horlinem80P2Y = (Cntr + Jump*Coef) + Incr
  149.     Coef++
  150.     Horlinem100P1X = Narrow1
  151.     Horlinem100P1Y = (Cntr + Jump*Coef) + Incr
  152.     Horlinem100P2X = Narrow2
  153.     Horlinem100P2Y = (Cntr + Jump*Coef) + Incr
  154.     Coef++
  155.     Horlinem120P1X = Wide1
  156.     Horlinem120P1Y = (Cntr + Jump*Coef) + Incr
  157.     Horlinem120P2X = Wide2
  158.     Horlinem120P2Y = (Cntr + Jump*Coef) + Incr
  159.     Coef++
  160.     Horlinem140P1X = Narrow1
  161.     Horlinem140P1Y = (Cntr + Jump*Coef) + Incr
  162.     Horlinem140P2X = Narrow2
  163.     Horlinem140P2Y = (Cntr + Jump*Coef) + Incr
  164.     Coef++
  165.     Horlinem160P1X = Narrow1
  166.     Horlinem160P1Y = (Cntr + Jump*Coef) + Incr
  167.     Horlinem160P2X = Narrow2
  168.     Horlinem160P2Y = (Cntr + Jump*Coef) + Incr
  169.     Coef++
  170.     Horlinem180P1X = Wide1
  171.     Horlinem180P1Y = (Cntr + Jump*Coef) + Incr
  172.     Horlinem180P2X = Wide2
  173.     Horlinem180P2Y = (Cntr + Jump*Coef) + Incr
  174.    
  175.    
  176.    
  177.    
  178. ## OUTPUTS TO GPU ##
  179.  
  180.     GPUPR[63510] = Horline180P1X
  181.     GPUPR[63511] = Horline180P1Y
  182.     GPUPR[63512] = Horline180P2X
  183.     GPUPR[63513] = Horline180P2Y
  184.     GPUPR[63514] = Horline160P1X
  185.     GPUPR[63515] = Horline160P1Y
  186.     GPUPR[63516] = Horline160P2X
  187.     GPUPR[63517] = Horline160P2Y
  188.     GPUPR[63518] = Horline140P1X
  189.     GPUPR[63519] = Horline140P1Y
  190.     GPUPR[63520] = Horline140P2X
  191.     GPUPR[63521] = Horline140P2Y
  192.     GPUPR[63522] = Horline120P1X
  193.     GPUPR[63523] = Horline120P1Y
  194.     GPUPR[63524] = Horline120P2X
  195.     GPUPR[63525] = Horline120P2Y
  196.     GPUPR[63526] = Horline100P1X
  197.     GPUPR[63527] = Horline100P1Y
  198.     GPUPR[63528] = Horline100P2X
  199.     GPUPR[63529] = Horline100P2Y
  200.     GPUPR[63530] = Horline80P1X
  201.     GPUPR[63531] = Horline80P1Y
  202.     GPUPR[63532] = Horline80P2X
  203.     GPUPR[63533] = Horline80P2Y
  204.     GPUPR[63534] = Horline60P1X
  205.     GPUPR[63535] = Horline60P1Y
  206.     GPUPR[63536] = Horline60P2X
  207.     GPUPR[63537] = Horline60P2Y
  208.     GPUPR[63538] = Horline40P1X
  209.     GPUPR[63539] = Horline40P1Y
  210.     GPUPR[63540] = Horline40P2X
  211.     GPUPR[63541] = Horline40P2Y
  212.     GPUPR[63542] = Horline20P1X
  213.     GPUPR[63543] = Horline20P1Y
  214.     GPUPR[63544] = Horline20P2X
  215.     GPUPR[63545] = Horline20P2Y
  216.     GPUPR[63546] = Horline0P1X
  217.     GPUPR[63547] = Horline0P1Y
  218.     GPUPR[63548] = Horline0P2X
  219.     GPUPR[63549] = Horline0P2Y
  220.     GPUPR[63550] = Horlinem20P1X
  221.     GPUPR[63551] = Horlinem20P1Y
  222.     GPUPR[63552] = Horlinem20P2X
  223.     GPUPR[63553] = Horlinem20P2Y
  224.     GPUPR[63554] = Horlinem40P1X
  225.     GPUPR[63555] = Horlinem40P1Y
  226.     GPUPR[63556] = Horlinem40P2X
  227.     GPUPR[63557] = Horlinem40P2Y
  228.     GPUPR[63558] = Horlinem60P1X
  229.     GPUPR[63559] = Horlinem60P1Y
  230.     GPUPR[63560] = Horlinem60P2X
  231.     GPUPR[63561] = Horlinem60P2Y
  232.     GPUPR[63562] = Horlinem80P1X
  233.     GPUPR[63563] = Horlinem80P1Y
  234.     GPUPR[63564] = Horlinem80P2X
  235.     GPUPR[63565] = Horlinem80P2Y
  236.     GPUPR[63566] = Horlinem100P1X
  237.     GPUPR[63567] = Horlinem100P1Y
  238.     GPUPR[63568] = Horlinem100P2X
  239.     GPUPR[63569] = Horlinem100P2Y
  240.     GPUPR[63570] = Horlinem120P1X
  241.     GPUPR[63571] = Horlinem120P1Y
  242.     GPUPR[63572] = Horlinem120P2X
  243.     GPUPR[63573] = Horlinem120P2Y
  244.     GPUPR[63574] = Horlinem140P1X
  245.     GPUPR[63575] = Horlinem140P1Y
  246.     GPUPR[63576] = Horlinem140P2X
  247.     GPUPR[63577] = Horlinem140P2Y
  248.     GPUPR[63578] = Horlinem160P1X
  249.     GPUPR[63579] = Horlinem160P1Y
  250.     GPUPR[63580] = Horlinem160P2X
  251.     GPUPR[63581] = Horlinem160P2Y
  252.     GPUPR[63582] = Horlinem180P1X
  253.     GPUPR[63583] = Horlinem180P1Y
  254.     GPUPR[63584] = Horlinem180P2X
  255.     GPUPR[63585] = Horlinem180P2Y
  256.    
  257.    
  258.  
  259.     GPUPR[63488] = MidlineP1X
  260.     GPUPR[63489] = MidlineP1Y
  261.     GPUPR[63490] = MidlineP2X
  262.     GPUPR[63491] = MidlineP2Y
  263.    
  264.     GPUPR[63500] = PolyTOPLX
  265.     GPUPR[63501] = PolyTOPLY
  266.     GPUPR[63502] = PolyBOTLX
  267.     GPUPR[63503] = PolyBOTLY
  268.     GPUPR[63504] = PolyBOTRX
  269.     GPUPR[63505] = PolyBOTRY
  270.     GPUPR[63506] = PolyTOPRX
  271.     GPUPR[63507] = PolyTOPRY
Add Comment
Please, Sign In to add comment