fork download
  1. <?php
  2. /**
  3.  * Created by PhpStorm.
  4.  * Date: 26.03.15
  5.  * Time: 15:01
  6.  */
  7.  
  8.  
  9. $phrase = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";
  10. $phraseLength = mb_strlen($phrase); // Количество букв
  11.  
  12. $fromAngle = -80;
  13. $toAngle = 260;
  14. $radius = 12.5;
  15.  
  16. $height = 30;
  17. $centerX = 40;
  18. $centerY = 15;
  19.  
  20. $screen = array();
  21. for($y = 0; $y < $height; $y++){
  22. $screen[$y] = array_fill(0,80,' ');
  23. }
  24.  
  25. $angelString = $toAngle - $fromAngle; // Общий угол для всей строки
  26. $distance = $angelString/$phraseLength; // Угол между буквами
  27. $angelChar = round($distance); // Угол первой буквы
  28.  
  29. for($i = 0; $i < $phraseLength; $i++) {
  30. $x = $centerX + round($radius * sin(deg2rad($angelChar))*2.1); // Координата X с подобранной погрешнастью
  31. $y = $centerY + round($radius * cos(deg2rad($angelChar))); // Координата Y
  32. $angelChar += $distance; // Переход к углу следующей букве
  33. $char = mb_substr($phrase,$i,1); // Получаем букву
  34. $screen[$y][$x]=$char; // Записываем букву в координаты X и Y
  35. }
  36.  
  37. foreach(array_reverse($screen) as $string){
  38. echo implode("",$string)."\n"; // Выводим буквы
  39. }
  40.  
  41.  
Success #stdin #stdout 0.02s 24400KB
stdin
Standard input is empty
stdout
                                                                                
                                                                                
                               Я             А   Б                              
                           Ю                         В                          
                                                                                
                       Э                                 Г                      
                    Ь                                       Д                   
                                                                                
                 Ы                                             Е                
                                                                                
               Ъ                                                 Ё              
                                                                                
              Щ                                                   Ж             
                                                                                
                                                                                
              Ш                                                   З             
                                                                                
              Ч                                                   И             
                                                                                
                Ц                                               Й               
                                                                                
                  Х                                           К                 
                                                                                
                     Ф                                     Л                    
                         У                             М                        
                             Т                     Н                            
                                 С    Р   П    О