long a = 0; for(int i = 0;i < pgn.npoints;i++){ a += (long)(pgn.xpoints[i-1<0?pgn.npoints-1:i-1]- pgn.xpoints[i+1>=pgn.npoints?0:i+1])*pgn.ypoints[i]; } double area = -a/2.0;
≪ ポリゴンの重心を求める | Javaテクニカルサンプル集 | アップレットに小さい子ウィンドウ(JPanel) ≫
FC2Ad
この人とブロともになる
このブログをリンクに追加する