情况一:
白色线的圆,将其四等份,变成四个扇形
第一个扇形是右上角,依次为右下角,左下角,左上角
在处理第一个扇形的时候,我会画一条垂直的线,从图中的样子看就是从90°到A点那里的这条线
这个时候我要知道B点的坐标位置,当我知道了B点的坐标位置时,又以B点作为基础画一个扇形
找到C点的坐标位置,以此类推
情况二 :
将图中的圆,划为三等分,画图顺序和【情况一】一样,都是先画了一条边
然后要知道扇形另一条边的X,Y坐标
现在就是困在这个地方,求一个公式,JS代码。
<!DOCTYPE html>
<html>
<head>
<title>圆角坐标</title>
<meta charset="utf-8"/>
</head>
<body>
<p></p>
<script type="text/javascript">
function cal (x,y,r,n) {
var res = [];
var th = n*2*Math.PI/360;
for (var i = 0; ; i++) {
if (n*i<360) {
point = "("+(x+r*Math.sin(th*i))+","+(y-r*Math.cos(th*i))+")";
res.push(point);
}else{
break;
}
};
document.getElementsByTagName('p')[0].innerHTML = res;
}
window.onload = function(){
var x = 300;
var y = 300;
var r = 100;
var n = 120;
cal(x,y,r,n);
}
</script>
</body>
</html>
个人感觉这样应该可以完成,x、y、r、n都是可以改的,限定旋转在一圈以内。
简单起见,我用复数表示边,不懂的反思自己高中是怎么过的
一个复数(x0,y0)逆时针旋转120度,相当于和(-1/2, 根号3/2)作乘法,因此用复数乘法公式可求出下一条边。再求一次乘法,则可得第三边