Javascript - Как кодировать с плавающей запятой в двоичном с IEEE 754
В настоящее время я пишу на STL-Splitter, основанный на файле Three.js STLLoader.js. Этот маленький инструмент должен проанализировать STL-файл и сохранить плавающие точки в массиве. После этого я просматриваю, какие треугольники связаны, и сохраняю их в строку, которую я отправляю на сервер, который создает новый файл STL (с PHP). Это на самом деле работает.
Но после декодирования двоичного файла и сохранения чисел с плавающей запятой я понятия не имею, как преобразовать числа с плавающей запятой обратно в правильный формат, например так:
UINT8[80] – Header
UINT32 – Number of triangles
foreach triangle
REAL32[3] – Normal vector
REAL32[3] – Vertex 1
REAL32[3] – Vertex 2
REAL32[3] – Vertex 3
UINT16 – Attribute byte count
end
В настоящее время я пишу его в формате ASCII, не имеет значения, какой у вас формат. Может быть, поможет небольшой пример или ключевое слово (которое я могу найти).
Спасибо за вашу помощь! (Sry, если это "нуб"- вопрос:/)
1 ответ
Я не уверен, на каком языке вы хотите решить эту проблему, но в javascript/node.js вы должны создать buffer
с фиксированным размером. В буфер можно добавить заголовок (84 байта) и затем лица с нормалями. использование buf.writeFloatLE()
функция. В конце концов, вы можете записать весь буфер в файл или делать с ним все, что захотите.