如何计算java.awt.geom.Area的面积?

如何计算java.awt.geom.Area的面积?,第1张

如何计算java.awt.geom.Area的面积

一种方法是使用合适的方法

fill()
分别缩放和变换
Shape
为不同的颜色,
AlphaComposite
并计算基础像素中的重叠像素
Raster

附录1:使用此计算器查看效果,

AlphaComposite.Xor
表明任意两种不透明颜色的间隔为零。

附录2:计数像素可能会导致性能问题;采样可能会有所帮助。如果每个

Shape
都是合理凸的,则有可能根据
intersect()
面积与
Shape
s’
的面积之和的比率来估计重叠
getBounds2D()
。例如,

Shape s1, s2 ...Rectangle2D r1 = s1.getBounds2D();Rectangle2D r2 = s2.getBounds2D();Rectangle2D r3 = new Rectangle2D.Double();Rectangle2D.intersect(r1, r2, r3);double overlap = area(r3) / (area(r1) + area(r2));...private double area(Rectangle2D r) {    return r.getWidth() * r.getHeight();}

您可能需要凭经验验证结果。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5487092.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-12

发表评论

登录后才能评论

评论列表(0条)

    保存