已知一个圆的直径(200)和圆心坐标(100,100),要把这个圆平均分成8份,如何求得 8个分割点的坐标?

解决方案 »

  1.   

    已知一个圆的直径(200)和圆心坐标(x=100,y=100),要把这个圆平均分成8份,如何求得 8个分割点的坐标?
    刚才问朋友得到以下这个公式,当搞不清哪个是X ,哪个是Y
    (
    100+100*sin(N*PI/4), 前100 是X还是Y?
    100+100*Cos(N*PI/4) 前100 是X还是Y?
    )
      

  2.   

    这个不难啊。
    <canvas id="canvas" width="400" height="400"></canvas>
    <script>
    void function() {
    /**
     * 绘制圆形
     * @param{CanvasRenderingContext2D} content 绘制区
     * @param{number} x, y 中心区
     * @param{number} radial 半径
     */
    function drawEllipse(context, x, y, radial) {
    context.beginPath();
    context.arc(x, y, radial, 0, 2 * Math.PI, true);
    context.closePath();
    context.stroke();
    } var canvas = document.getElementById("canvas");
    var context = canvas.getContext("2d");
    var x = 100, y = 100;
    var radial = 50;
    context.strokeStyle = "red";
    drawEllipse(context, x, y, radial);
    var count = 8;
    var tr = 60;
    context.beginPath();
    for (var i = 0; i < count; i++) {
    var angle = 2 * Math.PI * (i / count); // 角度
    var tx = x + Math.cos(angle) * tr;
    var ty = y + Math.sin(angle) * tr;
    context.strokeStyle = "blue";
    drawEllipse(context, tx, ty, tr - radial);
    }
    }();
    </script>http://jsfiddle.net/zswang/YRXvf/