a318: 空空的魔法練習 - 旋轉
標籤 : 四元數 數學 歐拉角 矩陣
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Special

最近更新 : 2023-04-29 10:58

內容

空空是金石魔法學院的學生,主修空間魔法。而想成為一名空間魔法師,則必須對空間有十足的了解。以下是空空的老師出的一個練習:

給定一個初始向量$\vec v$、旋轉軸向量$\vec r$、旋轉角度$\theta$,請求出$\vec v$以$\vec r$為旋轉軸,逆時針旋轉$\theta$度後,所得的新向量$\vec u$。

由於涉及小數運算,因此僅需將答案控制在誤差內即可:計算所得的新向量$\vec u(u_x,\ u_y,\ u_z)$,只要$u_x,\ u_y,\ u_z$分別與各自的精確值相差不超過$10^{-6}$,便算正確。

輸入說明

輸入有三行。

第一行包含3個數 $v_x\ v_y\ v_z$,代表初始向量$\vec v$的直角座標。

第二行包含3個數 $r_x\ r_y\ r_z$,代表旋轉軸向量的$\vec r$的直角座標。

第三行包含1個數與1個字串 $\theta\ unit$,前者代表旋轉角度的數值,後者代表單位--若為deg則單位為度,若為rad則單位為弧度。

測資範圍:

  • 沒有零向量
  • $0 \leq |v_x|,\ |v_y|,\ |v_z|,\ |r_x|,\ |r_y|,\ |r_z| \leq 10^5$
  • $ \theta $ 代表的角度度數不超過 360*100度 = 100圈
  • $unit$ = $\text{deg}$ 或 $\text{rad}$
輸出說明

輸出三個數$u_x\ u_y\ u_z$,代表旋轉後的向量直角坐標。

這三個數只要分別與實際精確值相差不到$10^{-6}$便算正確。

範例輸入 #1
3 4 0
0 0 1
90 deg
範例輸出 #1
-4 3 0
範例輸入 #2
2 3 6
1 0 0
90 deg
範例輸出 #2
2.0 -6.0 3.0
範例輸入 #3
-2 1 2
1 1 0
0.78539816339 rad
範例輸出 #3
-0.5606602 -0.4393398 2.9142136
測資資訊:
記憶體限制: 64 MB
不公開 測資點#0 (20%): 1.0s , <1K
不公開 測資點#1 (20%): 1.0s , <1K
不公開 測資點#2 (20%): 1.0s , <1K
不公開 測資點#3 (20%): 1.0s , <1K
不公開 測資點#4 (20%): 1.0s , <1K
提示 :

範例測資三,該角度為 $\pi / 4$ = 45度。

只要在答案誤差內,輸出整數或小數皆可。

標籤:
四元數 數學 歐拉角 矩陣
出處:
computer graphics [管理者:
911091@stu.c... (17莊明達 David)
]


編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」