【发布时间】:2013-11-12 05:53:02
【问题描述】:
我从PCD DATA FORMAT 中提取了以下浮点数8.8489784e-39,它表示点云的一个点的RGB 值。
我必须将其直接转换为 HEX 或 Int->RGB 或任何方式。我搜索了网络,但无法将任何东西放在一起,因为我在 javascript 中使用浮点运算的经验相当有限。
【问题讨论】:
-
应该使用什么算法进行转换? RGB 值通常为 0-255(十进制)或 0-FF(十六进制),上面的值基本上为零。如果它是米,它比电子的直径(~1.0e-15 m)小数万亿倍。
-
我不确定,我只有链接中的信息。检查链接,他们提供了一个例子。我什至不知道我必须如何解释这些数据。
-
就像@RobG 说的,他们提供的值很奇怪。如果您阅读了您链接到的那个网站,那么浮点数似乎是 rgb 值,但这根本没有任何意义。
-
您可能想在此处阅读对话:
Bug in PCD-viewer's display of color point clouds? Or am I doing something wrong?。似乎这些值可能会被修改:“保存包含 rgb 字段的点云时,请使用二进制而不是 ascii 格式。由于 rgb 被打包存储为浮点数,并且将浮点数存储为 ascii 可以引入最小位的变化,某些像素的单个 (r,g,b) 值有时最终会发生显着改变” -
不确定这有多大用处,但是:JS 在百分之一的地方开始搞砸了。如果进行任何类型的数学运算,那将解释一个接近于零的数字。例如。
1.15-1.14-.01 = 8.673617379884035e-18.
标签: javascript floating-point hex rgb