我有一個頂點法線的二進制文件。該值被編碼爲字節。如何從字節編碼角度並將角度轉換爲浮點數? 示例:如何從字節c得到角度#
binary: 128, 128, 255
obviously in angles it's: 90*, 90*, 180*
如何獲得float值?
值顯然是0.5 0.5 1.0但是什麼是C#代碼,所以我可以將字節從128轉換爲0.5f?
我有一個頂點法線的二進制文件。該值被編碼爲字節。如何從字節編碼角度並將角度轉換爲浮點數? 示例:如何從字節c得到角度#
binary: 128, 128, 255
obviously in angles it's: 90*, 90*, 180*
如何獲得float值?
值顯然是0.5 0.5 1.0但是什麼是C#代碼,所以我可以將字節從128轉換爲0.5f?
byte
有一系列的[0..255]
,所以如果你將其映射到一個[0.0..1.0]
範圍內,這是簡單的數學:
double angle = byteValue/255.0;
在這一點上,你可以再乘以任何角度系統你的願望。
// Degrees
double angleDeg = angle * 360.0;
// Radians
double angleRad = angle * 2.0 * Math.PI;
我這樣做了,但是我得到的結果是錯誤的.. –
@MrJox錯誤如何?你期待什麼結果,你會得到什麼? – Abion47
另一個例子: 二進制:29,208,112 float:-0.6084800,0.7681854,0.1991063 –
你是否只在'[0..180]'範圍內有角度? –
簡單的數學? 255 => 180導致180/255 *值給你的角度 –
我猜測它; s -180 ... 180 –