Уроки, алгоритмы, программы, примеры

Вход на сайт

Материалы по разделам

Построения
на плоскости (2D)
Графика
в пространстве (3D)
Вычислительная
геометрия
Физическое
моделирование
Фрактальная
графика

Новые комментарии

Выдаёт ошибку glut32.dll не найден! При том, что он лежит в System32! Всё решил) Нужно отправить не в System32, а в System.
Спасибо за статью. Я не Ваш студент. Но мне она помогла написать функцию для Канторова множества на Python для черепашки: import turtle def kanter(x, y, d):     if d > 1:         turtle...
Как реализовать в данном примере границы расчёта?

Счетчики и рейтинг

Рейтинг@Mail.ru Яндекс.Метрика
Скриншот к примеру
Среда программирования: 
Visual Studio 2017
Статья по теме: 

Введите координаты и нажмите кнопку посчитать

Код программы: 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace WindowsFormsApp11
{
    public partial class Form1 : Form
    {
        Bitmap myBitmap;
        Graphics g;
 
        string[] koord;
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            myBitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height);
            g = Graphics.FromImage(myBitmap);
            pictureBox1.Image = myBitmap;
            koord = textBox1.Text.Split(',');//записываем все координаты массив, разбивая через запятую
            int n = koord.Length;
            int[] x = new int[n/2];
            int[] y = new int[n/2];
            for (int i = 0; i < n; i++)
            {
                if (i % 2 == 0) x[i / 2] = Convert.ToInt32(koord[i]); //преобразовываем координаты x в тип int
                else y[i / 2] = Convert.ToInt32(koord[i]);//преобразовываем координаты y в тип int
            }
            Pen pen = new Pen(Color.Black, 2);
            double square = 0;
            for (int i = 0; i < n/2-1; i++) //в этом цикле рисуем многоугольник
            {
                g.DrawLine(pen,x[i],y[i],x[i+1],y[i+1]);
                square += x[i] * y[i + 1] - y[i] * x[i + 1]; // cчитаем площадь
            }
            g.DrawLine(pen, x[n / 2 - 1], y[n / 2 - 1], x[0], y[0]);
            square += x[n / 2 - 1] * y[0] - y[n / 2 - 1] * x[0];
            square /= 2;
            if (square < 0) square *= -1; 
            label2.Text = square.ToString(); //выводим площадь на экран
        }
    }
}

Прикрепленный файлРазмер
Pasternak_example_Square_3.zip37.58 кб