2016-09-26 74 views
-1

我有一個頂點法線的二進制文件。該值被編碼爲字節。如何從字節編碼角度並將角度轉換爲浮點數? 示例:如何從字節c得到角度#

binary: 128, 128, 255 

obviously in angles it's: 90*, 90*, 180* 

如何獲得float值?

值顯然是0.5 0.5 1.0但是什麼是C#代碼,所以我可以將字節從128轉換爲0.5f?

+1

你是否只在'[0..180]'範圍內有角度? –

+0

簡單的數學? 255 => 180導致180/255 *值給你的角度 –

+0

我猜測它; s -180 ... 180 –

回答

2

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; 
+0

我這樣做了,但是我得到的結果是錯誤的.. –

+1

@MrJox錯誤如何?你期待什麼結果,你會得到什麼? – Abion47

+0

另一個例子: 二進制:29,208,112 float:-0.6084800,0.7681854,0.1991063 –