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); }