Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 5
Регистрация: 03.12.2015
Сообщений: 110
1
.NET 4.x

Нарисовать фигуру

29.06.2016, 17:34. Показов 1195. Ответов 2
Метки нет (Все метки)

Записать логические выражения, используя условные операторы, операции отношений и логические операции алгоритмического языка.
Изображения
 
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.06.2016, 17:34
Ответы с готовыми решениями:

Нарисовать приведенную фигуру
По примеру рисования круга помогите нарисовать такую фигуру: int x, y, rad, xDir, yDir; ...

Нарисовать данную фигуру
Помогите, пожалуйста, нарисовать данную фигуру

Нарисовать фигуру из вложенных квадратов
Нужно нарисовать фигуру. Сколько уже пытался, не получается :cry:

Нарисовать определенную фигуру средствами GDI+
Необходимо нарисовать такую фигуру(с заливкой). Для построения даны угловые точки и радиус...

2
1 / 1 / 5
Регистрация: 03.12.2015
Сообщений: 110
30.06.2016, 11:56  [ТС] 2
Лучший ответ Сообщение было отмечено SilverDiver как решение

Решение

Данное задание нудно выполнит в Windows Form, то есть его надо нарисовать.

Добавлено через 12 часов 21 минуту
Смог продумать начало. Помогите нарисовать данную фигуру
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
        private void button1_Click(object sender, EventArgs e)
        {
            int s = 5;
            double[] x = new double[s];
            double j = -1;
            for (int i = 0; i < 5; i++)
            {
                x[i] = j;
                j+=0.5;
            }
 
            double[] y = new double[s];
            j = -1;
            for (int i = 0; i < 5; i += 1)
            {
                y[i] = j;
                j+=0.5;
            }
 
            // Настраиваем оси графика
            chart1.ChartAreas[0].AxisX.Minimum = -1.5;
            chart1.ChartAreas[0].AxisX.Maximum = 1.5;
 
            this.chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
            for (int i = 0; i < s; i++) this.chart1.Series[0].Points.AddXY(x[i], y[i]);
        }
Добавлено через 3 часа 53 минуты
Помогите его доработать, я не знаю как его разделить:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
        private void button1_Click(object sender, EventArgs e)
        {
            int s = 5;
            double[] x = new double[s];
            double[] y = new double[s];
            for (int i = 0; i < s; i++)
            chart1.Series[i].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Spline;
            x[0] = -1; y[0] = -1;
            this.chart1.Series[0].Points.AddXY(x[0], y[0]);
            x[1] = -1; y[1] = 1;
            this.chart1.Series[1].Points.AddXY(x[1], y[1]);
            x[2] = 1; y[2] = 1;
            this.chart1.Series[2].Points.AddXY(x[2], y[2]);
            x[3] = 1; y[3] = -1;
            this.chart1.Series[3].Points.AddXY(x[3], y[3]);
            x[4] = -1; y[4] = -1;
            this.chart1.Series[4].Points.AddXY(x[4], y[4]);
            x[0] = -1; y[0] = 0;
            this.chart1.Series[0].Points.AddXY(x[0], y[0]);
            x[1] = 0; y[1] = 1;
            this.chart1.Series[1].Points.AddXY(x[1], y[1]);
            x[2] = 1; y[2] = 0;
            this.chart1.Series[2].Points.AddXY(x[2], y[2]);
            x[3] = 0; y[3] = -1;
            this.chart1.Series[3].Points.AddXY(x[3], y[3]);
            x[4] = -1; y[4] = 0;
            this.chart1.Series[4].Points.AddXY(x[4], y[4]);
 
 
            // Настраиваем оси графика
            chart1.ChartAreas[0].AxisX.Minimum = -1.5;
            chart1.ChartAreas[0].AxisX.Maximum = 1.5;
        }
