Скачать 0.52 Mb.
|
Лабораторная работа 8. Тема: Графика. Цель занятия: Изучить структуру программ, основные операторы С#.NET для. Построения графических фигур. Получить навыки работ по составлению простейших графических программ Условие задачи. Нарисовать на форме желтого цвета прямоугольник зеленного цвета и эллипс красного цвета using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Brush { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Paint(object sender, PaintEventArgs e) { //Задаем тип и цвет кисти SolidBrush myBrush = new SolidBrush(System.Drawing.Color.Green); //Объявляем объект myRectangle и создаем Экземпляр этого объекта Rectangle myRectangle = new Rectangle(10, 15, 150, 200); //рисуем и заполняем фигуру e.Graphics.FillRectangle(myBrush,myRectangle); //Высвобождаем память, выделенную объекту myBrush myBrush.Dispose(); } private void pictureBox1_Paint(object sender,PaintEventArgs e) { //Задаем тип и цвет кисти SolidBrush myBrush = new SolidBrush(System.Drawing.Color.Red); //Объявляем объект myRectangle и создаем Экземпляр этого объекта Rectangle myRectangle = new Rectangle(10, 15, 150, 200); e.Graphics.FillEllipse(myBrush, myRectangle); //Высвобождаем память, выделенную объекту myBrush myBrush.Dispose(); } Лабораторная работа Графика. Нарисовать и закрасить вставленные фигуры using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace _llabb { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Paint(object sender, PaintEventArgs e) { Pen myPen = new Pen(Color.Black, 3); SolidBrush myB1 = new SolidBrush(System.Drawing.Color.Blue); SolidBrush myB2 = new SolidBrush(System.Drawing.Color.Red); e.Graphics.FillRectangle(myB2, 0,0,1280,1024); e.Graphics.DrawLine(myPen, 240, 60, 120, 220); e.Graphics.DrawLine(myPen, 240, 60, 360, 220); e.Graphics.DrawLine(myPen, 120, 220, 360, 220); e.Graphics.FillPolygon(myB1, new Point[] { new Point(240,60), new Point(120,220), new Point(360,220), }); e.Graphics.DrawEllipse(myPen, 190, 115, 100, 100); e.Graphics.FillEllipse(myB2, 190, 115, 100, 100); myPen.Dispose(); myB1.Dispose(); myB2.Dispose(); } private void exitToolStripMenuItem_Click(object sender, EventArgs e) { Close(); } private void authorToolStripMenuItem_Click(object sender, EventArgs e) { Form2 frm = new Form2(); frm.Show(); } private void aboutToolStripMenuItem_Click(object sender, EventArgs e) { Form3 rfm = new Form3(); rfm.Show(); } }} Язык программирования С++ #include "stdafx.h" #include "graf.h" #include "grafDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// MessageBox("Нарисовать прямоугольник в окружности на фоне ромба ","Условие"); } void CGrafDlg::OnAvtor() { // TODO: Add your command handler code here MessageBox("студентка ФМФ гр.ИМ-3 Павлова Любовь","Автор"); } void CGrafDlg::OnFigura() { // TODO: Add your command handler code here CClientDC pDC(this); CBrush b_red,b_zel,b_sin; b_red.CreateSolidBrush(RGB(200,0,55)); b_zel.CreateSolidBrush(RGB(0,255,0)); b_sin.CreateSolidBrush(RGB(0,0,255)); pDC.SelectObject(b_red); pDC.Ellipse(110,50,290,230); pDC.SelectObject(b_zel); pDC.Rectangle(150,100,250,180); pDC.SelectObject(b_sin); pDC.MoveTo(200,10); pDC.LineTo(330,140); pDC.MoveTo(330,140); pDC.LineTo(200,270); pDC.MoveTo(200,270); pDC.LineTo(70,140); pDC.MoveTo(70,140); pDC.LineTo(200,10); pDC.FloodFill(200,15,RGB(0,0,0)); b_red.DeleteObject(); b_zel.DeleteObject(); b_sin.DeleteObject(); } void CGrafDlg::OnOk() { CDialog::OnOK(); } Язык программирования VB.NET Построить вложенные геометрические фигуры: окружность зеленного цвета, шестиугольник синего цвета и треугольник красного цвета Public Class Form4 Dim g As Graphics Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Form1.Show() Me.Hide() End Sub Private Sub Form_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Button1.Paint Dim g As Graphics = CreateGraphics() Dim myBrush As New SolidBrush(Color.DarkBlue) g.TranslateTransform(50, 50) g.FillEllipse(Brushes.DarkGreen, 120, -10, 150, 150) Dim points As Point() = {New Point(195, 0), New Point(235, 23), New Point(245, 70), New Point(200, 110), New Point(143, 77), New Point(145, 25), New Point(195, 0)} g.FillPolygon(myBrush, points) Dim triangle As Point() = {New Point(150, 50), New Point(230, 70), New Point(230, 30), New Point(150, 50)} g.FillPolygon(Brushes.DarkRed, triangle) End Sub Private Sub Form4_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing Application.Exit() End Sub Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End SubEnd Class Построение графика функции y=f(x) с использованием элемента Chart. Язык С# 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; using System.Windows.Forms.DataVisualization.Charting; namespace WindowsFormsApplication7 { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { chart1.Series[0].Points.Clear(); double a = Convert.ToDouble(textBox1.Text); double b = Convert.ToDouble(textBox2.Text); double h = Convert.ToDouble(textBox3.Text); double x = a; do { double f = Math.Sin(x); x = x + h; double y = f ; chart1.Series[0].Points.AddXY(x, y); //chart1.Series[1].Points.AddXY(x, f); } while (x <= b); } // for (int i = 0; i < 10; i++) // { // for (int pointIndex = 0; pointIndex < 10; pointIndex++) // h = h + 0.1; // y=i*i; // s1.Points.AddXY((double)i * h, (double)Math.Sin(i * h)); // chart1.Series[0].Points.AddXY(i, Math.Sin(i));// //chart1.Series[0].Points.AddXY((double)i, y); //Добавляю к графику // chart1.Series.Add((double)i * h, (double)Math.Sin(i * h)); // chart1.Series.Add(s1);////// //y=Math.Sin( int i*h); // y = Math.Sin(i); //chart1.Series[0].Points.AddXY(i, y); // h = h + 0.1; // listBox1.Items.Clear(); // listBox2.Items.Clear(); //Пробегаю по всем точкам первой кривой в графике // foreach (DataPoint p in chart1.Series[0].Points) // { // Вывожу Х в лог //textBox1.AppendText("X=" + p.XValue.ToString()); // textBox1.AppendText(Environment.NewLine); // listBox1.Items.Add("X=" + p.XValue.ToString()); // } // Y является массивом, поэтому пробегаю по массиву // foreach (DataPoint yp in chart1.Series[0].Points) // { // Вывожу Y //textBox1.AppendText("Y=" + yp.ToString()); // textBox1.AppendText(Environment.NewLine); // listBox1.AppendText("Y=" + yp.ToString()); // listBox1.AppendText(Environment.NewLine); // listBox2.Items.Add("Y=" + yp.ToString()); // } // } // private void button2_Click(object sender, EventArgs e) // { // Close(); // } private void chart1_Click_1(object sender, EventArgs e) { } }} Язык программирования C++ private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { this->Hide(); } private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { double f1,x, y1; double h = Convert::ToDouble(textBox1->Text); double b = Convert::ToDouble(textBox2->Text); double y = Convert::ToDouble(textBox3->Text); x = 0; y1 = y; chart1->Series[0]->Points->Clear(); chart1->Series[1]->Points->Clear(); do { f1 = y - 2*sin(x); x = x+h; y = y+f1*h; chart1->Series[0]->Points->AddXY(x, y); chart1->Series[1]->Points->AddXY(x,f1); } while (x<=b); }};}};} Цель занятия: Изучить структуру программ , основные операторы VB.NET для построения графиков , Получить навыки работ по построению графиков функций в виде Window проекта 2. Построение алгоритмов в виде блок-схем 3. Разработка программы в форме Window проекта Построение графика с использованием компонента chart Рublic Class Form2 Dim X, Y, a, b, c, max, min As Object Function f(ByVal x As Object) f = x ^ 2 End Function Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text Chart1.Series(0).Points.Clear() max = -100 min = 100 End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Close() End Sub Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click a = TextBox1.Text b = TextBox2.Text c = TextBox3.Text Chart1.Series(0).Points.Clear() max = -100 min = 100 For Me.X = a To b Step c Y = f(X) Chart1.Series(0).Points.AddXY(X, Y) If max < Y Then max = Y If min > Y Then min = Y Next X Label6.Text = Format(max, "0.0#") Label7.Text = Format(min, "0.0#") End Sub End Class ublic Class Form1 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Hide() Form2.Show() End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Me.Hide() Form3.Show() End Sub End Class Public Class Form3 Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Me.Hide() Form1.Show() End Sub End Class C# Вычисление площади фигур методом Монте-Карло using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Monte_Karlo { public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void menuItem4_Click(object sender, EventArgs e) { Close(); } private void menuItem2_Click(object sender, EventArgs e) { Refresh(); Graphics g = this.CreateGraphics(); //рисуем ось x g.DrawLine(new Pen(Color.Black,1),0,Height/2,Width, Height/2); //рисуем ось у g.DrawLine(new Pen(Color.Black,1), Width/2,0,Width/2, Height); //выводим деления по оси х for (int i = -250; i <= 250; i=i+50) { g.DrawLine(new Pen(Color.Black, 1), Width / 2 + i, Height / 2 - 3, Width / 2 + i, Height / 2 + 3); //выводим значения по оси х g.DrawString(Convert.ToString(i),new Font("Times New Roman",10), new SolidBrush(Color.Black),Width/2+i-10, Height/2+5); } //выводим деления по оси y for (int i = -250; i <= 250; i = i + 50) { g.DrawLine(new Pen(Color.Black,1), Width/2-3, Height/2-i, Width/2+3, Height/2-i); //выводим значения по оси y g.DrawString(Convert.ToString(i), new Font("Times New Roman",10), new SolidBrush(Color.Black), Width/2-20, Height/2-i); } //рисуем окружности g.DrawEllipse(new Pen(Color.Black), Width/2-200, Height/2-200,400, 400); g.DrawEllipse(new Pen(Color.Black), Width/2+20, Height/2-80, 60, 60); } private void menuItem3_Click(object sender, EventArgs e) { //ввод число точек int kolic = Convert.ToInt32(textBox1.Text); int i,i0 = 0,i1 = 0; int[] x1=new int[1000]; int[] y1 = new int[1000]; int[] x0=new int[1000]; int[] y0=new int[1000]; Random rnd=new Random(); //метод Монте-Карло for (i = 1; i <= kolic; i++) { //выбор координат точек случайным образом int t1 = rnd.Next(-220, 221); int t2 = rnd.Next(-220, 221); { //условие попадания в фигуру if ((t1 * t1 + t2 * t2 < 40000) & ((t1 - 50) * (t1 - 50) + (t2 + 50) * (t2 + 50) > 900)) { //количество попавших точек i1++; //запоминаем их координаты x1[i1] = t1; y1[i1] = t2; } else { //количество непопавших точек i0++; //запоминаем их координаты x0[i0] = t1; y0[i0] = t2; } } } Graphics g = this.CreateGraphics(); g.DrawLine(new Pen(Color.Green, 1), Width / 2 - 220, Height / 2 - 220, Width / 2 + 220, Height / 2 - 220); g.DrawLine(new Pen(Color.Green, 1), Width / 2 + 220, Height / 2 - 220, Width / 2 + 220, Height / 2 + 220); g.DrawLine(new Pen(Color.Green, 1), Width / 2 + 220, Height / 2 + 220, Width / 2 - 220, Height / 2 + 220); g.DrawLine(new Pen(Color.Green, 1), Width / 2 - 220, Height / 2 + 220, Width / 2 - 220, Height / 2 - 220); //рисуем точки, не попавшие в фигуру for (i = 1; i <= i0; i++) { g.DrawEllipse(new Pen(Color.Black), Width / 2 + x0[i] + 1, Height / 2 + y0[i] - 1, 2, 2); } //рисуем точки, попавшие в фигуру for (i = 1; i <= i1; i++) { g.DrawEllipse(new Pen(Color.Red), Width / 2 + x1[i] + 1, Height / 2 + y1[i] - 1, 2, 2); } //количество попавших точек int popav = i1; //вывод количества попавших точек textBox2.Text = Convert.ToString(popav); //вычисляем площадь float s = popav * 440 * 440 / kolic; ////вывод площади textBox3.Text = Convert.ToString(s); } private void Form2_Load(object sender, EventArgs e) { } } } |
Методические указания для проведения лабораторных занятий по дисциплине... Лабораторные работы выполняются в среде программирования Microsoft Visual Studio 2010 на языке программирования C#. Каждый студент... |
Курсовой проект 3 Тема, которую нам предписано Целью курсовой работы является закрепление теоретического материала, приобретение практических навыков проектирования Windows приложений... |
||
Инструкция пользователя по работе с тестирующим комплексом Visual Testing Studio Инструкция пользователя по работе с тестирующим комплексом Visual Testing Studio/ Игнатова Е. Н., Чехонина С. А |
Эксплуатационные материалы лабораторный практикум Эксплуатационные материалы: лабораторный практикум / А. Д. Синегибская. – Братск: БрГУ, 2011. – 65 с |
||
Задачах программирования лабораторный практикум по дисциплине «Системное... Методические указания предназначены для подготовки дипломированных специалистов направления 230100 «Информатика и вычислительная... |
Курсовой проект был создан с помощью среды разработки Visual Studio... Разработка приложения для построения динамической изображения трехмерной модели объекта «Паровоз» |
||
Лабораторная работа №7 «Подготовка и проведение тестирования» Изучить методы подготовки и проведения тестирования и получить навыки создания и выполнения тестов в среде ms visual Studio для приложений... |
Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin Лабораторный... Инструментарий веб-разработчика: Apache, php, Mysql, phpMyAdmin: Лабораторный практикум по дисциплине «Сети ЭВМ и телекоммуникации»... |
||
Электронных ресурсов Басангова Е. О. Лабораторный практикум “Компьютерная анимация в среде Macromedia Flash” |
Название Ссылка Лабораторный практикум по биологии гоу впо уральского Государственного лесотехнического университета |
||
Лекция 1 Молчанов А. Ю. Системное программное обеспечение. Лабораторный практикум: – спб.: Питер, 2005. – 284 с |
Языки программирования. Создание программы в языке Visual Basic Экспериментальное исследование тест работы программы выявление ошибок 16 |
||
Глава I. Цифровое представление звуковых сигналов. Ii программы для создания и обработки цифрового звука и создание цор «практикум по работе с программой «fl-studio» |
Среднетехнический факультет Лабораторный практикум составлен для проведения лабораторных работ по дисциплине «Технохимический контроль производства» |
||
Лабораторный практикум по дисциплине Лабораторные работы должны выполняться в той последовательности, в которой они приводятся в данной разработке |
Уро Тема урока: Язык программирования Visual Basic. Работа с массивами Ввести понятие массива, его размерности. Познакомиться с фиксированными и динамическими массивами, способами их описания |
Поиск |