📄 polygon.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 + -