通過鍵盤控制魔方每層轉動,實現真正魔方效果
旋轉 主要是先找到需要旋轉的9個小立方塊,18個保持原狀態的小立方塊,旋轉的時候通過旋轉座標軸來達到效果,timeline 控制動畫
/*儲存timeline變化數值 */
void glwidget::rotatecube(int
angle)
旋轉座標軸
//繪製旋轉要動的方塊
glrotatef( timelinerotateangle, xroll, yroll, zroll );
for(int i=0;i<9;i++)
glrotatef( -timelinerotateangle, xroll, yroll, zroll );
//繪製不用旋轉的方塊
for(int i=0;i<18;i++)
計算顏色變化
正確更新旋轉後的顏色是重點之一
比如,最外層白色 繞z軸旋轉90度,9個小立方塊顏色變化?
繞z軸旋轉,立方塊前後面的顏色不變,上右下左面顏色依次更改。實際中,拿乙個真實的魔方比較,可以更直觀的感受。
3.旋轉角度
旋轉的角度有90,180,270,360四種情況,每種情況都可以用90度來表示,比如旋轉270度,即3個90度,所以實現旋轉90即可。
C 三階魔方還原
include include include using namespace std 表示每個面除中間的另外8個的位置 short int cen 6 8 轉換陣列,12種變換,兩兩對應,每次轉換會更改20個位置 short int change 12 20 char a 54 初始狀態 int ...
python三階魔方 三階魔方還原公式
1.第二層稜塊歸位 2.頂層十字 3.頂層稜中間塊歸位 這一步的目的是使頂層的4個稜中間塊全部歸位。轉動頂層 u 若可以使乙個稜中間塊歸位 如下圖左,這裡以 紅 黃 塊為例 而其他3個都不能歸位,則將 紅 黃 所在這一面 紅面 定為正前面 f 按照圖示步驟轉動,可使4塊稜中間塊全部歸位,或出現下一種...
魔方會還原六面了
魔方大家都玩過吧,以前我還覺得還原六面是不可思議的事情,沒想到現在我也行!一般人不經過任何訓練,基本都能還原一面,更進一步還原一層也是沒有問題的,我也就是還原一層的能力。前些天兒子買了乙個魔方,不捨得打亂,說是亂了就不能還原了。我給他打氣說,你好好做作業,我現在學習,兩個星期後我就學會了。兒子悄悄告...