public override CVector2 GetWave(CVector2 start, float wavenumber, float depth) { //high n means it's slow. CVector2 phase = -wavenumber * depth * refractiveIndex; var rotated = new CVector2( start.X * Complex.Rotate(phase.X.R), start.Y * Complex.Rotate(phase.Y.R)); return(rotated); }
public abstract CVector2 GetWave(CVector2 start, float wavenumber, float depth);