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

Вход на сайт

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

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

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

Пиривет сайт с работой закладчиком Работа курьером Значение финансов в повседневной жизни известно каждому, но что делать, если зарплата на постоянной работе невелика или ее вообще нет? Если у Вас нет профессии или возникли иные сложности, то...
Модные тренды медицинской одежды - новая эра стиля и комфорта в 2024 году https://fkmed.r... C нами Вы убедитесь: качественная, комфортная и модная медицинская одежда существует! В каталоге на сайте представлена медицинская одежда для врачей и...
14 070 руб https://www.eco... 38 900 руб https://www.eco... и выберите из списка ниже: Купить в 1 клик https://www.eco... По типу двигателя снегоотбрасыватель может быть: Купить в 1 клик https://www.eco...
Все изделия хорошо сидят на фигуре и отличаются высокой степенью комфортности https://fkmed.r... Комбинированные ткани с применением хлопка и синтетики - это оптимальный вариант для пошива формы https://fkmed.r... Специальная пропитка...
53 990 руб https://www.eco... Экономия 4 160 руб https://www.eco... Купить в 1 клик https://www.eco... Главными элементами устройства являются двигатель, металлический или пластиковый корпус и лопасти для уборки снега https://www.eco... Тип...

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

Рейтинг@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 кб