3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DrawConnector { var $x0, $y0; var $R1; var $recx, $recy; //var $img; function __construct($img, $x0, $y0, $R1, $recx, $recy) { //$this -> img = $img; $this -> x0 = $x0; $this -> y0 = $y0; $this -> R1 = $R1; $this -> recx = $recx; $this -> recy = $recy; } function __draw($alpha1, $alpha2, $color) { $img = @ImageCreate (400, 400); $color = ImageColorAllocate ($img, 233, 0, 0); $blue = imagecolorallocate($img, 0, 0, 255); $alpha_delta = $alpha2 - $alpha1; $x1_0 = sin($alpha1) * $this -> R1; $y1_0 = cos($alpha1) * $this -> R1; $x2_0 = sin($alpha2) * $this -> R1; $y2_0 = cos($alpha2) * $this -> R1; $l = sqrt(($x2_0 - $x1_0) ^ 2 + ($y2_0 -$y1_0) ^ 2); If ($alpha_delta == pi()) { imageline($img, ($this -> x0 + ('1' - $this -> recx / $this -> R1 * '1.2') * $x1_0), ($this -> y0 + ('1' - $this -> recx / $this -> R1 * '1.2') * $y1_0), ($this -> x0 + ('1' - $this -> recx / $this -> R1 * '1.2') * $x2_0), ($this -> y0 + ('1' - $this -> recx / $this -> R1 * '1.2') * $y2_0), $color); } Else { $beta = ($alpha1 + $alpha2) / 2; $R1_kurz = $this -> R1 - $this -> recx * 1.2; $cx = sin($alpha1 + ($alpha2 - $alpha1) / 2) * $R1_kurz / cos(($alpha2 - $alpha1) / 2) + $this -> x0; $cy = cos($alpha1 + ($alpha2 - $alpha1) / 2) * $R1_kurz / cos(($alpha2 - $alpha1) / 2) + $this -> y0; $R2 = tan(($alpha2 - $alpha1) / 2) * $this -> R1; $R2_kurz = tan(($alpha2 - $alpha1) / 2) * $R1_kurz; $gamma = asin(($l / 2) / $R2); imagearc($img, '100', '100', '50', '50', '20', '60', $color); $cxx=$cx - $R2_kurz; $cyy=$cy - $R2_kurz; $R2_arc=$R2_kurz * '2'; $alpha_start=(-$gamma - $beta) / pi() * 180 - 90; $alpha_ende=($gamma - $beta) / pi() * 180; echo $cxx; echo $cyy; echo $R2; echo $alpha_start; echo $alpha_ende; //imagearc($img, $cxx, $cyy, $R2_arc, $R2_arc, $alpha_start, $alpha_ende, $color); header( "Content-type: image/png" ); imagepng($img); imagedestroy($img); } return null; } } $img = @ImageCreate (400, 400); $color = ImageColorAllocate ($img, 233, 0, 0); $blue = imagecolorallocate($img, 0, 0, 255); imagearc($img, '100', '100', '50', '50', '20', '60', $blue); //$DrawCon = new DrawConnector($img,'200','200','100','20','20'); //$DrawCon -> __draw($img, '0.1','0.2',$blue); header( "Content-type: image/png" ); imagepng($img); imagedestroy($img); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/loEQ0
function name:  (null)
number of ops:  41
compiled vars:  !0 = $img, !1 = $color, !2 = $blue
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  115     0  E >   BEGIN_SILENCE                                    ~3      
          1        INIT_FCALL_BY_NAME                                       'ImageCreate'
          2        SEND_VAL_EX                                              400
          3        SEND_VAL_EX                                              400
          4        DO_FCALL                                      0  $4      
          5        END_SILENCE                                              ~3
          6        ASSIGN                                                   !0, $4
  117     7        INIT_FCALL_BY_NAME                                       'ImageColorAllocate'
          8        SEND_VAR_EX                                              !0
          9        SEND_VAL_EX                                              233
         10        SEND_VAL_EX                                              0
         11        SEND_VAL_EX                                              0
         12        DO_FCALL                                      0  $6      
         13        ASSIGN                                                   !1, $6
  119    14        INIT_FCALL_BY_NAME                                       'imagecolorallocate'
         15        SEND_VAR_EX                                              !0
         16        SEND_VAL_EX                                              0
         17        SEND_VAL_EX                                              0
         18        SEND_VAL_EX                                              255
         19        DO_FCALL                                      0  $8      
         20        ASSIGN                                                   !2, $8
  121    21        INIT_FCALL_BY_NAME                                       'imagearc'
         22        SEND_VAR_EX                                              !0
         23        SEND_VAL_EX                                              '100'
         24        SEND_VAL_EX                                              '100'
         25        SEND_VAL_EX                                              '50'
         26        SEND_VAL_EX                                              '50'
         27        SEND_VAL_EX                                              '20'
         28        SEND_VAL_EX                                              '60'
         29        SEND_VAR_EX                                              !2
         30        DO_FCALL                                      0          
  131    31        INIT_FCALL                                               'header'
         32        SEND_VAL                                                 'Content-type%3A+image%2Fpng'
         33        DO_ICALL                                                 
  133    34        INIT_FCALL_BY_NAME                                       'imagepng'
         35        SEND_VAR_EX                                              !0
         36        DO_FCALL                                      0          
  135    37        INIT_FCALL_BY_NAME                                       'imagedestroy'
         38        SEND_VAR_EX                                              !0
         39        DO_FCALL                                      0          
  139    40      > RETURN                                                   1

Class DrawConnector:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/loEQ0
function name:  __construct
number of ops:  17
compiled vars:  !0 = $img, !1 = $x0, !2 = $y0, !3 = $R1, !4 = $recx, !5 = $recy
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
          3        RECV                                             !3      
          4        RECV                                             !4      
          5        RECV                                             !5      
   21     6        ASSIGN_OBJ                                               'x0'
          7        OP_DATA                                                  !1
   23     8        ASSIGN_OBJ                                               'y0'
          9        OP_DATA                                                  !2
   25    10        ASSIGN_OBJ                                               'R1'
         11        OP_DATA                                                  !3
   27    12        ASSIGN_OBJ                                               'recx'
         13        OP_DATA                                                  !4
   29    14        ASSIGN_OBJ                                               'recy'
         15        OP_DATA                                                  !5
   31    16      > RETURN                                                   null

End of function __construct

Function __draw:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 63, Position 2 = 104
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 209
Branch analysis from position: 209
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 104
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/loEQ0
function name:  __draw
number of ops:  211
compiled vars:  !0 = $alpha1, !1 = $alpha2, !2 = $color, !3 = $img, !4 = $blue, !5 = $alpha_delta, !6 = $x1_0, !7 = $y1_0, !8 = $x2_0, !9 = $y2_0, !10 = $l, !11 = $beta, !12 = $R1_kurz, !13 = $cx, !14 = $cy, !15 = $R2, !16 = $R2_kurz, !17 = $gamma, !18 = $cxx, !19 = $cyy, !20 = $R2_arc, !21 = $alpha_start, !22 = $alpha_ende
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   33     0  E >   RECV                                             !0      
          1        RECV                                             !1      
          2        RECV                                             !2      
   37     3        BEGIN_SILENCE                                    ~23     
          4        INIT_FCALL_BY_NAME                                       'ImageCreate'
          5        SEND_VAL_EX                                              400
          6        SEND_VAL_EX                                              400
          7        DO_FCALL                                      0  $24     
          8        END_SILENCE                                              ~23
          9        ASSIGN                                                   !3, $24
   39    10        INIT_FCALL_BY_NAME                                       'ImageColorAllocate'
         11        SEND_VAR_EX                                              !3
         12        SEND_VAL_EX                                              233
         13        SEND_VAL_EX                                              0
         14        SEND_VAL_EX                                              0
         15        DO_FCALL                                      0  $26     
         16        ASSIGN                                                   !2, $26
   41    17        INIT_FCALL_BY_NAME                                       'imagecolorallocate'
         18        SEND_VAR_EX                                              !3
         19        SEND_VAL_EX                                              0
         20        SEND_VAL_EX                                              0
         21        SEND_VAL_EX                                              255
         22        DO_FCALL                                      0  $28     
         23        ASSIGN                                                   !4, $28
   43    24        SUB                                              ~30     !1, !0
         25        ASSIGN                                                   !5, ~30
   45    26        INIT_FCALL                                               'sin'
         27        SEND_VAR                                                 !0
         28        DO_ICALL                                         $32     
         29        FETCH_OBJ_R                                      ~33     'R1'
         30        MUL                                              ~34     $32, ~33
         31        ASSIGN                                                   !6, ~34
   47    32        INIT_FCALL                                               'cos'
         33        SEND_VAR                                                 !0
         34        DO_ICALL                                         $36     
         35        FETCH_OBJ_R                                      ~37     'R1'
         36        MUL                                              ~38     $36, ~37
         37        ASSIGN                                                   !7, ~38
   49    38        INIT_FCALL                                               'sin'
         39        SEND_VAR                                                 !1
         40        DO_ICALL                                         $40     
         41        FETCH_OBJ_R                                      ~41     'R1'
         42        MUL                                              ~42     $40, ~41
         43        ASSIGN                                                   !8, ~42
   51    44        INIT_FCALL                                               'cos'
         45        SEND_VAR                                                 !1
         46        DO_ICALL                                         $44     
         47        FETCH_OBJ_R                                      ~45     'R1'
         48        MUL                                              ~46     $44, ~45
         49        ASSIGN                                                   !9, ~46
   53    50        INIT_FCALL                                               'sqrt'
         51        SUB                                              ~48     !8, !6
         52        SUB                                              ~49     !9, !7
         53        ADD                                              ~50     2, ~49
         54        BW_XOR                                           ~51     ~48, ~50
         55        BW_XOR                                           ~52     ~51, 2
         56        SEND_VAL                                                 ~52
         57        DO_ICALL                                         $53     
         58        ASSIGN                                                   !10, $53
   55    59        INIT_FCALL                                               'pi'
         60        DO_ICALL                                         $55     
         61        IS_EQUAL                                                 !5, $55
         62      > JMPZ                                                     ~56, ->104
   57    63    >   INIT_FCALL_BY_NAME                                       'imageline'
         64        SEND_VAR_EX                                              !3
         65        FETCH_OBJ_R                                      ~57     'x0'
         66        FETCH_OBJ_R                                      ~58     'recx'
         67        FETCH_OBJ_R                                      ~59     'R1'
         68        DIV                                              ~60     ~58, ~59
         69        MUL                                              ~61     ~60, '1.2'
         70        SUB                                              ~62     '1', ~61
         71        MUL                                              ~63     !6, ~62
         72        ADD                                              ~64     ~57, ~63
         73        SEND_VAL_EX                                              ~64
         74        FETCH_OBJ_R                                      ~65     'y0'
         75        FETCH_OBJ_R                                      ~66     'recx'
         76        FETCH_OBJ_R                                      ~67     'R1'
         77        DIV                                              ~68     ~66, ~67
         78        MUL                                              ~69     ~68, '1.2'
         79        SUB                                              ~70     '1', ~69
         80        MUL                                              ~71     !7, ~70
         81        ADD                                              ~72     ~65, ~71
         82        SEND_VAL_EX                                              ~72
         83        FETCH_OBJ_R                                      ~73     'x0'
         84        FETCH_OBJ_R                                      ~74     'recx'
         85        FETCH_OBJ_R                                      ~75     'R1'
         86        DIV                                              ~76     ~74, ~75
         87        MUL                                              ~77     ~76, '1.2'
         88        SUB                                              ~78     '1', ~77
         89        MUL                                              ~79     !8, ~78
         90        ADD                                              ~80     ~73, ~79
         91        SEND_VAL_EX                                              ~80
         92        FETCH_OBJ_R                                      ~81     'y0'
         93        FETCH_OBJ_R                                      ~82     'recx'
         94        FETCH_OBJ_R                                      ~83     'R1'
         95        DIV                                              ~84     ~82, ~83
         96        MUL                                              ~85     ~84, '1.2'
         97        SUB                                              ~86     '1', ~85
         98        MUL                                              ~87     !9, ~86
         99        ADD                                              ~88     ~81, ~87
        100        SEND_VAL_EX                                              ~88
        101        SEND_VAR_EX                                              !2
        102        DO_FCALL                                      0          
        103      > JMP                                                      ->209
   63   104    >   ADD                                              ~90     !0, !1
        105        DIV                                              ~91     ~90, 2
        106        ASSIGN                                                   !11, ~91
   65   107        FETCH_OBJ_R                                      ~93     'R1'
        108        FETCH_OBJ_R                                      ~94     'recx'
        109        MUL                                              ~95     ~94, 1.2
        110        SUB                                              ~96     ~93, ~95
        111        ASSIGN                                                   !12, ~96
   67   112        INIT_FCALL                                               'sin'
        113        SUB                                              ~98     !1, !0
        114        DIV                                              ~99     ~98, 2
        115        ADD                                              ~100    !0, ~99
        116        SEND_VAL                                                 ~100
        117        DO_ICALL                                         $101    
        118        MUL                                              ~102    !12, $101
        119        INIT_FCALL                                               'cos'
        120        SUB                                              ~103    !1, !0
        121        DIV                                              ~104    ~103, 2
        122        SEND_VAL                                                 ~104
        123        DO_ICALL                                         $105    
        124        DIV                                              ~106    ~102, $105
        125        FETCH_OBJ_R                                      ~107    'x0'
        126        ADD                                              ~108    ~106, ~107
        127        ASSIGN                                                   !13, ~108
   69   128        INIT_FCALL                                               'cos'
        129        SUB                                              ~110    !1, !0
        130        DIV                                              ~111    ~110, 2
        131        ADD                                              ~112    !0, ~111
        132        SEND_VAL                                                 ~112
        133        DO_ICALL                                         $113    
        134        MUL                                              ~114    !12, $113
        135        INIT_FCALL                                               'cos'
        136        SUB                                              ~115    !1, !0
        137        DIV                                              ~116    ~115, 2
        138        SEND_VAL                                                 ~116
        139        DO_ICALL                                         $117    
        140        DIV                                              ~118    ~114, $117
        141        FETCH_OBJ_R                                      ~119    'y0'
        142        ADD                                              ~120    ~118, ~119
        143        ASSIGN                                                   !14, ~120
   71   144        INIT_FCALL                                               'tan'
        145        SUB                                              ~122    !1, !0
        146        DIV                                              ~123    ~122, 2
        147        SEND_VAL                                                 ~123
        148        DO_ICALL                                         $124    
        149        FETCH_OBJ_R                                      ~125    'R1'
        150        MUL                                              ~126    $124, ~125
        151        ASSIGN                                                   !15, ~126
   73   152        INIT_FCALL                                               'tan'
        153        SUB                                              ~128    !1, !0
        154        DIV                                              ~129    ~128, 2
        155        SEND_VAL                                                 ~129
        156        DO_ICALL                                         $130    
        157        MUL                                              ~131    !12, $130
        158        ASSIGN                                                   !16, ~131
   75   159        INIT_FCALL                                               'asin'
        160        DIV                                              ~133    !10, 2
        161        DIV                                              ~134    ~133, !15
        162        SEND_VAL                                                 ~134
        163        DO_ICALL                                         $135    
        164        ASSIGN                                                   !17, $135
   77   165        INIT_FCALL_BY_NAME                                       'imagearc'
        166        SEND_VAR_EX                                              !3
        167        SEND_VAL_EX                                              '100'
        168        SEND_VAL_EX                                              '100'
        169        SEND_VAL_EX                                              '50'
        170        SEND_VAL_EX                                              '50'
        171        SEND_VAL_EX                                              '20'
        172        SEND_VAL_EX                                              '60'
        173        SEND_VAR_EX                                              !2
        174        DO_FCALL                                      0          
   79   175        SUB                                              ~138    !13, !16
        176        ASSIGN                                                   !18, ~138
   81   177        SUB                                              ~140    !14, !16
        178        ASSIGN                                                   !19, ~140
   83   179        MUL                                              ~142    !16, '2'
        180        ASSIGN                                                   !20, ~142
   85   181        MUL                                              ~144    !17, -1
        182        SUB                                              ~145    ~144, !11
        183        INIT_FCALL                                               'pi'
        184        DO_ICALL                                         $146    
        185        DIV                                              ~147    ~145, $146
        186        MUL                                              ~148    ~147, 180
        187        SUB                                              ~149    ~148, 90
        188        ASSIGN                                                   !21, ~149
   87   189        SUB                                              ~151    !17, !11
        190        INIT_FCALL                                               'pi'
        191        DO_ICALL                                         $152    
        192        DIV                                              ~153    ~151, $152
        193        MUL                                              ~154    ~153, 180
        194        ASSIGN                                                   !22, ~154
   89   195        ECHO                                                     !18
   91   196        ECHO                                                     !19
   93   197        ECHO                                                     !15
   95   198        ECHO                                                     !21
   97   199        ECHO                                                     !22
  101   200        INIT_FCALL                                               'header'
        201        SEND_VAL                                                 'Content-type%3A+image%2Fpng'
        202        DO_ICALL                                                 
  103   203        INIT_FCALL_BY_NAME                                       'imagepng'
        204        SEND_VAR_EX                                              !3
        205        DO_FCALL                                      0          
  105   206        INIT_FCALL_BY_NAME                                       'imagedestroy'
        207        SEND_VAR_EX                                              !3
        208        DO_FCALL                                      0          
  109   209    > > RETURN                                                   null
  111   210*     > RETURN                                                   null

End of function __draw

End of class DrawConnector.

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.16 ms | 1416 KiB | 27 Q