Van*_*Van 3 xml hex after-effects ieee-754 floating-point-precision
我正在尝试了解 After Effect CS6 和 CC 的 aepx 文件的数字格式
坐标以 cdat 十六进制数据编码。坐标是两个数字。我制作了一个带有编码的十六进制值的数字列表,以帮助理解格式:
-100;-100 -> <cdat bdata="bfaaaaaaaaaaaaabbfb7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
100;100 -> <cdat bdata="3faaaaaaaaaaaaab3fb7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
100;200 -> <cdat bdata="3faaaaaaaaaaaaab3fc7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
200;100 -> <cdat bdata="3fbaaaaaaaaaaaab3fb7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
200;200 -> <cdat bdata="3fbaaaaaaaaaaaab3fc7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
300;300 -> <cdat bdata="3fc40000000000003fd1c71c71c71c720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
800;200 -> <cdat bdata="3fdaaaaaaaaaaaab3fc7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
800;400 -> <cdat bdata="3fdaaaaaaaaaaaab3fd7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
800,5;400 -> <cdat bdata="3fdaaeeeeeeeeeef3fd7b425ed097b420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
800,5;400,5 -> <cdat bdata="3fdaaeeeeeeeeeef3fd7bbbbbbbbbbbc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
0;400,5 -> <cdat bdata="00000000000000003fd7bbbbbbbbbbbc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
800,5;0 -> <cdat bdata="3fdaaeeeeeeeeeef00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
400,5;800,5 -> <cdat bdata="3fcab333333333333fe7b7f0d4629b7f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"/>
Run Code Online (Sandbox Code Playgroud)
有人知道这种数字格式吗?
小智 5
不确定它是否仍然相关,但是我发现它是双重表示(大端)
-100;-100 -> -0.0520833333333333 -0.0925925925925926
100;100 -> 0.0520833333333333 0.0925925925925926
200;100 -> 0.104166666666667 0.0925925925925926
200;200 -> 0.104166666666667 0.185185185185185
800;200 -> 0.416666666666667 0.185185185185185
800;400 -> 0.416666666666667 0.37037037037037
800,5;400 -> 0.416927083333333 0.37037037037037
0;400,5 -> 0.000000000000000 0.370833333333333
400,5;800,5 -> 0.20859375 0.741203703703704
Run Code Online (Sandbox Code Playgroud)
然而,这些值并不像您所期望的那样精确像素,它们代表一个系数。它们中的每一个都应该分别乘以您的构图宽度和高度。
据我所知,您的分辨率为 1920x1080:
0.416927083333333 * 1920 = 800.4999999999993
Run Code Online (Sandbox Code Playgroud)
PS 我正在研究 aepx 格式,如果您愿意贡献的话: https: //github.com/inlife/aftereffects-project-research