亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? polygon.java

?? 坦克游戲
?? JAVA
字號(hào):
/*
 * Created on 2005-1-9
 *
 * shape
 */
package shape;

import java.util.StringTokenizer;

/**
 * @author AnSen
 * 
 * Polygon
 */
public class Polygon extends MShape {
	public boolean isFill = false;

	public double[] xdps;

	public double[] ydps;

	public double[] angls;

	public double[] radius;

	public int npoints = 0;
	
	private double centerX, centerY;

	/**
	 * @param xpoints
	 * @param ypoints
	 * @param npoints
	 * @param isFill
	 * @param centerX
	 * @param centerY
	 */
	public Polygon(double[] xpoints, double[] ypoints, int npoints,
			boolean isFill, double centerX, double centerY) {

		this.centerX=centerX;
		this.centerY=centerY;
		
		xdps = xpoints;
		ydps = ypoints;

		this.npoints = npoints;
		this.isFill = isFill;

		angls = new double[npoints];
		radius = new double[npoints];

		double dhlHeight, dhlWidth;

		for (int i = 0; i < npoints; i++) {
			dhlHeight = ypoints[i] - centerY;
			dhlWidth = xpoints[i] - centerX;

			angls[i] = Math.atan2(dhlHeight, dhlWidth);
			radius[i] = Math.sqrt(dhlHeight * dhlHeight + dhlWidth * dhlWidth);
		}
	}
	
	public java.awt.Polygon getAwtPolygon(int left,int top){
		int[] xpoints = new int[npoints];
		int[] ypoints = new int[npoints];
		for (int i = 0; i < npoints; i++) {
			xpoints[i] = (int)Math.ceil(xdps[i] - left);
			ypoints[i] = (int)Math.ceil(ydps[i] - top);
		}
		java.awt.Polygon plg=new java.awt.Polygon(xpoints,ypoints,npoints);
		return plg;
	}

