请马上登录,朋友们都在花潮里等着你哦:)
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 马黑黑 于 2023-11-10 20:45 编辑
运行以下代码可以生成星形图案和图案的 path 路径,可以在线修改:① 行1的svg宽高;② 行7的圆心 c、大小圆半径 r1 和 r2、顶点数 num 和初始角度偏移量 angpy 制作自己所需要的图案。
<svg width="200" height="200">
<path id="mypath" d="M0 0 L200 200" fill="none" stroke="red" />
</svg>
<p><output id="pathMsg"></output></p>
<script>
let c = 100, r1 = 10, r2 = 95, num = 3, angpy = 0;
let points = [];
for(i = 0; i< num; i++) {
let angle = 360 / num * i + angpy;
let x1 = (c + Math.cos(angle * Math.PI / 180) * r1).toFixed(2),
y1 = (c + Math.sin(angle * Math.PI / 180) * r1).toFixed(2),
x2 = (c + Math.cos((angle + 360 / num / 2) * Math.PI / 180) * r2).toFixed(2),
y2 = (c + Math.sin((angle + 360 / num / 2) * Math.PI / 180) * r2).toFixed(2);
points.push([x1 + ' ' + y1], [x2 + ' ' + y2]);
}
let d = 'M' + points.join(',') + 'z';
mypath.setAttribute('d', d);
pathMsg.innerText = '路径:' + d;
</script>
|