Алгоритм Spiral

  1. float maxRadius = getWidth() / 2;
  2. int xPos = getWidth() / 2, yPos = getHeight() / 2;
  3.  
  4. // с этими константами можно поэксперементировать
  5. final float count = 255.0f;  // Кол-во точек  
  6. float angle = 91.1062f ; // стартовый угол
  7.  
  8. private void updateSpiral(Graphics g) {
  9.     g.setColor(0x00);
  10.     g.fillRect(0, 0, getWidth(), getHeight()); // Стираем всё
  11.         for (int i = 0; i < count; i++) {
  12.            float radius= (float) (maxRadius * Math.sqrt(i / count)) ;
  13.            float theta = angle * i;
  14.            int x = (int) (xPos + radius * Math.cos(theta)) ;
  15.            int y = (int) (yPos + radius * Math.sin(theta)) ;
  16.            g.setColor(0xFFFFFF);
  17.            g.drawLine( x, y, x, y);
  18.         }  
  19.     angle = angle + 0.0001f;
  20. }
Рисует точки,бесконечно скручивая в спираль.

Реклама

Мы в соцсетях

tw tg yt gt