public Converter(PlotParameters parameters) { Width = parameters.Width; Height = parameters.Height; xMax = parameters.xMax; xMin = parameters.xMin; yMin = parameters.yMin; yMax = parameters.yMax; }
private PlotParameters GetParameters() { int Width = int.Parse(WidthBox.Text); int Height = int.Parse(HeightBox.Text); float XMax = float.Parse(XMaxBox.Text); float XMin = float.Parse(XMinBox.Text); float YMax = float.Parse(YMaxBox.Text); float YMin = float.Parse(YMinBox.Text); PlotParameters parameters = new PlotParameters(Width, Height, XMin, XMax, YMin, YMax); return(parameters); }
public static int YConvertToPC(float y, PlotParameters parameters) { int result = Convert.ToInt32(Math.Round(parameters.Height / (parameters.yMax - parameters.yMin) * (parameters.yMax - y), 0)); if (result < -parameters.Height) { return(-parameters.Height); } if (result > 2 * parameters.Height) { return(2 * parameters.Height); } return(result); }
public static int XConvertToPC(float x, PlotParameters parameters) { int result = Convert.ToInt32(Math.Round(parameters.Width / (parameters.xMax - parameters.xMin) * (x - parameters.xMin), 0)); if (result < -parameters.Width) { return(-parameters.Width); } if (result > 2 * parameters.Width) { return(2 * parameters.Width); } return(result); }
private void InputYBox_TextChanged(object sender, EventArgs e) { try { PlotParameters parameters = GetParameters(); OutputYBox.BackColor = Color.White; if (rbDecart.Checked) { float y = float.Parse(InputYBox.Text); OutputYBox.Text = Converter.YConvertToPC(y, parameters).ToString(); } else { int y = int.Parse(InputYBox.Text); OutputYBox.Text = Converter.YBackConvert(y, parameters).ToString(); } } catch (Exception) { OutputYBox.Text = ""; OutputYBox.BackColor = Color.LightCoral; } }
public static float YBackConvert(int y, PlotParameters parameters) { return(parameters.yMax - ((parameters.yMax - parameters.yMin) * (float)y / parameters.Height)); }
public static float XConvertToDecart(int x, PlotParameters parameters) { return(parameters.xMin + ((parameters.xMax - parameters.xMin) * (float)x / parameters.Width)); }