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

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

?? java-codes.txt

?? 3D魔方的小游戲
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
        //變換量
        transx.rotX(Math.toRadians(0));//anglex
        transy.rotY(Math.toRadians(0));
        transz.rotZ(Math.toRadians(0));
        transp.setTranslation(new Vector3f(fx,fy,fz));
        //生效
        transGroupp.setTransform(transp);
        transGroupx.setTransform(transx);
        transGroupy.setTransform(transy);
        transGroupz.setTransform(transz);
    }
int[] jisuanNextXYZ(char doType,int totateArg,int oldx,int oldy,int oldz)
//需要變量x,y,z,doType,totateArg,輸出返回到數組
{
//System.out.println("計算下一個點。。。");
//用于計算
int newz=0;
int newy=0;
int newx=0;
//返回時的標準格式
int[] nextXYZ={0,0,0};

//計算時接收調用外面函數的返回函數值
int[] myShunShiNext={0,0};
if(totateArg==0)
{
//當totateArg為0時,沒有可用的if匹配,返回原位置
newx=oldx;
newy=oldy;
newz=oldz;
//返回結果
nextXYZ[0]=newx;
nextXYZ[1]=newy;
nextXYZ[2]=newz;
//System.out.println("\n變為位置:"+newx+newy+newz);
return nextXYZ;
}
//
//System.out.println("\n原位置:"+oldx+oldy+oldz);
//System.out.println("繞:"+doType+"轉"+totateArg);

switch(doType)
{
case 'Z' :
            newz=oldz ;
if(totateArg==90)
           {myShunShiNext=quXiaYiGe(oldx,oldy,1);
}
else if (totateArg==180)
           {myShunShiNext=quXiaYiGe(oldx,oldy,2);
}
else if(totateArg==-90)
           {myShunShiNext=quXiaYiGe(oldx,oldy,3);
}
newx=myShunShiNext[0];
newy=myShunShiNext[1];
break;

case 'Y' :
            newy=oldy ;
if(totateArg==90)
           {myShunShiNext=quXiaYiGe(oldz,oldx,1);
}
else if(totateArg==180)
           {myShunShiNext=quXiaYiGe(oldz,oldx,2);
}
else if(totateArg==-90)
           {myShunShiNext=quXiaYiGe(oldz,oldx,3);
}
newz=myShunShiNext[0];
newx=myShunShiNext[1];
break;
case 'X' :
   newx=oldx ;
if(totateArg==90)
           {myShunShiNext=quXiaYiGe(oldy,oldz,1);
}
else if(totateArg==180)
           {myShunShiNext=quXiaYiGe(oldy,oldz,2);
}
else if(totateArg==-90)
           {myShunShiNext=quXiaYiGe(oldy,oldz,3);
}
newy=myShunShiNext[0];
newz=myShunShiNext[1];
break;
}
//返回結果
nextXYZ[0]=newx;
nextXYZ[1]=newy;
nextXYZ[2]=newz;
//System.out.println("\n變為位置:"+newx+newy+newz);
return nextXYZ;
}
boolean fangXiangCorrect(int argx,int argy,int argz)
{//用三個差向量判斷自轉
//System.out.println("方向判斷。。。");
 //(blockIdX-1),(blockIdY-1),(blockIdZ-1)為初始點位置,分別加1得到三個初始向量
 //xvec,yvec,zvec為保存的變化
 //減去當前的方塊位置,得到每個方向點當前向量chaxvec,chayvec,chazvec
//X點
int[] p1X=jisuanNextXYZ('X',argx,1,0,0);//原始x點便移
int[] p2X=jisuanNextXYZ('Y',argy,p1X[0],p1X[1],p1X[2]);
int[] p3X=jisuanNextXYZ('Z',argz,p2X[0],p2X[1],p2X[2]);//新的x點便移
//Y點
int[] p1Y=jisuanNextXYZ('X',argx,0,1,0);
int[] p2Y=jisuanNextXYZ('Y',argy,p1Y[0],p1Y[1],p1Y[2]);
int[] p3Y=jisuanNextXYZ('Z',argz,p2Y[0],p2Y[1],p2Y[2]);
//Z點
int[] p1Z=jisuanNextXYZ('X',argx,0,0,1);
int[] p2Z=jisuanNextXYZ('Y',argy,p1Z[0],p1Z[1],p1Z[2]);
int[] p3Z=jisuanNextXYZ('Z',argz,p2Z[0],p2Z[1],p2Z[2]);
 //System.out.println("坐標系:"+chaX+"   "+chaY+"   "+chaZ);
// 新的x點便移=當前位置x點的偏移
if(
((p3X[0]==chaxvec.x)&&(p3X[1]==chaxvec.y)&&(p3X[2]==chaxvec.z))&&
((p3Y[0]==chayvec.x)&&(p3Y[1]==chayvec.y)&&(p3Y[2]==chayvec.z))&&
((p3Z[0]==chazvec.x)&&(p3Z[1]==chazvec.y)&&(p3Z[2]==chazvec.z))
)
{System.out.println("坐標軸到位了");
return true;
}
else
{
 //System.out.println("坐標軸沒到位");
return false;
}
}
boolean weiZhiCorrect(int aidx,int aidy,int aidz,int argx,int argy,int argz)
{
int[] p1=jisuanNextXYZ('X',argx,blockIdX-1,blockIdY-1,blockIdZ-1);
int[] p2=jisuanNextXYZ('Y',argy,p1[0],p1[1],p1[2]);
int[] p3=jisuanNextXYZ('Z',argz,p2[0],p2[1],p2[2]);
if((p3[0]==aidx)&&(p3[1]==aidy)&&(p3[2]==aidz))
{System.out.println("位置對了");
return true;
}
else
{
 System.out.println("位置不對");
return false;
}
}
//僅計算逆時針旋轉時的坐標變化,當轉逆時針-90度時,轉化為3個逆時針90度
int[] quXiaYiGe(int num1,int num2,int n)
{
int[][] xiangXianZhi={{1,1},{-1,1},{-1,-1},{1,-1}}; //一,二,三,四,0,1,2,3
int[][] zouShangZhi={{1,0},{0,1},{-1,0},{0,-1}}; //
int[] result={0,0};
//System.out.println("旋轉次數為:"+n);
//System.out.println(num1+" , "+num2+"旋轉到:");
int temp=0;
for(int i=0;i<n;i++)
{
//循環一次轉一次
if(num1==0&&num2==0)//
{
num1=0;
num2=0;
//System.out.println("0");
}
else if(num1>0&&num2>0)//一象限轉到二象限
{
temp=num1;
num1=-num2;
num2=temp;
//System.out.println("1");
}
else if(num1<0&&num2>0)//二象限轉到三象限
{
 temp=num1;
num1=-num2;
num2=temp;
////System.out.println("2");
}
else if(num1<0&&num2<0)//三象限轉到四象限
{
 temp=num1;
num1=-num2;
num2=temp;
////System.out.println("3");
}
else if(num1>0&&num2<0)//四象限轉到一象限
{
 temp=num1;
num1=-num2;
num2=temp;
//System.out.println("4");
}
else if(num1>0&&num2==0)//X上到Y上
{
 temp=num1;
num1=0;
num2=temp;
//System.out.println("5");
}
else if(num1==0&&num2>0)//Y上到X上
{
 temp=num1;
num1=-num2;
num2=0;
//System.out.println("6");
}
else if(num1<0&&num2==0)//
{
 temp=num1;
num1=0;
num2=temp;
//System.out.println("7");
}
else if(num1==0&&num2<0)//
{
 temp=num1;
num1=-num2;
num2=0;
//System.out.println("8");
}
else
{System.out.println("no");}
}
//System.out.println(num1+" , "+num2);
result[0]=num1;
result[1]=num2;
return result;
}
 public void run()
  {
   //System.out.println("我的動畫開始了");
   //動畫協調,取一個id,并放出令牌
myDonghuaId=selectDonghuaId++;
selectDonghuaId%=9;
yunXingThread++;
   switch(selectedC)
  {
   case 'Z':
   {startDonghuaZ();break;
   }
   case 'Y':
   {startDonghuaY();break;
   }
   case 'X':
   {startDonghuaX();break;
   }
  }
  //最終位置
  while(!canNew)//當canNew=true時,輸出到3D界面,否則只計算
  {//System.out.println(" 我在等待計算出新值...");
  }
        //變換生效
        transGroupp.setTransform(transp);
        transGroupx.setTransform(transx);
        transGroupy.setTransform(transy);
        transGroupz.setTransform(transz);
  canNew=false;
  //System.out.println("我的動畫完成了");
   yunXingThread--;
  }
 //用來從一個原坐標和結果坐標來 搜索 3個x,y,z順序的旋轉操作,返回到needRotate[3]中
