Академический Документы
Профессиональный Документы
Культура Документы
3D моделей WPF
Цель работы
Cоздать из массива целых чисел 3D модель (3D Surface plot или 3D histogram) и вывести результат
моделирования на экран.
Лабораторное задание
1. . Изучить принципы работы графической библиотеки WPF.
2. С помощью данных библиотек в соответствии с заданием разработать программу на языке C#.
3. Данные визуализации являются массивом – размером X разрядов, который генерируется программно с
помощью генератора случайных чисел (П) или читается из двоичного файла (Ф) – данные записываются
программно в файл, а затем читаются из него функциями BinaryReader и BinaryWriter.
Данные о 3D моделях, которые необходимо создать, разрядности элементов массива, его размере и способе
получения берутся из задания, каждое из которых будет соответствовать одному из вариантов.
Вариант №5:
3D модель - 3D histogram ;
Массив состоит из 64-разрядных элементов;
Размер массива = 256 элементов;
Массив генерируется программно с помощью генератора случайных чисел (П) и читается из двоичного файла
(Ф).
Листинг
Файл Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using C1.Win.C1Chart3D;
namespace WindowsFormsApplication5
{
public partial class Form1 : Form
{
public const int COLS = 32;
public const int ROWS = 8;
public Form1()
{
InitializeComponent();
}
dataGridView1.Rows.Add(8);
for (int i = 0; i < ROWS; i++)
{
dataGridView1.Rows[i].HeaderCell.Value = "R" + i.ToString();
for (int j = 0; j < COLS; j++)
{
header = "C" + j.ToString();
dataGridView1.Rows[i].Cells[header].Value = data[k];
k++;
}
}
C1Chart3D1.ChartGroups[0].ChartData.SetGrid.RowCount = 8;
C1Chart3D1.ChartGroups[0].ChartData.SetGrid.ColumnCount = 32;
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j <COLS ; j++)
{
C1Chart3D1.ChartGroups[0].ChartData.SetGrid[j,i] =
Int64.Parse(dataGridView1.Rows[i].Cells["C"+j.ToString()].Value.ToString());
}
}
C1Chart3D1.Legend.Visible = true;
C1Chart3D1.Header.Visible = true;
C1Chart3D1.ChartArea.Visible = true;
Font f = new Font("Arial", 20, FontStyle.Bold);
C1Chart3D1.ChartArea.Axes.AxisTitleFont = f;
C1Chart3D1.ChartArea.AxisX.Title = "Cols";
C1Chart3D1.ChartArea.AxisY.Title = "Rows";
C1Chart3D1.ChartArea.AxisZ.Title = "Z";
}
}
}
Результаты работы программы