You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, thanks first off for this impressive library. It's been a joy playing around with it so far.
I found the gluLookAt example recently on observable and wanted to try it out on the actual camera used in a 3DPGA setup. I copied over the align function:
var align = (p,q)=>{
for (var i=0, M=1, P=!1, Q=!1; i<p.length; ++i) {
P = Q & (M >>> p[i]);
Q = Q & q[i];
M = (1 + Q.Normalized / P.Normalized).Normalized * M;
}
return M
}
But noticed I was getting NaNs in the output multivectors. After digging around a bit, I realised that !1 returns false, so P and Q aren't initialized to the pseudoscalar, as expected.
So returning false seems to be the intended behaviour.
For now, I found a workaround by just using Element.toEl(1).Dual directly, but I wanted to raise this issue in case anyone else bumps into it. I'm not sure if it's possible to remove the typeof a =='number' check without unintended consequences, but it would be nice to have a consistent dual operation for 1, especially if we shouldn't use the pseudoscalar directly if it's degenerate?
Thanks in advance!
The text was updated successfully, but these errors were encountered:
Hi, thanks first off for this impressive library. It's been a joy playing around with it so far.
I found the gluLookAt example recently on observable and wanted to try it out on the actual camera used in a 3DPGA setup. I copied over the align function:
But noticed I was getting NaNs in the output multivectors. After digging around a bit, I realised that
!1
returns false, so P and Q aren't initialized to the pseudoscalar, as expected.The line in question seems to be:
So returning false seems to be the intended behaviour.
For now, I found a workaround by just using
Element.toEl(1).Dual
directly, but I wanted to raise this issue in case anyone else bumps into it. I'm not sure if it's possible to remove thetypeof a =='number'
check without unintended consequences, but it would be nice to have a consistent dual operation for 1, especially if we shouldn't use the pseudoscalar directly if it's degenerate?Thanks in advance!
The text was updated successfully, but these errors were encountered: