首先面也是由一系列的点组成,比如,一个正方形。我们可以把它当成四个坐标点然后直线连接而成。

java.awt.geom.GeneralPath为我们实现的这个画线的功能。

下面用一个简单的例子来画一个面

/**
* 将经纬度点集合转换为GeneralPath对象
*
* @param points 点集合(有序)
*
* @return GeneralPath对象
*/
public static GeneralPath genGeneralPath(ArrayList<Point2D.Double> points) {GeneralPath path = new GeneralPath();if (points.size() < 3) {return null;}path.moveTo((float) points.get(0).getX(), (float) points.get(0).getY());for (Iterator<Point2D.Double> it = points.iterator(); it.hasNext();) {Point2D.Double point = (Point2D.Double) it.next();path.lineTo((float) point.getX(), (float) point.getY());}path.closePath();return path;
}

其中。points是一系列坐标点的集合。我们可以用

Point2D.Double point= new Point2D.Double(x,y);生成新的坐标点

moveTo方法:通过移动到指定的坐标在路径中添加点

直接用

lineTo:通过绘制一条从当前坐标到新指定坐标的直线在路径中添加点。

这样每加一个点。我们就用上一个点到这个点画条直线。这样就成功的画好了一个面了。

然后,我们判读点是否在该面中

GeneralPath类的contains方法就可以了。真的非常方便

JAVA,如何判断点是否在面内相关推荐

  1. java实现判断给定点是否在指定区域内的判断

    直接上代码 /*主要算法,判断给定坐标是否在指定区域内      * 参数:入参经度列,纬度列,经度,纬度:出参true-false      * step1:取4个最值,先判断点与最值的位置关系   ...

  2. 判断一点是否在多边形内(附Java实现代码)

    引射线法:从目标点出发引一条射线,看这条射线和多边形所有边的交点数射线法 时间复杂度:O(n) 适用范围:任意多边形 个人认为是非常不错的算法(不需考虑精度误差和多边形点给出的顺序),可以作为第一选择 ...

  3. java 时间判断大小_java判断时间大小

    //构造日期格式yyyy-MM-NN SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); Date d ...

  4. JAVA判断当前时间在时间范围内

    我们在日常开发的时候肯定有围绕时间选择的一些功能, 今天给大家分享一个java如何判断当前时间是否在所选择时间范围内的一个小demo public static void main(String[] ...

  5. 射线法判断点是否在多边形内-JAVA

    1.定义点 public class Point {private BigDecimal x;private BigDecimal y;public Point() {};@Overridepubli ...

  6. java 简化判断_简化Java内存分析

    java 简化判断 作为一名典型的Java开发人员,除了遵循关闭连接,流等典型的最佳实践外,我从未监视过应用程序的内存使用情况.最近,我们在JBoss服务器中遇到了一些问题,不得不深入研究内存管理Ja ...

  7. Java File文件流读取文件夹内的文件并替换文件内容

    Java File文件流读取文件夹内的文件并替换文件内容 一.前言 二.代码 三.运行结果 一.前言 批量读取文件夹内的文件,并替换各个文件的内容 二.代码 新建一个普通 Java 项目就可以,创建文 ...

  8. java 计算 点是否在电子围栏范围内

    java计算坐标点是否在电子围栏范围内 ps:注意坐标系转换 /*** 地球半径*/private static double EARTH_RADIUS = 6378138.0;private sta ...

  9. 项目5 判断点是否在圆内

    项目5 判断点是否在圆内 请编写一个Java应用程序,判断给定的平面点坐标(x1,y1)是否在一个指定半径的圆内.程序先请求输入圆的半径,再请求输入点的x坐标和y坐标,然后给出判断点是否在圆内并打印输 ...

最新文章

  1. gdb调试多进程和多线程命令 .
  2. 《UNIXLinux程序设计教程》一第2章-2.0 标准输入输出
  3. 【Opencv实战】这个印章“神器”够牛,节省了时间提高了效率,厉害~(附完整源码)
  4. 设计模式(三):观察者模式与发布/订阅模式区别
  5. 多文档版的的正则表达式工具
  6. pass information between XXX.Aspx and XXX.Aspx.cs
  7. 网络名称 转换 网络地址_网络地址转换| 计算机网络
  8. lz4压缩算法--速度之王
  9. Efficient Inference in Fully Connected CRFs with Gaussian Edge Potential
  10. 打开多个Excel2010文档在同一个窗口中显示问题如何解决
  11. 基于SSM的商旅系统
  12. Blender快捷键设置
  13. CodeSmith简单示例
  14. Vue2.0 响应式原理 通俗易懂
  15. Unity UGUI屏幕自适应
  16. 张俊 中国科技大学 计算机,张俊-中国科学院大学-UCAS
  17. 泰坦之路手机版怎么登陆服务器未响应,泰坦之旅一直登入不进去怎么办
  18. yyyy/mm/dd变成yyyy-mm-dd
  19. android studio改字体,在Android Studio中更改字体样式的不同方法有哪些
  20. lij IDEA快速编写代码

热门文章

  1. 跨境独立站卖家如何把握关键词优化?
  2. 第一章踏上python之旅_仙侠旅人传
  3. Leetcode每日一题:86.partition-list(分割列表)
  4. CCF 2013-12-2 ISBN号码
  5. sigmoid函数手动求导
  6. 蓝桥杯 算法训练 K好数
  7. 西瓜书+实战+吴恩达机器学习(六)监督学习之逻辑回归 Logistic Regression
  8. 吴恩达机器学习总结二:单变量线性回归
  9. Python3爬虫入门之selenium库的用法
  10. 【葫芦娃团队】无人转会申请