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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lamp.java

?? 如果對java3D感興趣的朋友
?? JAVA
字號:
import java.awt.*;

// a static lamp model

public class lamp implements model{
	private vector centre;
	private vector iDirection, jDirection, kDirection;
	private vector[][] vertix;
	private paste[] pastes;
	private vector[] polygonNormals;
	private paste[] boundary;
	private int NoOfPolygons;
	private vector[][] bound;
	private vector realCentre;

	public lamp(vector centre){
		this.centre = centre;
		realCentre = centre;
		NoOfPolygons = 37;
		iDirection = new vector(1,0,0);
		jDirection = new vector(0,1,0);
		kDirection = new vector(0,0,1);
		vertix = new vector[NoOfPolygons][];
		pastes = new paste[NoOfPolygons];
		bound = new vector[6][4];
		boundary  = new paste[6];
		vertix = new vector[NoOfPolygons][];
		pastes = new paste[NoOfPolygons];
		createVertix();
		makePaste();
		createBoundary();
	}

	public void update(vector change, double xzRotate, double yzRotate){
		// update the vertix accroding to the camera position and direction
		vector[][] tempVertix = new vector[NoOfPolygons][];
		for(int i = 0; i < tempVertix.length; i++){
			tempVertix[i] = new vector[vertix[i].length];
			for(int j = 0; j < tempVertix[i].length; j++){
				tempVertix[i][j] = vertix[i][j].add(change).rotate_XZ(xzRotate).rotate_YZ(yzRotate);
			}
		}
		for(int i = 0; i < NoOfPolygons; i++)
			pastes[i].update(tempVertix[i]);
		//update boundary
		vector[][] tempBound = new vector[6][4];
		for(int i = 0; i < 6; i++){
			for(int j = 0; j < 4; j++){
				tempBound[i][j] = bound[i][j].add(change).rotate_XZ(xzRotate).rotate_YZ(yzRotate);
			}
		}
		for(int i = 0; i < 6; i ++)
			boundary[i].update(tempBound[i]);

		//update realcentre;
		realCentre = put(-1.9,3,-1.9).add(change).rotate_XZ(xzRotate).rotate_YZ(yzRotate);
	}


	private void createVertix(){
		// must add vertix in a clockwise manner
		int polygonIndex = 0;

		//construct the buttom of the lamp
		double r = 1.9;
		double theta = Math.PI/8;
		for(int i = 0; i < 16; i++){
			vertix[polygonIndex] = new vector[]{put(r*Math.cos(i*theta), 0.5, r*Math.sin(i*theta)),
											 put(r*Math.cos((i+1)*theta), 0.5,r*Math.sin((i+1)*theta)),
											 put(1.1*r*Math.cos((i+1)*theta), 0.05, 1.1*r*Math.sin((i+1)*theta)),
											 put(1.1*r*Math.cos(i*theta), 0.05, 1.1*r*Math.sin(i*theta))};
			polygonIndex++;
		}
		vertix[polygonIndex] = new vector[16];
		for(int i = 0; i < 16; i++)
			vertix[polygonIndex][15 - i] = put(r*Math.cos(i*theta), 0.5, r*Math.sin(i*theta));
		polygonIndex++;

		//construct the middle part of the lamp
		r = 0.25;
		theta = Math.PI/3;
		for(int i = 0; i < 6; i++){
			vertix[polygonIndex] = new vector[]{put(r*Math.cos(i*theta), 5, r*Math.sin(i*theta)),
											 put(r*Math.cos((i+1)*theta), 5,r*Math.sin((i+1)*theta)),
											 put(r*Math.cos((i+1)*theta), 0.55, r*Math.sin((i+1)*theta)),
											 put(r*Math.cos(i*theta), 0.55, r*Math.sin(i*theta))};
					polygonIndex++;
		}

		//construct the top of the lamp
		r = 1.7;
		for(int i = 0; i < 6; i++){
			vertix[polygonIndex] = new vector[]{put(r*Math.cos(i*theta), 6, r*Math.sin(i*theta)),
											 put(r*Math.cos((i+1)*theta), 6,r*Math.sin((i+1)*theta)),
											 put(1.3*r*Math.cos((i+1)*theta), 4, 1.3*r*Math.sin((i+1)*theta)),
											 put(1.3*r*Math.cos(i*theta), 4, 1.3*r*Math.sin(i*theta))};
					polygonIndex++;
		}
		for(int i = 0; i < 6; i++){
			vertix[polygonIndex] = new vector[]{
											 put(1.3*r*Math.cos(i*theta), 4, 1.3*r*Math.sin(i*theta)),
											 put(1.3*r*Math.cos((i+1)*theta), 4, 1.3*r*Math.sin((i+1)*theta)),
											 put(r*Math.cos((i+1)*theta), 6,r*Math.sin((i+1)*theta)),
											 put(r*Math.cos(i*theta), 6, r*Math.sin(i*theta))
											};
					polygonIndex++;
		}
		vertix[polygonIndex] = new vector[6];
		for(int i = 0; i < 6; i++)
			vertix[polygonIndex][5 - i] = put(r*Math.cos(i*theta), 6, r*Math.sin(i*theta));
		polygonIndex++;
		vertix[polygonIndex] = new vector[6];
		for(int i = 0; i < 6; i++)
			vertix[polygonIndex][i] = put(r*Math.cos(i*theta), 6, r*Math.sin(i*theta));
		polygonIndex++;


	}

