示例#1
0
        public override double GenerateValue()
        {
            StartPhase += 2.0 * Math.PI * Frequence * (1.0 + (FM?.GenerateValue() ?? 0.0)) / ValuesCount;
            double cycle = 2.0 * Math.PI;

            return((StartPhase % cycle) / cycle > PulseTime ? 0.0 : Amplitude);
        }
示例#2
0
 public override double GenerateValue()
 {
     StartPhase += Math.PI * Frequence * (1.0 + (FM?.GenerateValue() ?? 0.0)) / ValuesCount;
     return(-2 * Amplitude / Math.PI * Math.Atan(1.0 / Math.Tan(StartPhase)));
 }
 public override double GenerateValue()
 {
     StartPhase += 2.0 * Math.PI * Frequence * (1.0 + (FM?.GenerateValue() ?? 0.0)) / ValuesCount;
     return(2.0 * Amplitude / Math.PI * Math.Asin(Math.Sin(StartPhase)));
 }