讲解.NET环境下绘制模糊数学中隶属函数分布图第2/5页
更新时间:2007年11月23日 17:13:15 作者:
以下是引用片段:
if (type2 == 1)
...{
for (d = 0; d <=a; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(1*unit);
y2 = o.Y - (float)(1*unit);
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1=o.Y-(float)(unit*((b-d)/(b-a)));
y2=o.Y-(float)(unit*((b-d-interval)/(b-a)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
}
else if(type2==2)
...{
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1=o.Y-(float)(unit*((d-a)/(b-a)));
y2=o.Y-(float)(unit*((d-a-interval)/(b-a)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = b; d <= (b+a); d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(1 * unit);
y2 = o.Y - (float)(1 * unit);
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
}
else if (type2 == 3)
...{
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(unit * ((d - a) / (b - a)));
y2 = o.Y - (float)(unit * ((d - a - interval) / (b - a)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = b; d <= c; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(1 * unit);
y2 = o.Y - (float)(1 * unit);
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = c; d < d1; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(unit * ((d1 - d) / (d1 - c)));
y2 = o.Y - (float)(unit * ((d1 - d - interval) / (d1 - c)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
}
}
else if (type1 == 3)
...{
//set3();
PointF o1 = new PointF(this.pictureBox1.Width / 2, this.pictureBox1.Height / 4);
e.Graphics.DrawString("1", font, brush, o1);
if (type2 == 1)
...{
for (d = 0; d <= a; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(1 * unit);
y2 = o.Y - (float)(1 * unit);
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(unit * (System.Math.Pow((b-d)/(b-a),k)));
y2 = o.Y - (float)(unit * (System.Math.Pow((b - d - interval) / (b - a),k)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
}
else if (type2 == 2)
...{
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(unit * (System.Math.Pow((d - a) / (b - a), k)));
y2 = o.Y - (float)(unit * (System.Math.Pow((d - a - interval) / (b - a), k)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
for (d = b; d <= (a+b); d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(1 * unit);
y2 = o.Y - (float)(1 * unit);
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
}
else if (type2 == 3)
...{
for (d = a; d < b; d += interval)
...{
x1 = o.X + d * unit;
x2 = o.X + (d + interval) * unit;
y1 = o.Y - (float)(unit * (System.Math.Pow((d - a) / (b - a), k)));
y2 = o.Y - (float)(unit * (System.Math.Pow((d - a - interval) / (b - a), k)));
p1 = new PointF(x1, y1);
p2 = new PointF(x2, y2);
e.Graphics.DrawLine(Pens.Blue, p1, p2);
}
相关文章
浅谈Visual C#进行图像处理(读取、保存以及对像素的访问)
本文主要介绍利用C#对图像进行读取、保存以及对像素的访问等操作,介绍的比较简单,希望对初学者有所帮助。2016-04-04


最新评论