protected void PlotGammaXY(ComplexXY gammaXY, Color c, bool reset = true)
        {
            //Reset chart.
            if (reset)
            {
                this.smithChart.PlotImpedanceChart();
            }

            //Plot.
            this.smithChart.plotGammaSpace(gammaXY, c, 1.0);

            //Invalidate.
            this.smithChart_pb.Invalidate();
        }
Beispiel #2
0
        public void plotGammaSpace(ComplexXY gammaXY, Color cc, double minMagnitudeShown)
        {
            //this.MarkPoint(0,0 , Color.White, 100);

            for (int row = 0; row < gammaXY.inputs.Mag.N; row++)
            {
                for (int col = 0; col < gammaXY.inputs.Phase.N; col++)
                {
                    if (gammaXY.outputs[row, col].Magnitude > minMagnitudeShown)
                    {
                        this.plotGamma(gammaXY.inputs.Access(row, col), cc);
                    }
                }
            }
        }
        protected void PlotGammaFn(Func <ComplexLinearSpace, Complex[, ]> gammaMapFn, Color c, int N_magGammaLS = 200, int N_angleGammaLS = 200, bool reset = true)
        {
            //Sweep and calculate.
            ComplexLinearSpace gammaLS_Sweep = new ComplexLinearSpace(
                new LinearSpace(0.0, 1.0, (int)N_magGammaLS),
                new LinearSpace(0.0, 360, (int)N_angleGammaLS)
                );
            ComplexXY gammaXY = new ComplexXY(gammaLS_Sweep, gammaMapFn);

            //Reset chart.
            if (reset)
            {
                this.smithChart.PlotImpedanceChart();
            }

            //Plot.
            this.smithChart.plotGammaSpace(gammaXY, Color.Red, 1.0);

            //Invalidate.
            this.smithChart_pb.Invalidate();
        }