如何使用javascript代码中的笛卡尔坐标计算多边形面积?

时间:2015-08-29 05:55:25

标签: javascript math equation

如何编写数学方程式交叉积的javascript代码来计算面积?   交叉产品计算面积如下图所示: http://mathworld.wolfram.com/PolygonArea.html 任何一个例子?

1 个答案:

答案 0 :(得分:1)

试试这个并提及是否需要任何解释。我还没有测试它,所以尝试几个输入并确保它正常工作。 (当然这可能很有效,但我写的很容易理解)

<script>       
    var n = prompt("Please enter the value of n in your equation:");
    var arrayOfx=[], arrayOfy = [];

    for (var i= 1;i <= n;i++ ){

        temp = prompt("Please enter the value of x"+ i +" in your equation:");
        arrayOfx.push(temp)

        temp = prompt("Please enter the value of y"+ i +" in your equation:");
        arrayOfy.push(temp)
    }

    area = 0;
    for (var i=0; i < n-1;i++){

        area +=arrayOfx[i]* arrayOfy[i+1] - arrayOfy[i]* arrayOfx[i+1] 
    }

    if (n >2){
        area += arrayOfx[n-1]*arrayOfy[0]- arrayOfy[n-1]*arrayOfx[0]

    }

    alert("The area is "+ area/2);

</script>

负面区域将显示负值。如果你想要肯定的话,可以添加Math.abs(区域)。