我有一个顶点法线的二进制文件。该值被编码为字节。如何从字节编码角度并将角度转换为浮点数? 示例:如何从字节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 –