【问题标题】:Surface area of a Path2d enclosed shapePath2d 封闭形状的表面积
【发布时间】:2013-10-13 02:28:43
【问题描述】:

我需要确定正确封闭的 Path2d(形状)内的正确区域,该区域可以包含曲线段、线段等。

Area 类处理联合、减法等,(我很惊讶)并没有为您提供复杂形状的表面积。

【问题讨论】:

    标签: java path area


    【解决方案1】:

    编写自己的方法并在需要时使用它们

    例如:


    三角形的面积等于:

    public double getArea() {
        double area = 0.0;
        double halfPerimeter = getPerimeter() ;
        area = Math.sqrt(halfPerimeter*(halfPerimeter-side[0])*
        (halfPerimeter-side[1])*(halfPerimeter-side[2])) ;
        return area;
    }
    

    以及的面积:

    public double getArea() {
        double area = 0.0;
        area = (Math.PI * Math.pow((diameter/2),2 ));
        return area;
    }
    

    等等..

    【讨论】:

    • 这并没有回答问题,即如何找到复杂形状的面积。
    • 我认为,对于每一种形状——即使是复杂的形状——我们都有一种方法可以从数学上得到它的面积,我展示了两个二维形状的例子来说明这一点。
    • 感谢 iShaalan。如果我错了,请纠正我 - 您只是说区分 Path2d 的每个段,然后对每个分段形状进行计算,但 VGR 是正确的,因为复杂形状中可能存在重叠区域(区域)。这就是你的方法会失败的地方。
    • 我的想法是,如果形状的面积可以通过数学方法得到,那么我们可以将其转换为代码..似乎我没有正确回答您的问题..抱歉:)跨度>
    • 没有道具 - 你在正确的轨道上,但你的例子只解决了它的一部分。我只是想自己解决这个问题。我的想法是使用 PathIterator 遍历 Path2d 并应用上面提到的方法(这是困难的部分)确定 Path2d 内的曲线是否属于复杂形状区域的天气。这应该允许最后一步,可以在计算中添加或减去弯曲区域。希望这是有道理的。
    猜你喜欢
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 2014-04-10
    • 1970-01-01
    • 2018-10-06
    相关资源
    最近更新 更多