void drawVectorPart(Grid grid, int type,int h,int l){
		if(grid == null) return;
		if(h == 85) return;//ぬるぽ対策

		int height = h;//高さ80
		int test = grid.getNumGridPoint()[0]*height;//描画する最初の要素
		int next = grid.getNumGridPoint()[0]*grid.getNumGridPoint()[1];//描画する次の列
		int num = 0;
		double[] gpos = new double[3];
		double[] vpos = new double[3];
		int vlen = l; //ベクトルの長さを調節する値(大きいと短くなる)
		double[] maxvec = new double[3];
		double[] minvec = new double[3];
		double[] maxdiff = new double[3];
		final double default_angle = Settings.angle;
		final double[] unit_vec = new double[3];
		unit_vec[0] = Math.cos(default_angle);
		unit_vec[1] = 0.0;
		unit_vec[2] = Math.sin(default_angle);
		maxvec = grid.getMaxVector();
		minvec = grid.getMinVector();
		maxdiff[0] = maxvec[0] - minvec[0];
		maxdiff[1] = maxvec[1] - minvec[1];
		maxdiff[2] = maxvec[2] - minvec[2];
		//System.out.println(next);

		for(int i = 0; i < grid.getNumGridPoint()[2];i++){
			for (int j = 0; j < grid.getNumGridPoint()[0]; j++) {
				if(i == 0){
					//最初に描画する要素の決定
					num = test;
				}else{
					//二列目以降に描画する要素の決定
					num = test+next*i;
				}
				if(grid.getEnvironment(num+j)==0.0 && j%Settings.partial==0 && i%Settings.partial==0){//間引きあり
					//if(grid.getEnvironment(num+j)==0.0){//間引き無
					//座標・ベクトルを取得
					gpos[0] = grid.getGridPoint(num+j).getPosition()[0];
					gpos[1] = grid.getGridPoint(num+j).getPosition()[1];
					gpos[2] = grid.getGridPoint(num+j).getPosition()[2];
					vpos[0] = grid.getGridPoint(num+j).getVector()[0];
					vpos[1] = grid.getGridPoint(num+j).getVector()[1];
					vpos[2] = grid.getGridPoint(num+j).getVector()[2];

					double[] color = new double[3];
					double diff_angle = Math.abs(Math.acos((vpos[0]*unit_vec[0]+vpos[2]*unit_vec[2])/Math.sqrt(vpos[0]*vpos[0]+vpos[2]*vpos[2])));

					color[0] = Math.log(vpos[0]*(Math.E-1)/maxdiff[0]+1);
					color[1] = Math.log(vpos[1]*(Math.E-1)/maxdiff[1]+1);
					color[2] = Math.log(vpos[2]*(Math.E-1)/maxdiff[2]+1);

					//色の調整(type 1:建物あり　2:建物なし)
					if(type==1){
						//gl2.glEnable(GL.GL_BLEND);
						//gl2.glBlendFunc(GL.GL_SRC_ALPHA, GL.GL_ONE_MINUS_SRC_ALPHA);
						//gl2.glColor4d(vpos[0]/maxvec[0], vpos[1]/maxvec[1], vpos[2]/maxvec[2],1.0-vpos[2]/maxvec[2]);
						//gl2.glColor3d(vpos[0]/maxdiff[0], vpos[1]/maxdiff[1], vpos[2]/maxdiff[2]);
						//gl2.glColor4d(color[0], color[1], color[2],1.0-color[2]);
						//gl2.glColor3d(color[0], color[1], color[2]);

						//gl2.glColor3d(0.8, 0.2, 0.2);
						/*定常流れとの角度の変化による色つけ*/
						color[0] = Math.log((diff_angle)*(Math.E-1)/(Math.PI)+1);
						color[1] = 0.0;
						color[2] = 0.0;
						gl2.glColor3d(color[0], color[1], color[2]);
						/*
						if(diff_angle < 0.3){
							//gl2.glColor3d(color[0], color[1], color[2]);
							gl2.glColor3d(0.2, color[1], color[2]);
						}else{
							gl2.glColor3d(0.7, 0.0, 0.0);
						}*/
					}else{
						//gl2.glColor3d(0.8, 0.8, 0.8);
						/*定常流れとの角度の変化による色つけ*/
						color[0] = 0.0;
						color[1] = 0.0;
						color[2] = Math.log((diff_angle)*(Math.E-1)/(Math.PI)+1);
						gl2.glColor3d(color[0], color[1], color[2]);
					}
					//ベクトルの描画

					//
					//gl2.glLineWidth(0.001f);
					//gl2.glBegin(GL.GL_LINE_LOOP);
					gl.glLineWidth(Settings.vector_border);
					gl2.glBegin(GL.GL_LINES);
					//gl2.glBegin(GL2.GL_LINE_STRIP);
					gl2.glVertex3d(gpos[0], gpos[1], gpos[2]);
					gl2.glVertex3d(gpos[0]+vpos[0]/vlen, gpos[1]+vpos[1]/vlen, gpos[2]+vpos[2]/vlen);
					//glut.glutSolidCone(1.0, 1.0, 1, 1);
					//glut.glutSolidCube(1.0f);
					//glut.glutWireTeapot(1.0, true);
					gl2.glEnd();

					gl2.glPointSize(2.25f);
					gl2.glBegin(GL.GL_POINTS);
					gl2.glVertex3d(gpos[0]+vpos[0]/vlen, gpos[1]+vpos[1]/vlen, gpos[2]+vpos[2]/vlen);
					gl2.glEnd();

				}
			}
		}
	}