//使用了int[] jisuanNextXYZ(char doType,int totateArg,int oldx,int oldy,int oldz)
int[] shouSuoXYZRotate(int oldx,int oldy,int oldz,int aidx,int aidy,int aidz)
{//搜索自轉,不看位置,只看三個向量對不對
System.out.println("塊原始位置:"+oldx+","+oldy+","+oldz);
System.out.println("塊目標位置:"+aidx+","+aidy+","+aidz);
//存放結果
int needRotatex=0;
int needRotatey=0;
int needRotatez=0;
//轉換返回
int[] needRotate={0,0,0};
int num=0;
wancheng:
for(int j=0;j<=3;j++)
{
int toArg=0;//j=3時取0
      if(j==1){toArg=90;}
      if(j==2){toArg=-90;}
      if(j==3){toArg=180;}
for(int jj=0;jj<=3;jj++)
{
int ttoArg=0;
      if(jj==1){ttoArg=90;}
      if(jj==2){ttoArg=-90;}
      if(jj==3){ttoArg=180;}
for(int jjj=0;jjj<=3;jjj++)
{
int tttoArg=0;
      if(jjj==1){tttoArg=90;}
      if(jjj==2){tttoArg=-90;}
      if(jjj==3){tttoArg=180;}
     //System.out.println("驗證xyz旋轉.."+toArg+"  "+ttoArg+"  "+tttoArg);
     // 這個打開 有的會找不到
//boolean myBoolean1=weiZhiCorrect(nexyz[0],nexyz[1],nexyz[2],toArg,ttoArg,tttoArg);
boolean myBoolean=fangXiangCorrect(toArg,ttoArg,tttoArg);
//MoFang.myWait();
if (myBoolean)
{
needRotatex=toArg;
needRotatey=ttoArg;
needRotatez=tttoArg;
needRotate[0]=needRotatex;
needRotate[1]=needRotatey;
needRotate[2]=needRotatez;
num++;
System.out.println("*****找到了x,y,z旋轉即可*****"+toArg+" , "+ttoArg+" , "+tttoArg+"");
//return needRotate;
}
}
}
}
if(num==0)
{
System.out.println("沒有適合的xyz旋轉,不旋轉..");
MoFang.myWait();
}
else if(num>=2)
{System.out.println("###########################找到了num="+num+"個");
}
return needRotate;
}
       void startDonghuaX()
  {
            //動畫模塊
            int chuJiao ;
            int oneTime ;
            int bianJiao ;
            int nowJiao ;
            //測試
            //totateArg=90;
            chuJiao=getChujiao(yuany,yuanz);
            if(totateArg==-90)
            oneTime=-15 ;
            else
            oneTime=15 ;
                //System.out.println("chuJiao="+chuJiao);
                //System.out.println("totateArg="+totateArg);
            //nowJiao=chuJiao+bianJiao ;
            //這是目前角度公式,可見,據坐標可以判斷它的角度嘛
            for(bianJiao=0;bianJiao!=(totateArg+oneTime);bianJiao+=oneTime)
            {
            if(!closeDonghua)
            {
              while(myDonghuaId!=selectDonghuaId)//動畫同步相關輪到自己時才執行,把令牌交給下一個
             {;//System.out.println("我是"+myDonghuaId+"號,而令牌現在是"+selectDonghuaId+"號,我要等...");
       try
         {
          //System.in.read();//暫停
               myThread.sleep(whileDelay);
           }
             catch(Exception e)
           {
            }
           }
          }
                //計算x,y和角度輸出
                float fx ;
                float fy ;
                float fz ;
                //半徑
                float r;
    if(yuany==0&&yuanz==0)
    r=0;//(x,y)不變,故不用計算,直接給(0,0),初角返回任何值都可;
    else
    {
    if(yuany==0||yuanz==0)
    r=1.0f;
    else
    r=1.414f;
             }
                nowJiao=chuJiao+bianJiao ;
                //使用初角直為了計算當前(x,y)位置,當前jiaodu1與他無關,只與老角有關
                //(-1,-1)距離原點為根2,約1.732
                //0.3指定了1點在0.3,-0.3處
                fy=(float)kuaiZhongXinWeizhi*r*(float)Math.cos(Math.PI*nowJiao/180);
                fz=(float)kuaiZhongXinWeizhi*r*(float)Math.sin(Math.PI*nowJiao/180);
                fx=(float)kuaiZhongXinWeizhi*(yuanx);
                //z坐標不變,這里的z早減過了1
        //計算出了全部數據,OK,開始刷新
        //用變換量
        //transz.rotZ(Math.toRadians(anglez));
        //transy.rotY(Math.toRadians(angley));
        //transx.rotX(Math.toRadians(bianJiao+oldJiaoDu));
        transp.setTranslation(new Vector3f(fx,fy,fz));
        //生效
        //transGroupz.setTransform(transz);
        //transGroupy.setTransform(transy);
        //transGroupx.setTransform(transx);
        transGroupp.setTransform(transp);
     //停不了,只能使用多線程或定時
                //System.out.println("bianJiao="+bianJiao);
                try
              {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人先锋电影| 亚洲人成人一区二区在线观看| 天天影视网天天综合色在线播放| 欧美偷拍一区二区| 天涯成人国产亚洲精品一区av| 欧美日韩一区二区三区在线 | 欧美mv日韩mv亚洲| 国产一区二区精品久久| 国产日产欧美一区二区视频| 成人久久视频在线观看| 一区在线播放视频| 欧美久久久久久久久中文字幕| 日韩av中文在线观看| 精品欧美乱码久久久久久1区2区 | 中文字幕精品—区二区四季| 不卡免费追剧大全电视剧网站| 亚洲免费视频中文字幕| 欧美情侣在线播放| 国产精品综合二区| 亚洲柠檬福利资源导航| 欧美一区二区成人6969| 国产盗摄精品一区二区三区在线| 亚洲色图制服诱惑 | 国产人妖乱国产精品人妖| 成人激情校园春色| 午夜精品久久久久久久99水蜜桃 | 国产精品美女一区二区三区 | 国产成人精品免费一区二区| 亚洲综合一区二区三区| 精品三级在线看| 91丝袜美女网| 久久se精品一区精品二区| 亚洲欧美在线观看| 日韩欧美123| 91麻豆精品秘密| 精品一区二区三区蜜桃| 亚洲女同ⅹxx女同tv| 2023国产精华国产精品| 欧美日韩视频在线第一区| 国产乱码一区二区三区| 五月天亚洲婷婷| 1024成人网色www| 日韩精品影音先锋| 欧美色偷偷大香| 成人av电影在线网| 久久99精品久久久久久动态图| 美女在线视频一区| 欧美国产成人在线| 欧美xxxxx裸体时装秀| 欧美中文字幕不卡| 99riav久久精品riav| 国产精品一区二区在线看| 午夜亚洲福利老司机| 亚洲精品乱码久久久久久日本蜜臀| 欧美成人精精品一区二区频| 91美女福利视频| 福利一区二区在线| 精彩视频一区二区三区| 丝袜美腿亚洲色图| 亚洲国产一区二区a毛片| 亚洲欧洲综合另类| 亚洲国产精品精华液2区45| 亚洲精品一区二区三区99| 7777精品伊人久久久大香线蕉| 91欧美一区二区| 94-欧美-setu| 本田岬高潮一区二区三区| 国产福利91精品一区二区三区| 久久国产三级精品| 美国毛片一区二区| 日韩高清不卡一区二区三区| 亚洲成av人片一区二区三区| 亚洲综合视频在线观看| 亚洲自拍偷拍欧美| 亚洲一区二区三区视频在线播放 | 欧美日韩成人综合在线一区二区| 色94色欧美sute亚洲线路一久| 国产不卡一区视频| 国产福利一区在线观看| 国产福利一区在线| eeuss鲁片一区二区三区在线看| 国产精品123| 国产91丝袜在线播放九色| 丁香六月久久综合狠狠色| 福利电影一区二区| av不卡在线播放| 在线精品视频一区二区| 欧美日精品一区视频| 欧美日韩欧美一区二区| 欧美一级在线视频| 精品国产一区二区精华| 国产欧美日韩不卡| 国产精品高潮呻吟| 亚洲国产一区二区视频| 蜜臀av一区二区在线免费观看| 蜜臀av性久久久久av蜜臀妖精| 久久国内精品视频| 成人网男人的天堂| 色播五月激情综合网| 欧美精品在线观看播放| 337p粉嫩大胆噜噜噜噜噜91av| 国产婷婷精品av在线| 一区二区三区在线视频免费| 午夜亚洲国产au精品一区二区| 麻豆精品国产91久久久久久 | 国产精品一区二区男女羞羞无遮挡| 国产乱淫av一区二区三区 | 国内久久婷婷综合| 日韩欧美国产wwwww| 日本一区二区三级电影在线观看| 亚洲色图19p| 久久精品99久久久| 99精品欧美一区二区三区小说| 欧美午夜精品一区| 久久老女人爱爱| 亚洲一二三四在线| 国产美女av一区二区三区| 99国产精品久| 精品国产免费人成电影在线观看四季 | 国产精品视频一二三| 亚洲第一成人在线| 国产乱码字幕精品高清av| 欧美色成人综合| 国产欧美视频一区二区| 天天综合色天天| 99视频一区二区| 亚洲精品一区二区三区四区高清| 中文字幕日韩欧美一区二区三区| 欧美96一区二区免费视频| 99视频国产精品| 欧美精品一区二区在线观看| 亚洲美女视频在线| 激情图片小说一区| 亚洲精品视频在线看| 久久精品99国产精品| 欧美日韩亚洲高清一区二区| 欧美国产激情一区二区三区蜜月| 视频一区二区中文字幕| 91亚洲国产成人精品一区二区三| 精品国产伦一区二区三区观看方式 | 91精品久久久久久久99蜜桃| 中文字幕亚洲视频| 国产suv精品一区二区三区| 正在播放一区二区| 亚洲黄色av一区| av中文字幕一区| 国产清纯在线一区二区www| 免费在线欧美视频| 欧美日韩国产一区| 一区二区高清免费观看影视大全 | 国产最新精品免费| 日韩欧美久久久| 日韩国产欧美在线播放| 欧美日韩高清一区二区不卡 | 欧美日韩国产一级| 亚洲在线视频网站| 色综合激情久久| 日韩码欧中文字| 99热这里都是精品| 国产婷婷色一区二区三区四区 | 精品一区二区三区的国产在线播放| 欧美午夜一区二区三区| 亚洲激情五月婷婷| 国产视频一区在线播放| 久久99国产精品成人| 欧美大尺度电影在线| 久久精品免费观看| 精品国产网站在线观看| 久久99精品久久只有精品| www日韩大片| 国产99久久精品| 国产精品你懂的在线欣赏| 成人午夜av影视| 中文字幕在线观看一区二区| av高清久久久| 一区二区三区在线视频播放| 日本精品一区二区三区四区的功能| 亚洲乱码中文字幕| 欧美性大战久久久久久久蜜臀 | 欧美日韩精品欧美日韩精品| 天天综合色天天| 日韩欧美电影一二三| 国产一区二区三区不卡在线观看| 久久精品综合网| 99久久精品免费看| 性感美女久久精品| 精品国产不卡一区二区三区| 国产乱淫av一区二区三区| 国产精品国产三级国产普通话三级 | 在线视频观看一区| 日日摸夜夜添夜夜添亚洲女人| 欧美一级一级性生活免费录像| 精品一区精品二区高清| 亚洲国产精品t66y| 一本色道久久综合精品竹菊 | 裸体歌舞表演一区二区| 国产亚洲一区二区三区四区| 99久久国产免费看| 日韩中文欧美在线| 国产欧美一区二区精品秋霞影院 |