所以我试图将 numpy 数组写入二进制 PLY 文件,需要类型转换。我所做的是
A = array([0. , 0.00333476, 0.29804176, 0.66598558])
A.astype([('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
输出:
array([(0, 0. , 0. , 0. ),
(0, 0.00333476, 0.00333476, 0.00333476),
(0, 0.29804176, 0.29804176, 0.29804176),
(0, 0.6659856 , 0.6659856 , 0.6659856 )],
dtype=[('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
期待:
array((0, 0.00333476, 0.29804176, 0.6659856), dtype=[('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])
顺便说一句,我使用的是 numpy 版本“1.24.4”,这是一个错误吗?
你必须使用元组
A = array((0. , 0.00333476, 0.29804176, 0.66598558))
A.astype([('idx', '<i4'), ('x', '<f4'), ('y', '<f4'), ('z', '<f4')])