Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Финансовый рынок и его значение в управлении денежными потоками на современном этапе: любому предприятию для расширения производства и увеличения прибыли нужны...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Дисциплины:
2017-05-23 | 281 |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Листинг 35.1. Метод для рисования геометрических изображений.
private void pictureBox1_Paint(object sender,
PaintEventArgs e)
{
//Объявляем индексы элементов всех массивов:
int i, j, k;
//Задаем границы индексов 1-го массива myArrayVC(i, j):
int N_x = 201; int N_y = 2;
//Объявляем 1-й массив myArrayVC(i, j) переменных float,
//когда i = 0,1,2,3,...,(N_x - 1);
// j = 0,1,2,3,...,(N_y - 1):
float[,] myArrayVC = new float[N_x, N_y];
//Для считывания из файла
//по адресу D:\\MyDocs\\MyTest3D_Graphics.txt
//координат изображения в массив myArrayVC(201, 2)
//создаем объект sr класса StreamReader:
StreamReader sr =
new StreamReader(
@"D:\\MyDocs\\MyTest3D_Graphics.txt");
//Считываем из файла MyTest3D_Graphics.txt
//координаты изображения в массив myArrayVC(201, 2)
//при помощи метода ReadLine:
for (i = 0; i <= N_x - 1; i++)
for (j = 0; j <= N_y - 1; j++)
myArrayVC[i, j] =
Convert.ToSingle(sr.ReadLine());
sr.Close();
//Рисуем первое изображение по координатам из массива.
//Объявляем координаты двух точек:
float x1, y1, x2, y2;
//Будем рисовать пером myPen толщиной 3:
Pen myPen = new Pen(Color.Black, 3);
//Объявляем переменные для начала N_first_line
//и конца N_last_line цикла при рисовании:
int N_first_line, N_last_line;
//Передаем переменным для начала и конца цикла
//значения первых двух элементов массива myArrayVC:
N_first_line = Convert.ToInt32(myArrayVC[0, 0]);
N_last_line = Convert.ToInt32(myArrayVC[0, 1]);
//Рисуем изображение, начиная с точки (1,0; 1,1):
i = -1;
for (k = N_first_line; k <= N_last_line; k++)
{
i = i + 2;
x1 = myArrayVC[i, 0];
y1 = myArrayVC[i, 1];
x2 = myArrayVC[i + 1, 0];
y2 = myArrayVC[i + 1, 1];
e.Graphics.DrawLine(myPen, x1, y1, x2, y2);
}
//Задаем границы индексов 2-го массива myArrayVC_2(i, j):
int N_x_2 = 201;
int N_y_2 = 2;
//Объявляем 2-й массив myArrayVC_2(i, j) перем-х float,
//когда i = 0,1,2,3,...,(N_x_2 - 1);
// j = 0,1,2,3,...,(N_y_2 - 1):
float[,] myArrayVC_2 = new float[N_x_2, N_y_2];
//Для считывания из файла
//по адресу D:\\MyDocs\\MyTest3D_Graphics_2.txt
//координат изображения в массив myArrayVC_2(201, 2)
//создаем объект sr_2 класса StreamReader:
StreamReader sr_2 = new StreamReader(
@"D:\\MyDocs\\MyTest3D_Graphics_2.txt");
|
//Считываем из файла MyTest3D_Graphics_2.txt
//координаты изображения в массив myArrayVC_2(201, 2)
//при помощи метода ReadLine:
for (i = 0; i <= N_x - 1; i++)
for (j = 0; j <= N_y - 1; j++)
myArrayVC_2[i, j] =
Convert.ToSingle(sr_2.ReadLine());
sr_2.Close();
//Рисуем второе изображение по координатам из массива.
//Будем рисовать пером myPen толщиной 1:
Pen myPen_2 = new Pen(Color.Black, 1);
//Объявляем переменные для начала N_first_line
//и конца N_last_line цикла при рисовании:
int N_first_line_2, N_last_line_2;
//Передаем переменным для начала и конца цикла
//значения первых двух элементов массива myArrayVC:
N_first_line_2 = Convert.ToInt32(myArrayVC_2[0, 0]);
N_last_line_2 = Convert.ToInt32(myArrayVC_2[0, 1]);
//Рисуем изображение, начиная с точки (1,0; 1,1):
i = -1;
//for (k = 1; k <= 3; k++)
for (k = N_first_line_2; k <= N_last_line_2; k++)
{
i = i + 2;
x1 = myArrayVC_2[i, 0];
y1 = myArrayVC_2[i, 1];
x2 = myArrayVC_2[i + 1, 0];
y2 = myArrayVC_2[i + 1, 1];
e.Graphics.DrawLine(myPen_2, x1, y1, x2, y2);
}
}
Аналогично по этой методологии мы можем разработать другие приложения для построения различных пространственных изображений.
Глава 36. Изображение объектов в трехмерном пространстве на основе нового синтаксиса Visual C++ 2005
Листинг 36.1. Метод для рисования геометрических изображений.
private: System::Void pictureBox1_Paint(
System::Object^ sender,
System::Windows::Forms::PaintEventArgs^ e)
{
//Объявляем индексы элементов всех массивов:
int i, j, k;
//Задаем границы индексов 1-го массива myArrayVC(i, j):
int N_x = 201; int N_y = 2;
//Объявляем 1-й массив myArrayVC[i, j] переменных float,
//когда i = 0,1,2,3,...,(N_x - 1);
// j = 0,1,2,3,...,(N_y - 1):
array<float,2>^ myArrayVC =
gcnew array<float,2>(N_x, N_y);
//Для считывания из файла
//по адресу D:\\MyDocs\\MyTest3D_Graphics.txt
//координат изображения в массив myArrayVC(201, 2)
//создаем объект sr класса StreamReader:
StreamReader^ sr = gcnew StreamReader(
"D:\\MyDocs\\MyTest3D_Graphics.txt");
//Считываем из файла MyTest3D_Graphics.txt
//координаты изображения в массив myArrayVC(201, 2)
//при помощи метода ReadLine:
for (i = 0; i <= N_x - 1; i++)
for (j = 0; j <= N_y - 1; j++)
myArrayVC[i, j] =
Convert::ToSingle(sr->ReadLine());
sr->Close();
//Рисуем первое изображение по координатам из массива.
//Объявляем координаты двух точек:
float x1, y1, x2, y2;
//Будем рисовать пером myPen толщиной 3 пикселя:
|
Pen^ myPen = gcnew Pen(Color::Black, 3);
//Объявляем переменные для начала N_first_line
//и конца N_last_line цикла при рисовании:
int N_first_line, N_last_line;
//Передаем переменным для начала и конца цикла
//значения первых двух элементов массива myArrayVC:
N_first_line = Convert::ToInt32(myArrayVC[0, 0]);
N_last_line = Convert::ToInt32(myArrayVC[0, 1]);
//Рисуем изображение, начиная с точки (1,0; 1,1):
i = -1;
for (k = N_first_line; k <= N_last_line; k++)
{
i = i + 2;
x1 = myArrayVC[i, 0];
y1 = myArrayVC[i, 1];
x2 = myArrayVC[i + 1, 0];
y2 = myArrayVC[i + 1, 1];
e->Graphics->DrawLine(myPen, x1, y1, x2, y2);
}
//Задаем границы индексов 2-го массива myArrayVC_2(i, j):
int N_x_2 = 201; int N_y_2 = 2;
//Объявляем 2-й массив myArrayVC_2(i, j) перем-х float,
//когда i = 0,1,2,3,...,(N_x_2 - 1);
// j = 0,1,2,3,...,(N_y_2 - 1):
array<float,2>^ myArrayVC_2 =
gcnew array<float,2>(N_x_2, N_y_2);
//Для считывания из файла
//по адресу D:\\MyDocs\\MyTest3D_Graphics_2.txt
//координат изображения в массив myArrayVC_2(201, 2)
//создаем объект sr_2 класса StreamReader:
StreamReader^ sr_2 = gcnew StreamReader(
"D:\\MyDocs\\MyTest3D_Graphics_2.txt");
//Считываем из файла MyTest3D_Graphics_2.txt
//координаты изображения в массив myArrayVC_2(201, 2)
//при помощи метода ReadLine:
for (i = 0; i <= N_x - 1; i++)
for (j = 0; j <= N_y - 1; j++)
myArrayVC_2[i, j] =
Convert::ToSingle(sr_2->ReadLine());
sr_2->Close();
//Рисуем второе изображение по координатам из массива.
//Будем рисовать пером myPen толщиной 1:
Pen^ myPen_2 = gcnew Pen(Color::Black, 1);
//Объявляем переменные для начала N_first_line
//и конца N_last_line цикла при рисовании:
int N_first_line_2, N_last_line_2;
//Передаем переменным для начала и конца цикла
//значения первых двух элементов массива myArrayVC:
N_first_line_2 = Convert::ToInt32(myArrayVC_2[0, 0]);
N_last_line_2 = Convert::ToInt32(myArrayVC_2[0, 1]);
//Рисуем изображение, начиная с точки (1,0; 1,1):
i = -1;
for (k = N_first_line_2; k <= N_last_line_2; k++)
{
i = i + 2;
x1 = myArrayVC_2[i, 0]; y1 = myArrayVC_2[i, 1];
x2 = myArrayVC_2[i + 1, 0];y2 = myArrayVC_2[i + 1, 1];
e->Graphics->DrawLine(myPen_2, x1, y1, x2, y2);
}
}
Аналогично по этой методологии мы можем разработать другие приложения для построения различных пространственных изображений.
|
|
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!