БлогNot. Крылья будущего

Крылья будущего

Основная статья по теме вот здесь, а это просто отдельный огрызок по отдельной проблеме :)

Крылья будущего
Крылья будущего

Курилья Крылья будущего, ето и считайте "спиралелётом времени" кто спрашивал, все веса десятичны, на медленном компе картинка может строиться скриптом несколько секунд, играться с коэффициентами в прилагаемом листинге можно и нужно (файл .html в кодировке Юникода UTF-8).

<!DOCTYPE html>
<html lang="ru">
<head>
 <meta charset="UTF-8">
 <title>FlyerWings</title>
 <style>
  html, body { margin: 0; padding: 0; overflow:hidden; }
  body { background-color: #000000; }
 </style>
</head>
<body>

 <canvas id="spiralCanvas"></canvas>
 <script>
  let canvas = document.getElementById("spiralCanvas");
  canvas.width = window.innerWidth;
  canvas.height = window.innerHeight;
  let ctx = canvas.getContext("2d");
  let XMax = canvas.width / 2;
  let YMax = canvas.height / 2;
  let Max = Math.min(XMax,YMax);

  function drawSpiral () {
   function pad2 (i) { return String("0" + i).slice(-2); }
   let r1 = Max / 5;
   let x = Max*3, y = Max;
   for (let i = 0; i <= Math.PI * 100; i += 0.0005) {
    let	r = r1 + i * i * Math.pow(Math.sin(i * 2.005),2) / Max;
    let x0 = r * Math.cos(i) + x - i * 1.05;
    let y0 = r * Math.sin(i) + y; 
    let x1 = r * Math.cos(i) + x - i * 1.15;
    let y1 = r * Math.sin(i) + y;
    let R = pad2(Math.floor(Math.abs(256 * Math.sin(r / 16))).toString(16));
    let G = pad2(Math.floor(Math.abs(255 - Math.sin(i * 16) * 256)).toString(16));
    let B = pad2(Math.floor(Math.abs(255 - i * r * 0.001)).toString(16));
    let color = '#'+R+G+B;
    ctx.strokeStyle = color;
    ctx.beginPath();
    ctx.moveTo(x0, y0);
    ctx.lineTo (x1, y1);
    x0 = x1; y0 = y1;
    ctx.stroke();
   }
  }

  drawSpiral ();       
 </script>
 <noscript>
  <div align="center">
   Извините, для работы приложения нужен включённый Javascript
  </div>
</noscript>
 
</body></html>

Реальные законы интернета, может, когда продолжим вразброс по постам

1. Если цитируете, цитируйте полностью и не стесняйтесь драть контент. Уже через 7-8 лет сайта, на который вы ссылаетесь, в Сети не будет. Таковы средние сроки жизни любого интернет-проекта.

2. Самую большую фигню люди постят, когда они вынуждены делать это периодически

3. Единственный способ считаться со вкусом посетителей - полностью класть на их вкусы

04.01.2020, 23:05 [1462 просмотра]


теги: javascript картинка графика маразм афоризмы

К этой статье пока нет комментариев, Ваш будет первым