	private vector put(double x, double y, double z){
		return centre.add(iDirection.scale(x)).add(jDirection.scale(y)).add(kDirection.scale(z));
	}

	public paste[] getPolygon(){
		return pastes;
	}

	private void makePaste(){
		for(int i = 0; i < 16; i++)
			pastes[i] = new paste(vertix[i], new Color(137, 171, 252), 1);

		pastes[16] = new paste(vertix[16], new Color(137, 171, 252), 1);

		for(int i = 0; i < 6; i++)
			pastes[17+i] = new paste(vertix[17+i], new Color(137, 171, 252), 2);

		for(int i = 0; i < 6; i++)
			pastes[23+i] = new paste(vertix[23+i], new Color(227, 249, 81), 1);

		for(int i = 0; i < 6; i++)
			pastes[29+i] = new paste(vertix[29+i], new Color(255-i*2, 255 -i*2, 255 - i*2), 0);

		pastes[35] = new paste(vertix[35], new Color(227, 249, 81), 1);
		pastes[36] = new paste(vertix[35], new Color(220, 220, 220), 0);
	}

	public void createBoundary(){
		vector temp = centre;
		centre = put(-1.9,0,-1.9);
		bound[0] = new vector[]{put(0,0,0), put(0,0,3.8), put(0,6,3.8), put(0,6,0)};
		boundary[0] = new paste(bound[0], Color.green, 1);
		bound[1] = new vector[]{put(0,6,3.8), put(3.8,6,3.8), put(3.8,6,0), put(0,6,0)};
		boundary[1] = new paste(bound[1], Color.green, 1);
		bound[2] = new vector[]{put(0,0,0), put(0,6,0), put(3.8,6,0), put(3.8,0,0)};
		boundary[2] = new paste(bound[2], Color.green, 1);
		bound[3] = new vector[]{put(3.8,6,3.8), put(0,6,3.8), put(0,0,3.8), put(3.8,0,3.8)};
		boundary[3] = new paste(bound[3], Color.green, 1);
		bound[4] = new vector[]{put(0,0,0), put(3.8,0,0), put(3.8,0,3.8), put(0,0,3.8)};
		boundary[4] = new paste(bound[4], Color.green, 1);
		bound[5] = new vector[]{put(3.8,6,3.8), put(3.8,0,3.8), put(3.8,0,0), put(3.8,6,0)};
		boundary[5] = new paste(bound[5], Color.green, 1);
		centre = temp;
	}

	public paste[] getBoundary(){
		return  boundary;
	}

