2016-09-26 73 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 –