Ім'я файлу: ex c#.docx
Розширення: docx
Розмір: 443кб.
Дата: 08.06.2021
скачати




  1. Раскройте понятие векторной графики
    Растровое изображение (лат. rastrum — грабли) — изображение, представляющее собой сетку (мозаику) пикселей — цветных точек (обычно прямоугольных) на мониторе, бумаге и других отображающих устройствах.
    Особенность растрового изображения в том, что оно, как мозаика, складывается из маленьких ячейковых кусочков – пикселей. И чем выше разрешение, тем большее количество пикселей умещается на единицу площади.
    Растровые изображения используют для передачи плавного перехода цветов, множества оттенков. Наиболее распространенное применение – обработка фотографий, создание коллажей и т.п. Самый популярный редактор растровой графики – Photoshop.Растровое изображение занимает больше места на диске чем такое же, но исполненное в векторе. Но, тут очень важно помнить, что это справедливо, если вы «отрисовали текст», а если вы сфотографировали любимую девушку на фоне красного Феррари – вектор тут бессилен, только растр.

  2. Классификация растровых алгоритмов
    Алгоритмы машинной графики можно разделить на два уровня: нижний и верхний. Группа алгоритмов нижнего уровня предназначена для реализации графических примитивов (линий, окружностей, заполнений и т.п.). Эти алгоритмы или подобные им воспроизведены в графических библиотеках языков высокого уровня (BGI в Турбо - Паскале) или реализованы аппаратно в графических процессорах рабочих станций (Silicon Graphics и др.).
    К алгоритмам верхнего уровня относятся в первую очередь алгоритмы удаления невидимых линий и поверхностей. Задача удаления невидимых линий и поверхностей продолжает оставаться центральной в машинной графике. От эффективности алгоритмов, позволяющих решить эту задачу, зависят качество и скорость построения трехмерного изображения.
    К задаче удаления невидимых линий и поверхностей примыкает задача построения (закрашивания) полутоновых (реалистических) изображений, т.е. учета явлений, связанных с количеством и характером источников света, учета свойств поверхности тела (прозрачность, преломление, отражение света).
    Однако при этом не следует забывать, что вывод объектов в алгоритмах верхнего уровня обеспечивается примитивами, реализующими алгоритмы нижнего уровня, поэтому нельзя игнорировать проблему выбора и разработки эффективных алгоритмов нижнего уровня.

  3. Практическое задание. Створіть приклад, який демонструє відображення будь-якого тривимірного об'єкту.

Код:
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;

using SharpGL;
namespace OpenGL_lesson_CSharp

{

public partial class SharpGLForm : Form

{

float rotation = 0.0f;

public SharpGLForm()

{

InitializeComponent();

}
private void openGLControl_OpenGLDraw(object sender, RenderEventArgs e)

{

OpenGL gl = openGLControl.OpenGL;
gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT | OpenGL.GL_DEPTH_BUFFER_BIT);

gl.LoadIdentity();
gl.Rotate(rotation, 0.0f, 1.0f, 0.0f);

gl.Begin(OpenGL.GL_TRIANGLES);

gl.Color(1f, 0.2f, 0.0f);

gl.Vertex(0.0f, 2.5f, 0.0f);

gl.Vertex(2.0f, 1.5f, -2.0f);

gl.Vertex(2.0f, 1.5f, 2.0f);
gl.Color(1f, 0.3f, 0.0f);

gl.Vertex(-2.0f, 1.5f, -2.0f);

gl.Vertex(-2.0f, 1.5f, 2.0f);

gl.Vertex(0.0f, 2.5f, 0.0f);

gl.Color(1f, 0.4f, 0.0f);

gl.Vertex(0.0f, 2.5f, 0.0f);

gl.Vertex(2.0f, 1.5f, -2.0f);

gl.Vertex(-2.0f, 1.5f, -2.0f);
gl.Color(1f, 0.1f, 0.0f);

gl.Vertex(0.0f, 2.5f, 0.0f);

gl.Vertex(-2.0f, 1.5f, 2.0f);

gl.Vertex(2.0f, 1.5f, 2.0f);

gl.End();
rotation += 1.5f;

}
private void openGLControl_OpenGLInitialized(object sender, EventArgs e)

{

OpenGL gl = openGLControl.OpenGL;

gl.ClearColor(0, 0, 0, 1);

}
private void openGLControl_Resized(object sender, EventArgs e)

{

OpenGL gl = openGLControl.OpenGL;

gl.MatrixMode(OpenGL.GL_PROJECTION);

gl.LoadIdentity();

gl.Perspective(60.0f, (double)Width / (double)Height, 0.01, 100.0);

gl.LookAt( 5, 6, -7,

0, 1, 0,

0, 1, 0);

gl.MatrixMode(OpenGL.GL_MODELVIEW);

}

}

}

Результат:

скачати

© Усі права захищені
написати до нас