易截截图软件、单文件、免安装、纯绿色、仅160KB

JAVA,如何判断点是否在面内?

首先面也是由一系列的点组成,比如,一个正方形。我们可以把它当成四个坐标点然后直线连接而成。
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内存溢出

内存溢出与数据库锁表的问题,可以说是开发人员的噩梦,一般的程序异常,总是可以知道在什么时候或是在什么操作步骤上出现了异常,而且根据堆栈信息也很容易定位到程序中是某处出现了问题。内存溢出与锁表则不然,一般现象是操作一般时间后系统越来越慢,直到死机,但并不能明确是在什么操作上出现的,发生的时间点也没有规 ......

java Timer 学习

Timer位于java.util下面,一般叫他java计时器。
javaAPI的解释如下:
一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。
先来看看效果:
1.设计计时器 
import java.io.IOException;
import java.util.Calendar;
import java.util.Timer;
public class TimerTest {
......

Java静态变量的初始化(static块的本质)

Java类中可以定义一个static块用于静态变量的初始化;当类的定义中不含有static块时,编译器会为该类提供一个默认的static块,前提
是存在静态变量的初始化操作;由于静态变量是通过赋值操作进行初始化的,因此可以通过静态函数返回值的方式为其初始化;类定义中可以存在多个static
块,而且在编译时编译器会将多个static ......

Java使用winrar解压缩

JAVA JDK中的解压缩似乎不能解压缩我们手工压缩的RAR文件,只能解压JDK中的API压缩的RAR
所以想出以下用WINRAR命令行方式的解压缩
package edu.nwpu.vcampus.util;
import java.io.File;  
 
public class ZipUtil {  
 
    public static final String winrarP ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号