コード例 #1
0
    float GetOmega(MyParticle flake, Vector3 axis)
    {
        float   omega;
        Vector3 center = axis;

        // axis is the direction
        Vector3 xvi   = vortex.BaseToParticle(flake.transform.position, center);
        float   li    = vortex.ProjectionLengthAtParticle(xvi);
        Vector3 ri    = vortex.OrthoVFromAxisToParticle(xvi, li);
        float   riMag = vortex.RadiusDistFromParticleToAxis(ri);


        if (vortex.InVortexCylinder(li, riMag))
        {
            float fi = vortex.Frequency(riMag);
            omega = vortex.GetOmega(fi);
        }
        else
        {
            omega = 0f;
        }
        return(omega);
    }