private void buttonOk_Click(object sender, EventArgs e) { if (textBoxA.Text.CompareTo("") == 0) { textBoxA.Text = "0"; } if (textBoxB.Text.CompareTo("") == 0) { textBoxB.Text = textBoxA.Text; } if (textBoxC.Text.CompareTo("") == 0) { textBoxC.Text = textBoxB.Text; } if (textBoxD.Text.CompareTo("") == 0) { textBoxD.Text = textBoxC.Text; } result = true; switch (comboType.SelectedItem.ToString()) { case "Линейная Z": { double a = Convert.ToDouble(textBoxA.Text); double b = Convert.ToDouble(textBoxB.Text); curFun = new zLinear(a, b); } break; case "Линейная Сплайн": { double a = Convert.ToDouble(textBoxA.Text); double b = Convert.ToDouble(textBoxB.Text); curFun = new sLinear(a, b); } break; case "Треугольная": { double a = Convert.ToDouble(textBoxA.Text); double b = Convert.ToDouble(textBoxB.Text); double c = Convert.ToDouble(textBoxC.Text); curFun = new triangleFunc(a, b, c); } break; case "Трапецевидная": { double a = Convert.ToDouble(textBoxA.Text); double b = Convert.ToDouble(textBoxB.Text); double c = Convert.ToDouble(textBoxC.Text); double d = Convert.ToDouble(textBoxD.Text); curFun = new trapFunc(a, b, c, d); } break; } Close(); }
void drawFunc(Graphics grBack, fuzzyFuncs func, int w, int h) { List<PointF> pt = func.getValues(); float dist = (float)((w - 20.0f) / model1.outService.dist); //term PointF[] points = new PointF[pt.Count]; for (int i = 0; i < pt.Count; i++) { points[i] = new PointF((pt[i].X * dist) + 10, (h - 30.0f) - pt[i].Y * (h - 30.0f) + 10.0f); } grBack.DrawLines(new Pen(Color.Green, 2), points); for (int i = 0; i < points.Length; i++) { PointF p = points[i]; grBack.FillEllipse(new SolidBrush(Color.Green), new RectangleF(p.X - 3, p.Y - 3, 6, 6)); } //labels List<PointF> l = func.getValues(1.0f); float x = (l[1].X * dist) + 10; // for (int i = 0; i < l.Count-2; i++) // { // x += (l[i].X * dist) + 10; // } //= (points[0].X+points[points.Length-1].X)/2.0f; //x /= 2; grBack.DrawString(func.fuzzyName, new Font("Arial", 8), new SolidBrush(Color.Red), new PointF(x, -2)); }
void drawFunc(float r, Graphics grBack, fuzzyFuncs func, int w, int h) { float dist = (float)((w - 20.0f) / model1.outService.dist); //solution List<PointF> ptSolution = func.getValues(r); PointF[] ptsSolution = new PointF[ptSolution.Count]; for (int i = 0; i < ptSolution.Count; i++) { ptsSolution[i] = new PointF((ptSolution[i].X * dist) + 10, (h - 30.0f) - ptSolution[i].Y * (h - 30.0f) + 10.0f); } grBack.FillPolygon(new HatchBrush(HatchStyle.Weave, Color.Black, Color.White), ptsSolution); }
void drawFunc(bool key, Graphics grBack, fuzzyFuncs func, int w, int h) { List<PointF> pt = func.getValues(); float dist = (float)((w - 20.0f) / U); PointF[] points = new PointF[pt.Count]; for (int i = 0; i < pt.Count; i++) { points[i] = new PointF((pt[i].X * dist) + 10, (h - 30.0f) - pt[i].Y * (h - 30.0f) + 10.0f); } if (key) { Pen pen = new Pen(Color.Red, 3); pen.DashStyle = DashStyle.Dash; grBack.DrawLines(pen, points); } else { grBack.DrawLines(new Pen(Color.Green, 2), points); } for (int i = 0; i < points.Length; i++) { PointF p = points[i]; grBack.FillEllipse(new SolidBrush(Color.Green), new RectangleF(p.X - 3, p.Y - 3, 6, 6)); } }
public void setSkidkaFunc(fuzzyFuncs discount) { this.discount = discount; this.discount.fuzzyName = "Скидка льготным категориям (%)"; }
public fuzzyFuncDlg(fuzzyFuncs func) { InitializeComponent(); curFun = func; }
public void setCostFunc(fuzzyFuncs cost) { this.cost = cost; this.cost.fuzzyName = "Стоимость обслуживания (руб)"; }
public void setCountFunc(fuzzyFuncs count) { this.count = count; this.count.fuzzyName = "Количество льготников (%)"; }
public void setAppFunc(fuzzyFuncs app) { this.app = app; this.app.fuzzyName = "Обращения граждан (шт)"; }
public fuzzyProfit3(fuzzyFuncs app,fuzzyFuncs cost,fuzzyFuncs discount,fuzzyFuncs count) { this.app = app; this.cost = cost; this.discount = discount; this.count = count; app.fuzzyName = "Обращения граждан (шт)"; cost.fuzzyName = "Стоимость обслуживания (руб)"; discount.fuzzyName = "Скидка льготным категориям (%)"; count.fuzzyName = "Количество льготников (%)"; }
public fuzzyProfit3() { app = new triangleFunc(200,300,800); cost = new trapFunc(250, 500, 800, 2000); discount = new trapFunc(3, 5, 7, 10); count = new triangleFunc(15, 20, 30); app.fuzzyName = "Обращения граждан (шт)"; cost.fuzzyName = "Стоимость обслуживания (руб)"; discount.fuzzyName = "Скидка льготным категориям (%)"; count.fuzzyName = "Количество льготников (%)"; }
public void removeTerm(fuzzyFuncs func) { funcs.Remove(func); }
public void addTerm(fuzzyFuncs func) { funcs.Add(func); }