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

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

?? cinematic.java

?? 一個由c轉成java的3D robot 仿真平臺
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************//* File: ~/sopra/RoboPackII/Cinematic.java                                *//* This file consists of the methods the robot needs to calculate his	*//* new values								*//************************************************************************/package RoboPackII;final class CinematicCalculations{	/* This class provides the 'main class' with the needed        */	/* calculation methods.					       */	public static void TO6(AngleDates[] angles, double[] linkl, 			       double[][] T)	{	   /* The 'angles'- and 'linkl'-arrays have to consist of 6    */	   /* elements, the 'T'-array is a 3x4-array.		       */	   double c12, s12; 	   double[] s = new double[6];	   double[] c = new double[6]; 	   double h1,h2; 	   int i; 	   for ( i=0 ; i<6 ; i++ )  	     {               c[i] = Math.cos( angles[i].act );               s[i] = Math.sin( angles[i].act );             } 	   c12 = c[1] * c[2] - s[1] * s[2]; 	   s12 = c[1] * s[2] + s[1] * c[2];           h1 = c[3] * c[4] * c[5] - s[3] * s[5]; 	   h2 = s[4] * c[5]; 	   T[2][0] = (-s12) * h1 - c12 * h2;            h1 = c12 * h1 - s12 * h2;	   h2 = s[3] * c[4] * c[5] + c[3] * s[5];	   T[0][0] = c[0] * h1 + s[0] * h2;	   T[1][0] = s[0] * h1 - c[0] * h2; 	   h1 = (-c[3]) * c[4] * s[5] - s[3] * c[5]; 	   h2 = s[4] * s[5]; 	   T[2][1] = (-s12) * h1 + c12 * h2; 	   h1 = c12 * h1 + s12 * h2;	   h2 = c[3] * c[5] - s[3] * c[4] * s[5]; 	   T[0][1] = c[0] * h1 + s[0] * h2; 	   T[1][1] = s[0] * h1 - c[0] * h2; 	   h1 = c[3] * s[4]; 	   T[2][2] = s12 * h1 - c12 * c[4];  	   h1 = c12 * h1 + s12 * c[4]; 	   h2 = s[3] * s[4];           T[0][2] = (-c[0]) * h1 - s[0] * h2;	   T[1][2] = (-s[0]) * h1 + c[0] * h2; 	   h1 = linkl[1] * c[1] - linkl[2] * s12; 	   T[0][3] = c[0] * h1; 	   T[1][3] = s[0] * h1; 	   T[2][3] = (-linkl[1]) * s[1] - linkl[2] * c12;	}	public static void calculatePos(AngleDates[] angles, double[] pos,					RoboProto rob)	{	   /* 'Angles has to be a 6-elements- and 'pos' a 3-elements-    */	   /* array.						         */           double[][] A = new double[3][4];	   double[] position = new double[3];	   int i,h;           TO6(angles,rob.linkLengths,A);              position[0] = A[0][3] + A[0][2] * rob.linkLengths[3];              position[1] = A[2][2] * rob.linkLengths[3] + A[2][3] 				+ rob.linkLengths[0];              position[2] = -A[1][2] * rob.linkLengths[3] - A[1][3];                for ( i=0 ; i<3 ; i++ )               {                 h = (int)(position[i] * 1000 + 0.5);                 position[i] = h / 1000.0;                   pos[i] = position[i];              }	}	public static int inverseAngle1(double[][] T, double[] angNew, 		AngleDates[] angOld, int reminder, RoboProto rob)	{	   /* 'T' has to be a 3x4-array, 'angNew' consists of 2 elements  */	   /* and 'angOld' of 6. 				 	  */	   /* Returns the new value of reminder.			  */		   double help1, help2, help3; 	   int i;	      	   if ( T[0][3] != 0.0 || T[1][3] != 0.0 )  	     {  	       /* atan2 is calculatable for these values,so */      	       /* two angle values can be determined.       */   	       help1 = Math.atan2( T[1][3] , T[0][3] );	       help2 = Math.sqrt( T[0][3]*T[0][3] + T[1][3]*T[1][3]); 	       help3 = Math.atan2( 0.0 , help2 );   	       angNew[0] = help1 - help3;  	       help3 = Math.atan2( 0.0 , -help2 );  	       angNew[1] = help1 - help3;   	       if ( angNew[0] == 0.0 && rob.angles[0].act <= 0.0 &&     		    angNew[1] >= 0.0 ) 		 angNew[1] = -Math.PI;   	       if ( angNew[1] == 0.0 && rob.angles[0].act < 0.0 &&       		    angNew[0] > 0.0 ) 		 angNew[0] = -Math.PI;  	       for ( i=0 ; i < 2 ; i++ )    		 {     		   if ( angNew[i] < (-Math.PI ))		     angNew[i] = angNew[i] + 2 * Math.PI;                   else {         		  if ( angNew[i] > Math.PI ) 			    angNew[i] = angNew[i] - 2 * Math.PI;         		}         		 }	       return 0;	     }	   else 	     {	       /* Point is on the Y-line. In this case */               /* atan2 is not calculatable.           */       	      angNew[0] = angOld[0].act;       	      if ( angOld[0].act + 1.570796327  <=  (rob.angles[0].max)  &&            	   angOld[0].act + 1.570796327  >= (rob.angles[0].min ) )                 angNew[1] = angOld[0].act  + Math.PI / 2.0;              else angNew[1] = angOld[0].act - Math.PI / 2.0;       	      return 2;    	     }	}	public static int inverseAngle3(double[][] T, double[] angNew, 			double[] linkl, int reminder, RoboProto rob)	{	   /* 'T' has to be a 3x4-array, 'angNew' consists of 2 elements  */	   /* and 'linkl' of 3. 				 	  */	   /* Returns the new value of reminder.			  */		   double help, K, help2; 	   int i;	   K = T[0][3] * T[0][3] + T[1][3] * T[1][3] + T[2][3] * T[2][3];	   K = K - linkl[1] * linkl[1] - linkl[2] * linkl[2]; 	   K = K / ( 2 * linkl[1] ); 	   if ( Math.abs(K) <= 0.000001 ) 	     K = 0.0; 	   help = linkl[2] * linkl[2] - K * K; 	   if ( help > 0 )  	     { 	       help = Math.sqrt( help );  	       help2 = Math.atan2( 0.0 , linkl[2] );   	       angNew[0] = help2 - Math.atan2( K , help );   	       angNew[1] = help2 - Math.atan2( K , (-help) );   	       for (i=0; i < 2; i++)   		 {  		   if ( angNew[i] > rob.angles[2].max ) 		     angNew[i] = angNew[i] - 2 * Math.PI;   		 }   	       return 0; 	     }	   else 	     return 1;  // Calculation not possible.	}	public static int inverseAngle2(double[][] T, double[] angNew, 			double[] linkl, double angle1, double angle3, 		        double[] s, double[] c, int reminder, RoboProto rob)	{	   /* 'T' has to be a 3x4-array, 'angNew' consists of 2 elements  */	   /* and 'linkl' of 3. 's' and 'c' consist of 6 elements.	  */	   /* Returns the new value of reminder.			  */	   double help1,help2; 	   help1 = T[2][3] * T[2][3]; 	   help2 = c[1] * T[0][3] + s[1] * T[1][3]; 	   help1 = help1 + help2 * help2; 	   if ( help1 > 0.0 ) 	     {  	       help1 = (-linkl[1] * c[3]) * T[2][3] +                       ( c[1] * T[0][3] + s[1] * T[1][3] ) *                       ( linkl[1] * s[3] - linkl[2] );   	       if ( help1 == -0.0 )		 help1 = 0.0; 	       help2 = (linkl[1] * s[3] - linkl[2]) * T[2][3] -            	       (-linkl[1] * c[3])*(c[1] * T[0][3] + s[1] * T[1][3]);  	       if ( Math.abs(help1) <= 0.000001) 		 help1 = 0.0;  	       if ( Math.abs(help2) <= 0.000001) 		 help2 = 0.0;	       if ( help1 != 0.0 || help2 != 0.0 ) 	         {   		   angNew[0] = Math.atan2( help1,help2 ) - angle3;   	           if ( angNew[0] > rob.angles[1].max )		     angNew[0] = angNew[0] - 2*Math.PI;   		   if ( Math.abs(angNew[0] - Math.PI) <= 0.000001 ) 	             angNew[0] = -Math.PI;     		   return 0;  	         }  	       else return 1; 	     } 	   else return 1;	}	public static int inverseAngle4(double[][] T, double[] angNew, 	    AngleDates[] angOld, double angle1, double angle2, double angle3,	    double[] s, double[] c, int reminder, RoboProto rob) 	{	   /* 'T' has to be a 3x4-array, 'angNew' consists of 2 elements  */	   /* and 'angOld' of 6. 's' and 'c' consist of 6 elements.	  */	   /* Returns the new value of 'reminder'.			  */	   double help1, help2, help3, help4;	   double c23, s23;           c23 = c[2] * c[3] - s[2] * s[3]; 	   s23 = c[2] * s[3] + s[2] * c[3];	   help1 = (-T[0][2]) * s[1] + T[1][2] * c[1];           help3 = (-T[0][2]) * c[1] * c23 ; 	   help4 = (-T[1][2]) * s[1] * c23 ;	   help2 = help3 + help4 + T[2][2] * s23; 	   if ( Math.abs(help1) <= 0.000001 )	     help1 = 0.0; 	   if ( Math.abs(help2) <= 0.000001 )	     help2 = 0.0; 	   if ( Math.abs(help1) <= 1.000001 && Math.abs(help2) <= 1.000001 &&     	      ( Math.abs(help1) >= 0.01 || Math.abs(help2) >= 0.01))  	     {  	       angNew[0] = Math.atan2( help1,help2 );   	       if ( Math.abs(Math.abs(angNew[0]) - Math.PI) <= 0.000001 )   	         {   	           if ( angOld[3].act < 0.0 && angNew[0] >= 0.0 ) 		     angNew[0] = angNew[0] * (-1);    		   if ( angOld[3].act > 0.0 && angNew[0] < 0.0 )		     angNew[0] = angNew[0] * ( -1);   		 }   	       return 0;  	     }	   else 	     {      	       if ( Math.abs(help1) <= 0.01 && Math.abs(help2) <= 0.01 )       	         { 		   angNew[0] = angOld[3].act;           	   return 5;        	 }      	       else return 1;     	     } 	}	public static int inverseAngle5(double[][] T, double[] angNew,			double a1, double a2, double a3, double a4, double[] s,			double[] c, int reminder, RoboProto rob)	{	   /* 'T' has to be a 3x4-array, 'angNew' consists of 6 elements.  */	   /* 's' and 'c' consist of 6 elements.	                   */	   /* Returns the new value of 'reminder'.	       		   */	   double help1; 	   double help2; 	   double c23, s23; 	   c23 = c[2] * c[3] - s[2] * s[3]; 	   s23 = c[2] * s[3] + s[2] * c[3]; 	   help1 = -(T[0][2] * ( c[1] * c23 * c[4] + s[1] * s[4] ) 		  + T[1][2] *                 ( s[1] * c23 * c[4] - c[1] * s[4] ) - T[2][2] * ( s23 * c[4])); 	   help2 = T[0][2] * ( (-c[1]) * s23 ) + T[1][2] * ( (-s[1]) * s23 ) 	           + T[2][2] * (-c23);	   if ( Math.abs(help1) <= 0.000001 )	     help1 = 0.0; 	   if ( Math.abs(help2) <= 0.000001 )	     help2 = 0.0; 	   if ( Math.abs(help1) <= 1.000001 && Math.abs(help2) <= 1.000001 &&    	        ( help1 != 0.0 || help2 != 0.0)) 	     {  	       angNew[0] = Math.atan2( help1,help2 );   	       return 0;  	     } 	   else return 1;	}	public static int inverseAngle6(double[][] T, AngleDates[] angles,	 	       double[] angNew, double a1, double a2, double a3,		       double a4, double a5, double[] s, double[] c, 		       int reminder, RoboProto rob) 	{	   /* 'T' has to be a 3x4-array, 'angles' consists of 6 elements  */	   /* and 'angNew' of 6. 's' and 'c' consist of 6 elements.	  */	   /* Returns the new value of 'reminder'.			  */	   double help1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品国产麻豆婷婷| 99免费精品视频| 亚洲va国产va欧美va观看| 中文字幕佐山爱一区二区免费| 国产亚洲制服色| 国产精品拍天天在线| 国产精品美女久久久久久久网站| 五月天激情综合网| 日日夜夜精品视频免费| 日韩电影在线看| 精品一区二区影视| 国产在线看一区| 丁香六月综合激情| 91在线精品一区二区三区| 色又黄又爽网站www久久| 欧美在线视频全部完| 麻豆精品新av中文字幕| 91麻豆国产福利精品| 99国产精品视频免费观看| 99久久99久久精品国产片果冻| 99精品国产99久久久久久白柏| 色综合网色综合| 欧美性色aⅴ视频一区日韩精品| 欧美性高清videossexo| 欧美高清视频一二三区| 精品91自产拍在线观看一区| 亚洲精品一区二区三区蜜桃下载| 国产欧美一区二区精品久导航| 中文成人av在线| 一区二区三区精品在线| 日本午夜精品一区二区三区电影| 狠狠色丁香久久婷婷综合丁香| 国产99精品视频| 欧美亚洲国产bt| 欧美va在线播放| 国产精品毛片a∨一区二区三区| 亚洲精品自拍动漫在线| 蜜臀精品一区二区三区在线观看| 国产传媒日韩欧美成人| 69堂精品视频| 欧美另类高清zo欧美| 日韩欧美的一区二区| 欧美精品一区二区三| 国产午夜精品在线观看| 日韩毛片精品高清免费| 奇米四色…亚洲| 国产成人在线视频网站| 欧美日韩一区二区三区在线| 欧美电影免费提供在线观看| 亚洲视频你懂的| 麻豆精品精品国产自在97香蕉| av中文字幕亚洲| 日韩一级大片在线观看| 中文字幕一区二区三区四区不卡| 日韩精品亚洲一区二区三区免费| 国产成人精品亚洲午夜麻豆| 制服丝袜一区二区三区| 国产精品久久久久一区二区三区| 首页欧美精品中文字幕| 精品久久久久久久久久久院品网 | 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 天天色综合成人网| 韩国三级中文字幕hd久久精品| 99久久精品国产精品久久| 91精品国产91久久综合桃花| 亚洲人xxxx| 成人性色生活片| 欧美大片拔萝卜| 亚洲一区二区欧美| 国产成人免费视频网站| 69久久夜色精品国产69蝌蚪网 | 国产成人免费在线视频| 欧美三级电影一区| 亚洲色大成网站www久久九九| 国模套图日韩精品一区二区| 在线不卡的av| 夜夜嗨av一区二区三区网页| 成人污污视频在线观看| 久久综合视频网| 日日摸夜夜添夜夜添国产精品| 97久久超碰国产精品电影| 国产日韩精品视频一区| 精品一区二区三区影院在线午夜| 欧美日韩视频不卡| 欧美一级搡bbbb搡bbbb| wwwwxxxxx欧美| 日韩在线观看一区二区| 欧美三片在线视频观看| 一区在线播放视频| 国产成人自拍在线| 亚洲精品在线观看视频| 麻豆精品新av中文字幕| 精品视频一区二区不卡| 亚洲五码中文字幕| 在线一区二区三区做爰视频网站| 中文字幕不卡在线播放| 国产成人在线网站| 国产日韩欧美精品电影三级在线| 国产美女久久久久| 久久综合视频网| 欧美日韩精品免费观看视频| 综合精品久久久| 一本色道久久综合亚洲aⅴ蜜桃| 国产精品卡一卡二卡三| 91在线观看成人| 亚洲视频1区2区| 91福利小视频| 一区二区高清在线| 在线视频国产一区| 亚洲国产一区二区在线播放| 欧美日精品一区视频| 亚洲成人av电影| 欧美一区二区三区视频在线| 欧美a级一区二区| 精品伦理精品一区| 国产成人免费在线视频| 最新不卡av在线| 91成人在线免费观看| 亚洲成人福利片| 日韩欧美美女一区二区三区| 国产精品综合一区二区三区| 中文成人av在线| 在线观看免费视频综合| 日韩激情一区二区| 国产亚洲欧美日韩俺去了| 成人黄色免费短视频| 亚洲男人的天堂在线观看| 欧美日韩一区二区三区四区| 美国十次综合导航| 国产亚洲精品精华液| 色婷婷久久一区二区三区麻豆| 日日摸夜夜添夜夜添国产精品| 亚洲精品一区二区精华| 99久久精品久久久久久清纯| 亚洲一区二区欧美| xfplay精品久久| 色婷婷综合久久久久中文| 免费成人在线观看视频| 中文字幕欧美激情一区| 欧美日韩国产中文| 国产毛片精品国产一区二区三区| 国产精品视频一区二区三区不卡| 欧美亚洲动漫精品| 经典三级在线一区| 亚洲精品国产无天堂网2021| 欧美成人免费网站| 91网站视频在线观看| 美女脱光内衣内裤视频久久网站 | 亚洲高清在线精品| 久久午夜免费电影| 色噜噜狠狠色综合欧洲selulu| 色狠狠一区二区三区香蕉| 青青草精品视频| 国产精品久久久久久亚洲毛片| 69精品人人人人| 9人人澡人人爽人人精品| 三级久久三级久久久| 国产精品久久久久久久久动漫| 欧美久久久久中文字幕| 成人av在线资源网站| 日韩黄色免费电影| 亚洲天天做日日做天天谢日日欢 | 午夜在线电影亚洲一区| 欧美国产精品v| 欧美一区二区三区成人| a亚洲天堂av| 精品午夜一区二区三区在线观看 | 91在线码无精品| 国产一区二区三区精品视频| 亚洲一区二区欧美| 国产精品不卡在线观看| 精品国精品国产尤物美女| 欧美亚洲愉拍一区二区| 99在线精品视频| 国产在线视频一区二区三区| 亚洲成a人在线观看| 日韩一区有码在线| 国产三级精品三级在线专区| 精品噜噜噜噜久久久久久久久试看 | 国产大片一区二区| 美女精品一区二区| 午夜日韩在线观看| 亚洲一区二区三区四区五区黄| 国产精品麻豆一区二区| 国产午夜精品福利| 久久日韩粉嫩一区二区三区| 7777精品伊人久久久大香线蕉的 | 欧美日韩精品综合在线| 色综合久久久久综合体| 成人h版在线观看| 国产suv精品一区二区三区| 狠狠色狠狠色合久久伊人| 免费在线一区观看| 免费精品视频最新在线| 中文字幕中文在线不卡住| 欧美日韩高清一区二区| 91搞黄在线观看| 欧美在线色视频| 欧美在线看片a免费观看| 色婷婷综合久久久久中文一区二区 |