Добавлено через 22 минуты
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace PR13
{
    public partial class Form1 : Form
    {
        public Form1() { InitializeComponent(); }
 
        private void button1_Click(object sender, EventArgs e)
        {
            double[] x = new double[6];
            double[] y = new double[6];
            double[] x1 = new double[5];
            double[] y1 = new double[5];
            x[0] = 0; y[0] = -1;
            x[1] = -1; y[1] = -1;
            x[2] = -1; y[2] = 1;
            x[3] = 1; y[3] = 1;
            x[4] = 1; y[4] = -1;
            x[5] = 0; y[5] = -1;
            x1[0] = 0; y1[0] = -1;
            x1[1] = -1; y1[1] = 0;
            x1[2] = 0; y1[2] = 1;
            x1[3] = 1; y1[3] = 0;
            x1[4] = 0; y1[4] = -1;
 
            // Настраиваем оси графика
            chart1.ChartAreas[0].AxisX.Minimum = -1.5;
            chart1.ChartAreas[0].AxisX.Maximum = 1.5;
            this.chart1.Series[0].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine;
            this.chart1.Series[0].Points.AddXY(x[0], y[0]);
            this.chart1.Series[0].Points.AddXY(x[1], y[1]);
            this.chart1.Series[0].Points.AddXY(x[2], y[2]);
            this.chart1.Series[0].Points.AddXY(x[3], y[3]);
            this.chart1.Series[0].Points.AddXY(x[4], y[4]);
            this.chart1.Series[0].Points.AddXY(x1[0], y1[0]);
            this.chart1.Series[0].Points.AddXY(x1[1], y1[1]);
            this.chart1.Series[0].Points.AddXY(x1[2], y1[2]);
            this.chart1.Series[0].Points.AddXY(x1[3], y1[3]);
            this.chart1.Series[0].Points.AddXY(x1[4], y1[4]);
        }
    }
}
0
Модератор
Эксперт .NET
5812 / 4689 / 2940
Регистрация: 20.04.2015
Сообщений: 8,359
30.06.2016, 15:23 3
SilverDiver,
Зачем чарт?
Добавьте PictureBox на форму и подключите обработчики:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    int scale = Math.Min((sender as PictureBox).Width, (sender as PictureBox).Height)/2;
    int dx = (sender as PictureBox).Width / 2;
    int dy = (sender as PictureBox).Height / 2;
    Brush fbrush = new HatchBrush(HatchStyle.ForwardDiagonal, Color.Gray, Color.White);
    Brush bbrush = new HatchBrush(HatchStyle.BackwardDiagonal, Color.Gray, Color.White);
    Point[] pts = new Point[] { new Point(-1 * scale + dx, dy), new Point(-1 * scale + dx, -1 * scale + dy), new Point(dx, -1 * scale + dy) };
    e.Graphics.FillPolygon(fbrush, pts);
    e.Graphics.DrawPolygon(Pens.Black, pts);
    pts = new Point[] { new Point(dx, -1 * scale + dy), new Point(1 * scale + dx, -1 * scale + dy), new Point(1 * scale + dx, dy) };
    e.Graphics.FillPolygon(fbrush, pts);
    e.Graphics.DrawPolygon(Pens.Black, pts);
    pts = new Point[] { new Point(1 * scale + dx, dy), new Point(1 * scale + dx, 1 * scale + dy), new Point(dx, 1 * scale + dy) };
    e.Graphics.FillPolygon(bbrush, pts);
    e.Graphics.DrawPolygon(Pens.Black, pts);
    pts = new Point[] { new Point(dx, 1 * scale + dy), new Point(-1 * scale + dx, 1 * scale + dy), new Point(-1 * scale + dx, dy) };
    e.Graphics.FillPolygon(bbrush, pts);
    e.Graphics.DrawPolygon(Pens.Black, pts);
 
}
 
private void pictureBox1_SizeChanged(object sender, EventArgs e)
{
    (sender as PictureBox).Invalidate();
}
Второй обработчик на случай, если PictureBox будет менять размер вместе с формой.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2016, 15:23

Нарисовать объемную фигуру по заданным точкам
Здравствуйте. Пытаюсь как то научиться рисовать объемную фигуру, например: цилиндр или конус. Рисую...

В первой форме выбрать фигуру, во второй - ее нарисовать
Приложение с 2 формами, на первой отображается: нажми к(круг), п(прямоугольник) или т(треугольник),...

Как нарисовать фигуру через полигон по точкам
Вот мой проект, объясните теперь мне пожалуйста: 1/Как нарисовать фигуру через полигон по...

Нарисовать фигуру с возможностью получения доступа к ней в дальнейшем
Есть класс Точка и абстрактный класс Фигура, от которого наследуются классы Окружность, Эллипс,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.