android中计算多边形的面积
2017-04-20 16:12
197 查看
List<PointXY> list :保存的 是点的坐标
public float caculate(List<PointXY>list){ float temp=0; for (int i=0;i<list.size();i++){ if (i<list.size()-1){ PointXY p1 = list.get(i); PointXY p2 = list.get(i+1); temp += p1.getX() * p2.getY() - p2.getX() * p1.getY(); }else { PointXY pn = list.get(i); PointXY p0 = list.get(0); temp += pn.getX() * p0.getY() - p0.getX() * pn.getY(); } } temp=temp/2; List<Float> area = getScreenSizeOfDevice(); temp=(temp/area.get(0))*area.get(1)*2.54f; Log.d(TAG, "画图的面积 : "+temp); return temp; } private List<Float> getScreenSizeOfDevice(){ List<Float> list02 = new ArrayList<Float>(); Point point = new Point(); getWindowManager().getDefaultDisplay().getRealSize(point); DisplayMetrics dm = getResources().getDisplayMetrics(); float area = point.x * point.y;//得到像素面积, Log.d(TAG, "屏幕的总像素面积: "+area); list02.clear(); list02.add(area); double x = Math.pow(point.x / dm.xdpi, 2); double y = Math.pow(point.y/ dm.ydpi,2); double screenInches = Math.sqrt(x+y);//得到尺寸大小 list02.add((float)(x * y));//得到手机屏幕的物理面积 Log.d(TAG, "屏幕尺寸大小: "+screenInches); return list02; }}public class PointXY { public float X; public float Y; public PointXY(){ this.X=0; this.Y=0; } public PointXY(float x, float y) { X = x; Y = y; } public float getX() { return X; } public void setX(float x) { X = x; } public float getY() { return Y; } public void setY(float y) { Y = y; } }
相关文章推荐
- 测量坐标系中单个多边形面积解析法计算的程序源代码
- 绘制多边形并计算其面积的一个demo
- 多边形(n边形)面积计算公式hdu2036
- 计算多边形的面积
- POJ 1654 Area (计算多边形面积)
- 不规则多边形面积计算
- POJ1645-Area(简单多边形面积计算)
- 摘:向量叉乘_计算多边形面积_算法模板
- 计算多边形面积(JAVA)
- 【1级裸装没点技能点的计算几何】任意多边形面积-HDU2036
- 经纬度坐标下的球面多边形面积计算公式
- poj 1654 多边形面积计算
- 公布计算任意多边形相交部分的面积的方法
- 计算多边形面积 绿色
- 叉乘求任意多边形(凹凸皆可)面积 (属于计算几何类型)
- 计算多边形的面积
- 多边形面积计算
- 计算几何_判断多边形是否存在,及面积大小
- poj 1654 多边形面积计算
- VBA之计算选中多边形的面积