	public void setLocation(double x, double y, int i) {
		xdps[i] = x;
		ydps[i] = y;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see shape.IShape#setLocation(double, double)
	 */
	public void setLocation(double x, double y) {
		offset(x, y);

	}

	public void offset(double x, double y) {
		for (int i = 0; i < npoints; i++) {
			xdps[i] += x;
			ydps[i] += y;
		}
		centerX+=x;
		centerY+=y;
	}

	public void addPoint(int x, int y) {
		if (npoints == xdps.length) {
			double tmp[];

			tmp = new double[npoints * 2];
			System.arraycopy(xdps, 0, tmp, 0, npoints);
			xdps = tmp;

			tmp = new double[npoints * 2];
			System.arraycopy(ydps, 0, tmp, 0, npoints);
			ydps = tmp;
		}
		xdps[npoints] = x;
		ydps[npoints] = y;
		npoints++;
	}

	private void arrayCopy(int[] src, double[] dec, int size) {
		if (src.length < size || dec.length < size) {
			System.err.println("error array from shape.Polygon");
			return;
		}
		for (int i = 0; i < size; i++) {
			dec[i] = src[i];
		}
	}

	private void arrayCopy(double[] src, int[] dec, int size) {
		if (src.length < size || dec.length < size) {
			System.err.println("error array from shape.Polygon");
			return;
		}
		for (int i = 0; i < size; i++) {
			dec[i] = (int) Math.ceil(src[i]);
		}
	}

	public void rotate(double dDir, double centerX, double centerY) {
		for (int i = 0; i < npoints; i++) {
			xdps[i] = centerX + Math.cos(dDir + angls[i]) * radius[i];
			ydps[i] = centerY + Math.sin(dDir + angls[i]) * radius[i];
		}
	}

	public void move(double dDirect, double dDistance) {
		double offsetX=Math.cos(dDirect) * dDistance;
		double offsetY=Math.sin(dDirect) * dDistance;
		for (int i = 0; i < npoints; i++) {
			setLocation(xdps[i] + offsetX, ydps[i] + offsetY, i);
		}
		centerX+=offsetX;
		centerY+=offsetY;
	}

	public static Polygon parsePolygon(String src) {
		StringTokenizer stk = new StringTokenizer(src, " ");
		StringTokenizer stkPt;
		Polygon polObj = null;
		int i = 0;
		int npoints = stk.countTokens();
		double[] xpoints = new double[npoints];
		double[] ypoints = new double[npoints];
		while (stk.countTokens() > 0) {
			stkPt = new StringTokenizer(stk.nextToken(), ",");
			if (stkPt.countTokens() != 2) {
				return null;//error points
			}
			xpoints[i] = Double.parseDouble(stkPt.nextToken());
			ypoints[i] = Double.parseDouble(stkPt.nextToken());
			//System.out.println(xpoints[i]+","+ypoints[i]);
			i++;
		}
		try {
			polObj = new Polygon(xpoints, ypoints, npoints, false, 0, 0);
		} catch (Exception e) {/* ignore */
		}
		return polObj;
	}

	/*
	 * (non-Javadoc)
	 * 
	 * @see shape.IShape#isAcross(double, double, double, double)
	 */
	public boolean isAcross(double x1, double y1, double x2, double y2) {
		for (int k = 0; k < npoints - 1; k++) {
			if (isLineAcross(x1, y1, x2, y2, 
					xdps[k], ydps[k], xdps[k + 1],ydps[k + 1])) {
				return true;
			}
		}
		if (isLineAcross(x1, y1, x2, y2, 
				xdps[npoints - 1], ydps[npoints - 1],xdps[0], ydps[0])) {
			return true;
		}
		return false;
	}
	
	public Rectangle getBoundBox(){
		double x=Integer.MAX_VALUE;
		double y=Integer.MAX_VALUE;
		double width,height;
		double maxX=0,maxY=0;
		for(int i=0;i<npoints;i++){
			if(x>xdps[i]){
				x=xdps[i];
			}
			if(y>ydps[i]){
				y=ydps[i];
			}
			if(maxX<xdps[i]){
				maxX=xdps[i];
			}
			if(maxY<ydps[i]){
				maxY=ydps[i];
			}
		}
		width=maxX-x;
		height=maxY-y;
		Rectangle rect=new Rectangle(x,y,width,height,false);
		return rect;
	}
	
	
	/* (non-Javadoc)
	 * @see shape.IShape#isConatin(shape.IShape)
	 */
	public boolean isConatin(IShape shape) {
		Rectangle rect=null;
		Rectangle myRect=this.getBoundBox();
		if(shape instanceof Polygon){
			Polygon pshp=(Polygon)shape;
			rect=pshp.getBoundBox();
		}else if(shape instanceof Rectangle){
			rect=(Rectangle)shape;
		}
		if(rect.x>myRect.x&&rect.y>myRect.y&&
				rect.width<myRect.width&&rect.height<myRect.height){
			return true;
		}else{
			return false;
		}
	}
	
	public Polygon cloneShape(){
		double[] xpoints=new double[npoints];
		double[] ypoints=new double[npoints];
		System.arraycopy(xdps,0,xpoints,0,npoints);
		System.arraycopy(ydps,0,ypoints,0,npoints);
		return new Polygon(xpoints,ypoints,npoints,false,centerX,centerY);
	}
	
	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品18久久久久久久久久久久 | 亚洲国产成人自拍| 中文字幕欧美日本乱码一线二线 | 国产曰批免费观看久久久| 国产蜜臀97一区二区三区| 欧美日韩国产中文| 成人动漫一区二区三区| 久久国产精品99精品国产| 中文字幕日韩一区二区| 91精品国产手机| av亚洲精华国产精华精| 老司机一区二区| 天天综合天天做天天综合| 国产精品免费久久| 精品av综合导航| 91精品国产欧美日韩| 欧美亚洲动漫制服丝袜| 成人av影视在线观看| 国内成人免费视频| 六月婷婷色综合| 亚欧色一区w666天堂| 17c精品麻豆一区二区免费| 久久免费视频色| 国产午夜亚洲精品不卡| 久久麻豆一区二区| 久久久美女毛片| 国产亚洲精品超碰| 国产精品美女久久福利网站| 国产午夜精品一区二区三区四区| 日韩精品一区二| 精品欧美乱码久久久久久1区2区| 欧美群妇大交群中文字幕| 欧美精品视频www在线观看| 欧美色偷偷大香| 精品少妇一区二区三区免费观看| 精品处破学生在线二十三| 久久毛片高清国产| 亚洲欧美另类小说| 午夜电影一区二区三区| 狠狠色丁香婷婷综合| 风间由美中文字幕在线看视频国产欧美 | 久久久久久久久久久久久久久99| 国产欧美一区二区精品性色超碰| 国产视频视频一区| 久久爱www久久做| 麻豆精品在线视频| 亚洲激情五月婷婷| 欧美国产一区二区| 欧美日韩色一区| 国产一区二区三区免费| 日韩精品乱码av一区二区| 精品夜夜嗨av一区二区三区| 波多野结衣亚洲| 8v天堂国产在线一区二区| 国产精品国产精品国产专区不片| 一区二区三区成人| 成人激情电影免费在线观看| 日韩三级视频中文字幕| 亚洲主播在线观看| 粉嫩绯色av一区二区在线观看| 91蝌蚪porny九色| 精品国产免费久久| 亚洲成人av电影在线| 不卡欧美aaaaa| 久久久久久综合| 蜜臀av一区二区在线免费观看| 欧美性欧美巨大黑白大战| 色综合天天综合| 国产成人三级在线观看| 国产iv一区二区三区| 99久久免费精品高清特色大片| 欧美自拍丝袜亚洲| 久久久精品国产免大香伊| 一区二区激情小说| 国产99精品在线观看| 日韩欧美在线网站| 亚洲欧美日韩人成在线播放| 国产精品萝li| 美国十次综合导航| 欧美日韩国产在线观看| 国产精品精品国产色婷婷| 日韩免费观看高清完整版| 亚洲少妇最新在线视频| 国产suv精品一区二区三区| 国产一区二区三区| 日本韩国精品在线| 国产精品久久久久久久久久久免费看 | 国产精品综合av一区二区国产馆| 久久精品72免费观看| 欧美猛男gaygay网站| 亚洲少妇中出一区| 91蝌蚪porny九色| 久久精品一区八戒影视| 国产二区国产一区在线观看| 成人一区在线观看| 国产精品久久久久久久久久久免费看 | 欧美中文字幕一区| 日本韩国一区二区三区视频| kk眼镜猥琐国模调教系列一区二区| 在线观看网站黄不卡| 日本视频在线一区| 欧美人体做爰大胆视频| 天天操天天色综合| 中文字幕在线播放不卡一区| 成人激情小说网站| 欧美国产日韩在线观看| 久久国产精品色| 精品国产露脸精彩对白| 麻豆专区一区二区三区四区五区| 欧美日韩和欧美的一区二区| 青娱乐精品在线视频| 欧美剧情电影在线观看完整版免费励志电影| 亚洲午夜久久久久久久久久久| 91麻豆免费观看| 日本aⅴ精品一区二区三区| 久久久一区二区三区| 午夜激情综合网| 久久亚洲免费视频| 丁香六月久久综合狠狠色| 一区二区三区四区在线免费观看| 99热这里都是精品| 麻豆成人免费电影| 综合久久综合久久| 欧美高清dvd| 91小视频在线| 午夜久久久久久久久| 最新高清无码专区| 日韩欧美综合在线| 成人白浆超碰人人人人| 日本一区二区视频在线| 日本乱人伦aⅴ精品| 九色porny丨国产精品| 午夜伊人狠狠久久| 26uuu欧美| 精品国产自在久精品国产| 91精品婷婷国产综合久久| 欧美日韩黄视频| 欧美吞精做爰啪啪高潮| 亚洲国产精品一区二区www| 久久精品视频在线免费观看| 欧美三级中文字幕在线观看| 成人激情动漫在线观看| 欧美性色综合网| 91天堂素人约啪| 在线免费观看一区| 欧美日韩1234| 欧美一级片在线观看| 91精品国产麻豆国产自产在线| 色婷婷一区二区三区四区| 国产揄拍国内精品对白| 亚洲黄一区二区三区| 亚洲精品一区二区三区影院| 欧美一区二区视频在线观看2022| 欧美日韩精品福利| 激情综合网天天干| 激情另类小说区图片区视频区| 国产一区在线视频| 国产91对白在线观看九色| 青青草原综合久久大伊人精品| 亚洲女爱视频在线| 日韩精品一二区| 免费成人你懂的| 亚洲精品中文字幕乱码三区| 一区二区三区在线视频播放| 悠悠色在线精品| 国产综合久久久久久鬼色| 精品一区二区日韩| 老司机免费视频一区二区三区| 国产在线观看免费一区| 国产a精品视频| 欧美日韩在线播放三区四区| 欧美午夜片在线观看| 91精品在线观看入口| 7777精品伊人久久久大香线蕉经典版下载| 国模娜娜一区二区三区| 国产99久久久久| 成人av网在线| av一本久道久久综合久久鬼色| 日韩欧美综合一区| 亚洲国产精品一区二区久久 | 在线看国产一区二区| 欧美人体做爰大胆视频| 精品理论电影在线| 亚洲一区二区三区在线| 国产精品一线二线三线| 欧美日韩视频在线一区二区| 久久综合久久综合久久综合| 日本美女一区二区| av午夜一区麻豆| 国产欧美精品日韩区二区麻豆天美| 亚洲综合色视频| 精品入口麻豆88视频| 亚洲h在线观看| 91丝袜高跟美女视频| 亚洲色图在线看| 欧美在线观看一区| 在线观看91av| 视频一区二区三区入口| 91浏览器入口在线观看| 中文字幕一区二区三区在线不卡 |