gpt4 book ai didi

ios - GLKQuaternion 无法正确访问 w 变量

转载 作者:行者123 更新时间:2023-11-28 22:37:04 26 4
gpt4 key购买 nike

我正在尝试找出 GLKQuaternions 的一个奇怪问题。当尝试打印出四元数的信息时,每次 w = 0 的值。虽然,在调试器区域,它清楚地显示-4.37114e-08 存储在这个值中。我不知道为什么。我的打印声明说:

NSLog(@"\n\nSLERP: Animation.Current:x:%f,y:%f,z:%f,w:%f and Animation.End:x:%f,y:%f,z:%f,w:%f", animation.Current.x, animation.Current.y, animation.Current.z, animation.Current.w, animation.End.x, animation.End.y, animation.End.z, animation.End.w);

我的结构是

typedef struct{
GLKQuaternion Start; //starting orientation
GLKQuaternion End; //ending orientation
GLKQuaternion Current; //current interpolated orientation
float Elapsed; //time span in seconds for a slerp fraction between 0 and 1
float Duration; //time span in seconds for a slerp fraction between 0 and 1
}Animation; //enables smooth 3D transitions

调试器显示如下:

enter image description here

注意 animation.End.w = -4.37114e-08 同时在调试器中声明它 = 0。我在打印语句之后立即设置了断点。有谁知道是什么原因造成的?我认为它干扰了我对 w 变量的计算。

最佳答案

%f 输出值仅保留 6 位小数。

举个例子,使用%.9f输出到9位小数。显然,-4.37114 * 10^-08 需要超过 6 位小数,因此您需要更改 NSLog 中的格式。

关于ios - GLKQuaternion 无法正确访问 w 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15627961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com