Моя задача - прочитать данные вершин из двоичного файла с прямым порядком байтов .ply. Проблема в том, что я не могу найти способ правильно извлечь данные, начиная с строки end_header.
PLY файл:
ply
format binary_little_endian 1.0
element vertex 240753
property float x
property float y
property float z
property float nx
property float ny
property float nz
element face 477808
end_header
(after the end header there is a A0 byte indicating the new line then, ...)
AC76A0C04301644163416a42 ...
Я не могу правильно определить даже первое поплавок. Если я конвертирую первые 4 байта, используя представление IEE754 для float, результат будет -3.5047936775001176e-12, однако первые четыре байта (= первая координата x первой вершины) должны быть -5.01449 (согласно преобразованию meshlab из двоичного файла в файл ascii ply ).
Я использую c ++ fread, fseek, ...
Я пробовал менять порядок байтов каждые 4 байта, но результат тоже плохой.
Я считаю, что неправильно извлекаю байты.