gpt4 book ai didi

javascript - 绘制内接于圆的正多边形

转载 作者:行者123 更新时间:2023-12-02 16:02:30 27 4
gpt4 key购买 nike

我正在尝试绘制内切于给定中心(x,y)和半径(r)的圆的正多边形(正方形和等边三 Angular 形)。我正在使用 raphael.js。

这是我绘制内接正方形的函数:

function draw_square(x,y,radius){
var side= radius*(Math.sqrt(2));
var x = x - (side/2);
var y = y - (side/2);
var square= paper.rect(x, y, side, side);
}

任何人都可以阐明如何绘制等边三 Angular 形(内接于给定的圆)吗?

最佳答案

我第一次使用 raphael,所以你必须从以下内容中提取你需要的内容:

<html>
<body>
<div id="paper"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/raphael/2.1.4/raphael-min.js"></script>
<script>
var paper = new Raphael(document.getElementById('paper'), 256, 256);
var x = 128, y = 128, r = 64, n = 9;
paper.circle(x, y, r);
var xx, yy, i, a, pathString = "";
for (i = 0; i <= n; ++i) {
a = ((4 * Math.PI * i) + (Math.PI * n) + (2 * Math.PI)) / (2 * n);
xx = x + r * Math.cos(a);
yy = y + r * Math.sin(a);
pathString += (i == 0 ? "M " : " L ") + xx + " " + yy;
}
pathString += " z";
paper.path(pathString);
</script>
</body>
</html>

编辑:重构为使用 var a,并始终具有水平底座。

关于javascript - 绘制内接于圆的正多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31064473/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com