⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 polygon.java

📁 linux下用于移动节点的移动活动生成工具
💻 JAVA
字号:
package de.uni_stuttgart.informatik.canu.spatialmodel.geometry;

/**
 * <p>Title: Spatial Model</p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: University of Stuttgart</p>
 * @author Illya Stepanov
 * @version 1.1
 */

/**
 * This class implements a closed line connecting several points
 * @author Illya Stepanov 
 */
public class Polygon extends Polyline
{
  /**
   * Constructor
   */
  public Polygon()
  {
  }

  /**
   * Checks if this polygon contains another point. <br>
   * <br>
   * @param p point being checked
   */
  public boolean contains(Point p)
  {
    boolean res = false;
    int sz = points.size();
    for (int i=0, j=sz-1; i<sz; j=i++)
    {
      Point point_i = (Point)points.get(i);
      Point point_j = (Point)points.get(j);
      if ( (((point_i.getY()<=p.getY())&&
             (p.getY()<point_j.getY())) ||
            ((point_j.getY()<=p.getY())&&
             (p.getY()<point_i.getY()))) &&
           (p.getX()<(point_j.getX()-point_i.getX())*
            (p.getY()-point_i.getY())/(point_j.getY()-point_i.getY())+point_i.getX()) )
      {
        res = !res;
      }
    }

    return res;
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -