In the past, I had serious issues with using any SLERP (spherical linear interpretation) function in Opensim. In tracking the problem down, I found the culprit to be the way quaternion division is implemented in opensim:

public static Quaternion operator /(Quaternion a, Quaternion b)
    b.s = -b.s;
    return a * b;

This is multiplying the dividend by the (negative conjugate?) of the divisor. Digging into quaternions, the correct implementation should be:

public static Quaternion operator /(Quaternion a, Quaternion b)
    // First set b to it's own reciprocal (conjugate/(norm^2))
    b.x = -b.x;
    b.y = -b.y;
    b.z = -b.z;
    Quaternion inverseNormSquared = new Quaternion(0.0, 0.0, 0.0, 1.0/(b.x * b.x + b.y * b.y + b.z * b.z + b.s * b.s));
    b *= inverseNormSquared;

    // Now return a*(b^-1)
    return a * b;

I have created a patch that I use when I build opensim from source to fix this issue. It also adds unit tests for all quaternion functionality. I’m posting it here, because the Opensim project still has this in their contributions policy:

To make sure that we can accept your contribution and continue to distribute the OpenSim materials under the most free license possible, any contributions to the OpenSim project need to follow the following licensing conditions:

  • You have not studied source code from the GPL Second Life viewer or its derivatives within the last 6 months.

Didn’t Linden Lab change the licensing their viewer source code? Well, anyway, for anyone who’s interested in their quaternion division always working correctly in opensim, here’s the full patch. (HINT: If you hover your cursor over the upper-right corner of the patch on that page, a little toolbar will appear – click the left-most icon (“view source”) and a pop-up window will open, with the patch shown without any HTML formatting so it can easily be saved locally).

My family entered into a business arrangement with one Syn Short to rent 1/4 of a commercial region to build a club. The negotiations for this were carried out over the course of two days.

On the night of Feb 13 and morning of Feb 14, I was having issues with saving scripts and intended to talk to either Syn or Susi Tiratzo (her land manager) about it. It didn’t go well – I was banned from Syn’s home sim, removed from her list, and muted by her as well. However, I was still allowed on the land we were renting the rest of the 14th, and the morning of the 15. We paid tier on the 14th for the rest of February, and as far as I know not a word about this incident was mentioned to Vito by anyone when he paid the tier. The next day, on the 15, I was banned from Nova Principia and all surrounding regions. These are the conversations that went on throughout that day.

La Famiglia Rinascita

Posted: 2011/02/25 in Photos, Second Life

My SL family…Hi everyone!