Advertisement
lemansky

Untitled

Dec 13th, 2021
1,082
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.06 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <title>Document</title>
  6.     <script type="text/javascript">
  7.         document.addEventListener("DOMContentLoaded", function(){
  8.             let canvas = document.getElementById('canvasId')
  9.             let context = canvas.getContext("2d")
  10.             // за да опишем една окръжност с 10 фигури е необходимо да въртим 36 градуса спрямо всяка точка
  11.             context.fillStyle = "firebrick";
  12.             context.translate(canvas.width / 2, canvas.height / 2); // преместваме горния ляв ъгъл, който е начало на канвас да бъде в центъра, т.е. старите координати 400, 400 (при width = 800, height = 800) вече ще са 0,0
  13.             context.rotate(18 * Math.PI / 180); // предварително завъртаме на 18 градуса цялото платно за да получим позицията на първия кръг (може да се пропусне като стъпка)
  14.  
  15.             context.strokeStyle = 'red';
  16.             context.moveTo(0, 0);
  17.             context.lineTo(0, 200); // в зависимост колко отстояние между отделните окръжности е необходимо (в случая 4 пъти радиуса)
  18.             context.stroke();
  19.  
  20.             for (let i = 0; i < 10; i++) {
  21.                 context.rotate(36 * Math.PI / 180); // спрямо новия център въртим целия канвас и рисуваме окръжности на всяка стъпка в една и съща точка 0, 200 но след завъртане тя е на друга позиция в страницата
  22.                 context.beginPath();
  23.                 context.arc(0, 200, 50, 0, 2 * Math.PI);
  24.                 context.fill();
  25.             }
  26.            
  27.  
  28.         });
  29.     </script>
  30.     <style type="text/css">
  31.         #canvasId{
  32.             background: gold;
  33.         }
  34.     </style>
  35. </head>
  36. <body>
  37.     <canvas width="800" height="800" id="canvasId"></canvas>
  38. </body>
  39. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement