關於方塊的轉向... - 魔術方塊

Table of Contents

※ 引述《bohsing (遜哥)》之銘言:
: 之前好像也有人 po 過類似的文章...
: 不過我最後還是沒搞懂...
: 就是 x x' y y' z z'... 到底哪個是 R向 哪個是 U向 哪個是 F向啊...
: 許老師的... 魚大的... Gan 的...
: 好像定義並不一樣... 阿 我也搞不太清楚...
: 難道沒有統一嗎??
: 更重要的是... 明明沒有特別說明哪個字母代表哪個轉向...
: 可是版胞們都看懂了... 真是神奇...(從推文中 大家似乎都懂了)
: 這是大家獨特的默契? 還是方塊板上共同的約定啊...?
: 以前就想 po 這個問題... 後來就忘記了...
: 直到剛剛到精華區找花式的文章 想轉花式 結果都敗在 轉向上><"
: 以上~~

請注意:

以下純屬臆測
希望有學過java的人
能夠替我證實一下

雖然我不懂java
但我覺得情況可能是這樣……


首先我要強調一點的是:

程式的座標系統本來就不一定符合數學的習慣。

例如以前在學程式設計
2d繪圖的時候
原點是在「左上角」
而不是一般大家所熟悉的左下角


原點
┌───────→x








y


亦即:

假設這裡有一個點



╰(x,y)

如果x的值增加,則點向右方移動;
如果y的值增加,則點向下方移動。


一般所熟知的平面座標系統是這樣:

y


第二象限第一象限

─────┼─────→x

第三象限第四象限


所以它基本上和數學上的座標是上下顛倒的
就連「第四象限」也和它不同

之所以會這樣,是因為電腦螢幕顯示方式的關係
電腦螢幕將文字(文字其實也是一種圖案)及圖案畫上去時
是以由左至右,由上至下的方式進行
就像這篇文章本身文字的排列方向一樣


如果「⊙」代表由螢幕垂直往使用者「面前指出」的話



眼睛 ←─── 電腦螢幕


那麼java程式的立體座標很有可能是這個樣子的:


z ───────→x


註:z 軸垂直螢幕朝您的眼睛





y


這時我們在原點放一個魔術方塊就變成:

原點
z ───────→x(方塊R面)


註:z 軸垂直螢幕朝您的眼睛
│ (方塊U面)




y
(方塊F面)

所以xyz軸,對應至方塊則為RFU三面。

然而,這樣的座標和數學上的立體座標是不同的

數學上立體座標系統與「向量╳乘」的方式一樣
符合「右手定則」
(註:向量的乘法有兩種。一種是˙乘;一種是╳乘)

右手定則就是將右手打開
大拇指往右方指,不與四指並攏

那麼拇指方向代表x
四指方向代表y
掌心方向代表z

所以上述若要改為數學座標
必須改變其中一個方向軸(x、y、z均可)

以改變z軸為例:


原點
z ───────→x


註:z 軸垂直螢幕離開您的眼睛




※此為數學座標
y

調整一下角度可以變這樣:


原點
y ───────→x


註:y 軸垂直螢幕朝您的眼睛




※此為數學座標
z

把方塊放上去可以變這樣:


原點
y ───────→x(方塊R面)


註:y 軸垂直螢幕朝您的眼睛
│ (方塊U面)



※此為數學座標
z
(方塊F面)

那麼,現在問題來了
到底我們要以程式座標為主
還是數學座標為主才對呢?

個人認為還是數學座標
會比較正統吧?

懂java的人請幫個忙吧!

puzzlez
2007/09/05

  ︿   ︿
| z | y (四指)
| |
+|---+ +|---+
/ | /| / | /|
+----+ ------〉 +----+ ------〉
| | + x | | + x(拇指)
| / |/ | / |/
+/---+ +/---+
/ /
y z(掌心)

java 所採用的座標系統 數學座標系統
卡氏右手立體座標系統
(Cartesian Right-Handed dimensional System)

板友之所以沒有問題的可能原因:

1. 有些人碰的公式,幾乎很少遇到xyz。(像我還在lbl)
2. 有很多人只專注在某人的網頁(例如許老師的),所以沒有搞混之虞。
3. 有些人看網頁之前就特別注意xyz的位置了。
4. 運氣很好,碰上的網頁都是用同一個系統。
5. 很多網站都有附動畫,所以不會搞錯。
6. 板友是個人才。


--

All Comments

Caroline avatarCaroline2007-09-08
推!! 請懂的人也說一下吧
Freda avatarFreda2007-09-12
原本視窗系統就是以左上角為原點
Brianna avatarBrianna2007-09-12
與java無關
Candice avatarCandice2007-09-16
只有一些東西像openGL才以左下角為原點
Andy avatarAndy2007-09-19
改成java「所採用」的座標系統,就沒語病了吧?
Puput avatarPuput2007-09-21
好認真啊 XD
Isla avatarIsla2007-09-23
樓上放長假哦~XD 怎麼沒人打那天的板聚文啊?
Jacky avatarJacky2007-09-26
好深奧XD
Yuri avatarYuri2007-09-28
推推推 懂啦 感謝!!!!!~
Caroline avatarCaroline2007-10-01
推推 這一篇值三銀XD
Ivy avatarIvy2007-10-04
死小鬼查那個作啥?-.-"
Genevieve avatarGenevieve2007-10-05
推研究精神...