	public vector getCentre(){
		return realCentre;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜视频在线| 91福利区一区二区三区| www国产精品av| 欧美一卡2卡3卡4卡| 一区二区三区久久| 欧美在线视频你懂得| 午夜精品视频一区| 久久精品夜夜夜夜久久| www.在线成人| 日韩中文字幕1| 国产欧美精品一区| 欧美在线观看视频一区二区 | 国产乱人伦偷精品视频不卡| 国产欧美日韩视频一区二区| 99久久er热在这里只有精品66| 日韩影院免费视频| 国产丝袜在线精品| 久久精品国产一区二区| 日韩午夜激情免费电影| 国模一区二区三区白浆| 欧美激情一区二区三区在线| 成人高清免费在线播放| 国产精品久久久久久一区二区三区| 不卡视频在线观看| 久久成人免费电影| 亚洲三级电影网站| 精品入口麻豆88视频| 色菇凉天天综合网| 国产不卡高清在线观看视频| 一区二区三区不卡在线观看| 久久久99精品久久| 精品久久久久99| 51久久夜色精品国产麻豆| 国产精品18久久久久| 蜜桃视频免费观看一区| 久久综合给合久久狠狠狠97色69| 欧美性猛片xxxx免费看久爱| 国产精品亚洲午夜一区二区三区| 亚洲图片有声小说| 伊人色综合久久天天人手人婷| 久久亚洲综合色一区二区三区| 欧美影片第一页| 欧美午夜在线观看| 欧美日韩久久久一区| 日韩免费观看高清完整版| 日韩avvvv在线播放| 奇米精品一区二区三区在线观看| 久久这里都是精品| 欧美四级电影网| 色综合天天综合在线视频| 欧美专区日韩专区| 7777精品伊人久久久大香线蕉经典版下载 | 国产精品欧美极品| 亚洲裸体xxx| 日韩高清一区二区| 麻豆国产91在线播放| 国产精品一二一区| 欧美日韩午夜在线视频| 国产精品少妇自拍| 亚洲一区二区三区三| 国产精品123区| 制服丝袜日韩国产| 中文字幕五月欧美| 狠狠色综合播放一区二区| 欧美日韩午夜在线视频| 一区二区三区高清不卡| 成人一区二区三区视频在线观看 | 99精品热视频| 91精品国产色综合久久不卡蜜臀| 久久精品水蜜桃av综合天堂| 亚洲bdsm女犯bdsm网站| 成人手机电影网| 精品日韩av一区二区| 亚洲在线视频网站| 成人午夜精品一区二区三区| 日韩欧美第一区| 国产在线国偷精品产拍免费yy| 欧美三级一区二区| 国产精品久久久99| www.欧美色图| 中文字幕成人网| 95精品视频在线| 亚洲天天做日日做天天谢日日欢| 黑人巨大精品欧美黑白配亚洲| 欧美电影免费观看高清完整版在线 | 一区二区三区不卡在线观看| 91在线精品一区二区| 亚洲一区电影777| 制服视频三区第一页精品| 日本系列欧美系列| 国产亚洲精久久久久久| 91色婷婷久久久久合中文| 国产亚洲1区2区3区| 成人精品国产免费网站| 国产清纯白嫩初高生在线观看91| 成人avav影音| 亚洲午夜激情av| 久久久.com| 欧美三级午夜理伦三级中视频| 天天操天天色综合| 国产日韩欧美一区二区三区综合| 成人av集中营| 久久精品72免费观看| 亚洲码国产岛国毛片在线| 日韩视频在线观看一区二区| av在线不卡网| 久久99久久精品| 亚洲午夜电影网| 国产精品久久久久影院色老大| 日韩一级黄色片| 91豆麻精品91久久久久久| 久久成人免费日本黄色| 洋洋av久久久久久久一区| 久久久www成人免费无遮挡大片| 99精品视频免费在线观看| 国产精品一区二区在线观看网站 | 欧美无乱码久久久免费午夜一区| 国产成人高清视频| 成人深夜在线观看| 成人av在线播放网址| 色94色欧美sute亚洲13| 91一区一区三区| 欧美视频你懂的| 欧美日韩一区在线| 欧美日韩aaaaa| 欧美精品在线一区二区| 日韩一区二区三| 精品国产乱码久久久久久免费| 4438成人网| 日韩一区二区在线观看视频 | 精品一区二区三区免费视频| 五月婷婷激情综合| 三级不卡在线观看| 午夜精品久久久| 中文在线资源观看网站视频免费不卡| 精品粉嫩超白一线天av| 国产精品久久久久婷婷| 久久网站热最新地址| 国产日产精品一区| 国产精品麻豆视频| 亚洲成人激情社区| 国产一区二区看久久| 色琪琪一区二区三区亚洲区| 精品三级av在线| 亚洲在线免费播放| 国模大尺度一区二区三区| 91麻豆国产在线观看| 久久久精品人体av艺术| 亚洲亚洲人成综合网络| 97精品电影院| 国产免费久久精品| 国产一区二区福利视频| 欧美一区二区三区小说| 亚洲一区二区三区四区五区黄| 久久精品久久99精品久久| 日本精品视频一区二区三区| 精品国产123| 蜜臀av一区二区在线免费观看| 色综合天天综合网天天狠天天| 久久一区二区视频| 黄页网站大全一区二区| 91福利国产成人精品照片| 亚洲色图制服丝袜| av在线一区二区| 国产精品久久久久桃色tv| 久久99国产精品免费网站| 欧美一区二区三区四区视频 | 欧美亚一区二区| 午夜不卡av在线| 亚洲精品一线二线三线| 国产一区二区女| 国产精品午夜在线观看| www.久久久久久久久| 亚洲精品老司机| 欧美日韩精品高清| 韩国毛片一区二区三区| 日韩一区中文字幕| 91精品国产福利在线观看| 久久超碰97中文字幕| 久久久久久久国产精品影院| kk眼镜猥琐国模调教系列一区二区| 中文文精品字幕一区二区| 欧美在线不卡一区| 久久国产乱子精品免费女| 国产精品福利一区| 久久久欧美精品sm网站| 7777精品伊人久久久大香线蕉| 国产一区美女在线| 日韩不卡在线观看日韩不卡视频| 久久夜色精品一区| 欧美一卡二卡在线| 在线观看欧美黄色| 99久久99久久精品免费看蜜桃| 开心九九激情九九欧美日韩精美视频电影| 欧美激情一区二区| 国产欧美一区二区三区在线看蜜臀| 在线播放中文一区| 91九色02白丝porn| 欧美网站大全在线观看| 欧美伊人久久久久久久久影院|