Как да си направим проект по компютърна графика?

Идея

OpenGL триъгълник

Нерядко получавам молби за помощ относно проекта по Компютърна графика. По принцип той не е толкова труден за направа, но много от студентите в трети курс никога преди не са правили приложение с графичен интерфейс (GUI), не са работили сами със съвременна среда за разработка (IDE) и просто не знаят откъде да зпочнат.

Цел

Целта на тази поредица от статии е да помогне именно на тези студенти. Приложението, което (надявам се) ще се създаде няма да бъде пример за това как трябва да се пишат програми. То ще бъде програмирано бързо и кратко - ще бъдат реализирани само най-важните части. Идеята е да се покаже колко е лесно (дори приятно) създаването на подобни приложения. Не толкова приятно обаче е добавянето на нови функции и промяната на кода в бъдеще, на така бързо написана програма :)

Очакван резултат

Крайният резултат трябва да бъде програма за векторна графика, която да покрива изискванията за оценка среден 3 на упражненията по компютърна графика за специалност Информатика в Пловдивския университет „Паисий Хилендарски“. За да сме по-конкретни:

  1. Изграждане на изображение от различни графични примитиви (векторни). Например елипси;
  2. Визуализация на примитивите на базата на техните визуализационни характеристики. Например цвят;
  3. Указване на графичен примитив от изображението;
  4. Манипулиране с графични примитиви. Например преместване и завъртане.

След като те бъдат покрити програмата може да продължи да се разширява, като покрие и някои от изискванията за по-високи оценки (стига да има време).

Разбира се всичко казано до тук е само пожелание и единствено времето ще покаже дали ще може да се реализира.

Внимание!!!

Този сайт не е официален за дисциплината Компютърна графика!
Авторът на материалите не носи отговорност ако ви скъсат на изпита!
Помнете, че за да го вземете трябва да разбирате какво прави програмата Ви и да можете да добавяте нови функционалности към нея!
За всякакви въпроси свързани с изпита, лекциите и упражненията се обръщайте към преподавателите, които ги водят!

За кого ще бъде полезно

Предимно за хората, които „не знаят откъде да започнат“, нямат опит или чувстват, че силата им не е програмирането. По-напредналите обаче също могат да намерят някои интересни решения и техники.
Ако смятате, че най-добрият учител е неволята тогава не следете поредицата, а се опитайте да се справите сами. Аз направих така, но тогава просто нямах избор :) Бях избрал непопулярната комбинация Java + OpenGL.

Съвет

Посещавайте лекциите и упражненията по Компютърна графика. Препоръчвам ви да карате едно и също упражнение по 2 пъти, стига да не пречите на неговото провеждане. Също така е добре въпросите ви към асистента да бъдат конкретни, а не от типа „От къде да започна?“ или пък „На какъв език да пиша?“, „Каква библиотека да ползвам?“, „От дясно или ляво да си сложа прозореца с инструменти на IDE-то?“.

Технически подробности

Програмата ще се пише на Java със средата за разработка NetBeans. Статиите могат да се разглеждат и като уроци за NetBeans. Операционна система (ОС) - по избор. Java програми вървят на широк кръг архитектури и ОС. NetBeans също има версии за различни среди.
Ако имате въпроси и проблеми свързани с Linux базирани дистрибуции (особено Debian или Ubuntu) може да се обръщате към мен. Ако имате въпроси свързани с платени ОС се обръщайте към техните фирми производители и екипите им за поддръжка.

Въпроси и предложения

Всякакви въпроси, предложения (особено за провописни грешки) и отзиви са добре дошли, както като коментари към статиите, така и на адрес:

Автор: Траян Момков