<!doctype html> <html> <head> <style> canvas { width: 800px; height: 800px; border: 1px solid red; } </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.17/paper-full.js"></script> <script type="text/paperscript" canvas="myCanvas"> var g= new Group(); var path= new Path.Circle({center:view.center,radius:50,strokeColor:"black"}); var pathData="M"; var x=0,y=0; var dx=0,dy=0; var t=0; var arr=[]; for (var t=0;t<6.28;t +=.1){ var x=4*Math.pow(Math.cos(t),3)*50; var y=4*Math.pow(Math.sin(t),3)*50; arr.push([x,y]); } for (var i=0;i<arr.length;i++){ for (var j=0;j<arr[j].length;j++){ pathData +=arr[i][j]+" "; } } console.log(pathData); var path2= new Path(pathData); path2.strokeColor="red"; path2.position=view.center; path2.smooth(); console.log(path2.pathData); path2.scale(1,-1,view.center.x,view.center.y);// var point1=path2.getPointAt(path2.length*.125); var point2=path2.getPointAt(path2.length*.135); dx=point2.x-point1.x; dy=point2.y-point1.y; var circle1= new Path.Circle({center:point1,radius:3,strokeColor:"black"}) var rect1= new Path.Rectangle({point:point1,size:[-point1.x+view.center.x,dy]}); rect1.strokeColor="black"; rect1.fillColor="gray"; var rect2= new Path.Rectangle({point:point1,size:[dx,-point1.y+view.center.y]}); rect2.strokeColor="green"; rect2.fillColor="green"; g.addChild(path2); var text1= new PointText(view.center-[300,200]); text1.content="half integrate x dy - y dx from 0 to 2*pi "; text1.fontSize=34; function onMouseDown(event){ var time=event.count%60/60; console.log(t); var point1=path2.getPointAt(path2.length*time); var point2=path2.getPointAt(path2.length*time); dx=point2.x-point1.x; dy=point2.y-point1.y; var circle1= new Path.Circle({center:point1,radius:3,strokeColor:"black"}) var rect1= new Path.Rectangle({point:point1,size:[-point1.x+view.center.x,dy]}); rect1.strokeColor="black"; rect1.fillColor="gray"; var rect2= new Path.Rectangle({point:point1,size:[dx,-point1.y+view.center.y]}); rect2.strokeColor="green"; rect2.fillColor="green"; g.addChild(path2); } </script> </head> <body> <h1>What do you think of the figure below?</h1> <p>just Click continuously!</p> <canvas id="myCanvas"></canvas> <svg id="svg1"></svg> </body> </html>
What do you think of the figure below?
just Click continuously!
반응형
'svg' 카테고리의 다른 글
paper.js eigenvalue,eigenvector: (1) | 2024.04.28 |
---|---|
svg paper.js quadrant : (0) | 2024.04.21 |
svg paper.js cycloid: (0) | 2024.03.22 |
svg paper.js epicycloid & hypocycloid : astroid and quatrefoiloid (0) | 2024.03.22 |
svg paper.js epicycloid : circles (0) | 2024.03.21 |