[英]C++ Rotating Cube in Coordinates (non-draw)
我一直在尋找很長一段時間而沒有任何結果,一直在為自己計算數學約一個星期以上。
我的目標是設置光標位置,以使其形成旋轉立方體的方式與OpenGL旋轉立方體邊框類似。
由於OpenGL內置了旋轉功能,因此我無法適應。 我只是想知道是否有人對我將如何處理有任何想法。 如果您想知道此點是什么,則在每個創建的幀(多維數據集旋轉點)上,它都具有擦除在MsPaint中繪制的所有內容的功能,然后開始繪制下一個位置,基本上是創建一個正在繪制的旋轉多維數據集。
如果您嘗試在C語言中旋轉多維數據集而沒有任何專用庫的幫助,則應使用Matrix操作轉換坐標。
對於2D旋轉,例如(f-旋轉角度,+-是旋轉方向):
|cos f +-sin f| |x| |x'|
| | | | = | |
|+-sin f cos f| |y| |y'|
對於3D旋轉,應使用3x3像素。 另外,您還應該旋轉軸,並根據它選擇矩陣M :
Mx (繞x軸旋轉):
|1 0 0 ||x| |x'|
|0 cos f -sin f||y| = |y'|
|0 sin f cos f||z| |z'|
我的 (繞y軸旋轉):
|cos f 0 sin f ||x| |x'|
| 0 1 0 ||y| = |y'|
|-sin f 0 cos f ||z| |z'|
Mz (繞z軸旋轉):
| cos f -sin f 0 ||x| |x'|
| sin f cos f 0 ||y| = |y'|
| 0 0 1 ||z| |z'|
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.