Exemple #1
0
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            e.Graphics.DrawEllipse(myPen, Preobraz.xS(-1f, xMax, xmax, xmin), Preobraz.yS(1f, yMax, ymax, ymin), ElipsWidth, ElipsHeight);
            e.Graphics.DrawLine(myPen2, mypoin1, mypoin2);
            e.Graphics.DrawLine(myPen2, mypoin3, mypoin4);

            ////////////////////////////////////////
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-2f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(2f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-2f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin), Preobraz.xS(2f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.1f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.1f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.2f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.2f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.3f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.3f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.4f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.4f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.5f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.5f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.6f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.6f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.7f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.7f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.8f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.8f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.9f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1.9f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-2f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));

            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.1f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.2f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.1f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.3f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.2f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.4f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.3f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.5f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.4f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.6f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.5f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.7f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.6f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.8f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.7f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(1.9f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.8f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(2f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(1.9f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawLine(myPen2, Preobraz.xS(-1f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin), Preobraz.xS(-1.1f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            /////////////////////////////////////////

            e.Graphics.DrawString("Y", myFont, myBrush, pictureBox1.Size.Width / 2 + 2f, 0);
            e.Graphics.DrawString("X", myFont, myBrush, pictureBox1.Size.Width - 12f, pictureBox1.Size.Height / 2 + 2f);
            e.Graphics.DrawString("0;0", new Font("Arial", 8), myBrush, Preobraz.xS(0f, xMax, xmax, xmin), Preobraz.yS(0f, yMax, ymax, ymin));
            e.Graphics.DrawString("0.3", new Font("Arial", 8), myBrush, Preobraz.xS(0.1f, xMax, xmax, xmin), Preobraz.yS(0.3f, yMax, ymax, ymin));
            e.Graphics.DrawString("-0.3", new Font("Arial", 8), myBrush, Preobraz.xS(0.1f, xMax, xmax, xmin), Preobraz.yS(-0.3f, yMax, ymax, ymin));
            e.Graphics.DrawString("1", new Font("Arial", 12), myBrush, Preobraz.xS(1.05f, xMax, xmax, xmin), Preobraz.yS(0f, yMax, ymax, ymin));
            e.Graphics.DrawString("-1", new Font("Arial", 12), myBrush, Preobraz.xS(-1.2f, xMax, xmax, xmin), Preobraz.yS(0f, yMax, ymax, ymin));
            e.Graphics.DrawEllipse(myPen, Preobraz.xS(-0.01f, xMax, xmax, xmin), Preobraz.yS(0.01f, yMax, ymax, ymin), 2, 2);
            e.Graphics.DrawEllipse(myPen, Preobraz.xS(x, xMax, xmax, xmin), Preobraz.yS(y, yMax, ymax, ymin), 3, 3);
        }
Exemple #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                if (CX.Text == "" || CY.Text == "")
                {
                    MessageBox.Show("В одном из полей нет координат", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else
                {
                    x = (float)Convert.ToDouble(CX.Text);
                    y = (float)Convert.ToDouble(CY.Text);

                    pictureBox1.Invalidate();

                    if (x > 1.5 || y > 1.5 || x < -1.5 || y < -1.5)
                    {
                        MessageBox.Show("Точка за пределами допустимой области", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        параметрыToolStripMenuItem.Enabled = true;

                        if (Math.Pow(x, 2) / Math.Pow(rx, 2) + Math.Pow(y, 2) / Math.Pow(ry, 2) > 1)
                        {
                            if (Preobraz.yS(y, yMax, ymax, ymin) > Preobraz.yS(0.3f, yMax, ymax, ymin) && Preobraz.yS(y, yMax, ymax, ymin) < Preobraz.yS(-0.3f, yMax, ymax, ymin))
                            {
                                MessageBox.Show("Точка принадлежит", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else if (Preobraz.yS(y, yMax, ymax, ymin) == Preobraz.yS(0.3f, yMax, ymax, ymin) || Preobraz.yS(y, yMax, ymax, ymin) == Preobraz.yS(-0.3f, yMax, ymax, ymin))
                            {
                                MessageBox.Show("Точка на границе", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else
                            {
                                MessageBox.Show("Точка не принадлежит", "Cool!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            }
                        }
                        else if (Math.Pow(x, 2) / Math.Pow(rx, 2) + Math.Pow(y, 2) / Math.Pow(ry, 2) == 1)
                        {
                            if (Preobraz.yS(y, yMax, ymax, ymin) < Preobraz.yS(0.3f, yMax, ymax, ymin) && Preobraz.yS(y, yMax, ymax, ymin) > Preobraz.yS(-0.3f, yMax, ymax, ymin))
                            {
                                MessageBox.Show("Точка не принадлежит", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                            else
                            {
                                MessageBox.Show("Точка на границе", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            }
                        }
                        else
                        {
                            MessageBox.Show("Точка не принадлежит", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                }
            }
            catch (System.FormatException)
            {
                MessageBox.Show("Неверные данные", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }