using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.Load += Form1_Load;
}
private void Form1_Load(object sender, EventArgs ev)
{
var pen1 = new Pen(Color.Green);
pen1.Width = 1f / 20;
var pen2 = new Pen(Color.Red);
pen2.Width = 1f / 20;
var pen3 = new Pen(Color.Blue);
pen3.Width = 1f / 20;
var pen4 = new Pen(Color.Yellow);
pen4.Width = 1f / 20;
this.Paint += (s, e) =>
{
var g = e.Graphics;
g.Clear(Color.FromArgb(253, 241, 219));
g.SmoothingMode = SmoothingMode.AntiAlias;
g.DrawLine(pen1, new Point(0, Height / 2), new Point(Width, Height / 2));
g.DrawLine(pen1, new Point(Width / 2, 0), new Point(Width / 2, Height));
{
PointF point = PointF.Empty;
for (int _x = 0; _x < Width; _x++)
{
var x = _x - Width / 2;
var y = Convert.ToSingle(100 * Math.Sin(.1 * x));
var _y = -y + Height / 2;
var pt = new PointF(_x, _y);
if (!point.IsEmpty)
{
g.DrawLine(pen1, point, pt);
}
point = pt;
}
}
{
PointF point = PointF.Empty;
for (int _x = 0; _x < Width; _x++)
{
var x = _x - Width / 2;
var y = Convert.ToSingle(100 * Math.Cos(.1 * x));
var _y = -y + Height / 2;
var pt = new PointF(_x, _y);
if (!point.IsEmpty)
{
g.DrawLine(pen2, point, pt);
}
point = pt;
}
}
{
PointF point = PointF.Empty;
for (int _x = 0; _x < Width; _x++)
{
var x = _x - Width / 2;
var y = Convert.ToSingle(100 * Math.Tan(.1 * x));
var _y = -y + Height / 2;
var pt = new PointF(_x, _y);
if (!point.IsEmpty)
{
g.DrawLine(pen3, point, pt);
}
point = pt;
}
}
{
PointF point = PointF.Empty;
for (int _x = 0; _x < Width; _x++)
{
var x = _x - Width / 2;
if (x <= 0) continue;
var y = Convert.ToSingle(10 * Math.Log(.1 * x));
var _y = -y + Height / 2;
var pt = new PointF(_x, _y);
if (!point.IsEmpty)
{
g.DrawLine(pen3, point, pt);
}
point = pt;
}
}
{
PointF point = PointF.Empty;
for (int _x = 0; _x < Width; _x++)
{
try
{
var x = _x - Width / 2;
var y = Convert.ToSingle(10 * Math.Pow(Math.E, .1 * x));
var _y = -y + Height / 2;
var pt = new PointF(_x, _y);
if (!point.IsEmpty)
{
g.DrawLine(pen3, point, pt);
}
point = pt;
}
catch
{
break;
}
}
}
};
}
}
}