Computer Graphics and Virtual Reality

 

           Do not forget to be creative! This is an option and a way to happiness.           

 

Course: COMPUTER GRAPHICS | Bachelor of Science (Computer Science)
Software: C++, OpenGL, JavaScript, Java 3D, SVG, VRML, MS Visual Studio (C++)

Grafica pe calculator / Geometrie computationala / Realitate Virtuala
Computer Graphics / Computation Geometry / Virtual Reality

PICTURE: "A picture is worth ten thousand as the words" (Chinese proverb)

ALGORITHM = LOGIC +  CONTROL (Kowalski 1979)

CHARACTERS: “The book of nature is written in the characters of geometry". (Galileo Galilei)

Dacă în deceniul 70 (secolul XX) la nivel universitar, erau câteva discipline proprii informaticii, astăzi există domenii complexe ale Informaticii: Programare şi Software Engineering, Reţele de calculatoare şi Computing, Baze de date şi sisteme informatice, Programare şi dezvoltare Web, Grafică pe calculator şi realitate virtuală, Geometria computaţională, Modelare şi simulare, Calcul paralel şi distribuit, Inteligenţă artificială şi sisteme expert, Ingineria cunoaşterii.
Definiţie. Grafica pe calculator (Computer Graphics) = generarea şi reprezentarea informaţiilor ce compun lumea reală (obiecte şi forme) sub formă de conţinut vizual (vizualizare) proiectat 2D (bidimensional) pe suport display (ecran) sau hîrtie prin intermediul dispozitivelor grafice (hardware) şi al interfeţelor grafice specializate (software). (M. Vlada, 2012)

OBIECTIVE     Fisier de tip .pdf ! Fisa_Grafica_pe_calculator

  • Cunoasterea si utilizarea conceptelor si tehnicilor pentru proiectarea, elaborarea si utilizarea software de baza si software de aplicatii pentru grafica pe calculator; 
  • tehnologia informatiei in acest domeniu necesita cunoasterea de metode si tehnici speciale pentru reprezentarea, memorarea, prelucrarea, comunicarea si vizualizarea informatiilor; aceste actiuni sunt necesare a fi implementate, atat in software de baza, cat si in software de aplicatii;
  • prin activitatile de la laborator se urmareste ca studentii sa obtina competente privind utilizarea sistemelor de calcul in tehnologia informatiei din domeniul graficii pe calculator.

Obiectivele disciplinei

Obiectivele cursului

Obiectivele activităţilor aplicative

(laborator, proiect)

  • intelegerea si asimilarea principalelor cunostinte privind modelarea, reprezentarea si prelucrarea obiectelor 2D sau 3D in domeniul aplicatiilor software
  • programare C++, OpenGL, SVG, JavaScript

 

  • consolidarea cunostintelor de la curs prin aplicatii, testari; elaborarea de aplicatii de grafica C, OpenGL si SVG
  • aplicatii si proiecte folosind programare Web: Java, JavaScript

CONTINUT Fisier de tip .pdf ! Fisa_Grafica_pe_calculator

  • Etapele rezolvarii problemelor cu ajutorul calculatorului (aspectul numeric si aspectul grafic);
  • Structura si arhitectura sistemelor grafice (hardware si software); 
  • Software de grafica pe calculator orientat spre domeniu, spre utilizator, spre programator;
  • Cunoasterea standardizarilor pentru sistemele grafice ( Modele: GKS, CORE, PHIGS);
  • Cunoasterea si utilizarea nucleului grafic oferit de limbajele de programare; 
  • Spatiul obiect (utilizator)  si spatiul de reprezentare (echipament);
  • Relatia Window-Viewport
  • Fundamente matematice ale graficii 2D: coordonate omogene, transformari ale obiectelor; Coliniaritate, intersectii, vizibilitate in grafica 2D; 
  • Programarea orientata spre obiecte ( limbajele C++, Java); 
  • Grafica raster(bitmap),  grafica liniara (vectoriala),  grafica TrueType (B-spline parabolica);
  • Algoritmi raster (J. Bresenham) pentru trasarea segmentului  de dreapta, cercului, elipsei
  • Algoritmul de clipping Cohen-Sutherland (clipping-ul unui segment fata de o fereastra dreptunghiulara);
  • Algoritmul de clipping al unui segment fata de o fereasta poligonala convexa sau neconvexe;
  • Algoritmul de clipping (Sutherland-Hodgman) al unui poligon oarecare fata de o fereastra convexa;
  • Algoritmul de clipping (Weiler-Atherton) al unui poligon oarecare fata de o fereastra neconvexa;
  • Algoritmi fundamentali  de scannare si de filling
  • Aproximarea si generarea curbelor in grafica 2D ( forme Bezier, forme B-spline); 
  • Aproximarea si reprezentarea suprafetelor in grafica 3D (forme Bezier,  B-spline, Hermite);  
  • Algoritmi de vizibilitate si ascundere

 

 

Bibliografie / Resurse software

  • M. Vlada, De la teorema lui Green la geometria computaţională, Conferinţa Naţională de Învăţământ Virtual, ediţia a IV-a, Editura Universitatii din Bucuresti, 2006: LINK (online)

- Dev C++ WinBGIm Graphics Library (graphics.h) Ref.: http://www.cs.colorado.edu/~main/bgi/dev-c++/   Fisier de tip .pdf ! Graphics with Dev-C (Dowload: Fisier de tip .h ! graphics.h Fisier de tip .a ! libbgi.a ) [ATENTIE! Pentru fiecare program trebuie New --> Project si in cod trebuie int main() iar la sfarsit de cod getch(); closegraph();] Fisier de tip .pdf ! Indicatii Dev-C++   [OBS. schimbare culoare fond: setbkcolor(15);clearviewport(); ]

- JavaScript Vector Graphics Library (wz_jsgraphics.js) by Walter Zorn
Ref.: http://mvlada.blogspot.com/2011/  : Fisier de tip .pdf ! Walter Zorn-wz_jsgraphics  (Download Fisier de tip .js ! wz_jsgraphics)

- Graphics C++ SDL Applications, Academic Tutorials -http://www.academictutorials.com/graphics/

-PLOT 2D/3D: Graphing Calculator 3D -http://calculator.runiter.com/graphing-calculator/download-free-graphing-calculator.htm Online 3-D Function Grapher - http://www.livephysics.com/ptools/online-3d-function-grapher.php

 

Evaluarea/Examen la Computer Graphics(CG) 

 

1) M. Vlada, …, Grafica pe calculator in limbajele Pascal si C, vol. I,II, Implementare si aplicatii, Editura Tehnica,1992

2) M. Vlada, D. M. Popovici, Realitatea Virtuala (Virtual Reality)- Tehnologie moderna a informaticii aplicate. In Conferinta Nationala de Invatamant Virtual – CNIV 2004, (online pdf) Fisier de tip .pdf ! Realitate Virtuala(Vlada&Popovici)

3) Dorin Mircea Popovici, Realitate virtuală şi augmentată, Editura ProUniversitaria şi Editura Universitaria Craiova, 2014 (http://www.c3.cniv.ro/)

4) D.M. Popovici, M. Polceanu, Grafica pe calculator, Editura MatrixRom, 2014

5) Gr. Albeanu, Grafica pe calculator. Algoritmi fundamentali, Editura Universitatii din Bucuresti, 2001

6) Gr. Albeanu, Modelarea si tehnici de programare in realitatea virtuala. In Conferinta Nationala de Invatamant Virtual – CNIV 2005, 2005

7) Florica Moldoveanu, Grafica pe calculator, Editura TEORA, 1996   

8) F. Ionescu, Grafica în realitatea virtuală, EdituraTehnică 2000

9) D.Pop,  D.Petcu, Modelare lumii tridimensionale, Editura Eubeea, 2004, Timisoara

10) D.Petcu, L.Cucu, Principii ale graficii pe calculator, Editura Excelsior, Timisoara, 1995 (Online Petcu & Cucu)

11) Calin Marin Vaduva, Programarea in Java, Editura Albastra, Cluj-Napoca, 2002

12) Titus Felix Furtuna, Grafica interactiva cu aplicatii in Java si Java 3D, Editura ASE, Bucuresti, 2007

13)   http://www.w3schools.com , accesare 2012

14)   http://www.w3.org/Graphics/SVG/ , accesare 2012

 



Cursuri on-line

 

 

 

Google - Maria Gaetana Agnesi's 296th Birthday - http://www.google.com/doodles/maria-gaetana-agnesis-296th-birthday (*** Bucla Mariei Agnesi: x=2a cos(t), y=a[1-cos(2t)], t variaza intre 0 si pi; http://ro.math.wikia.com/wiki/Bucla_lui_Agnesi) ; Maria Gaetana Agnesi (1718-1799).

 

Ref.: Walter Zorn's Famous Web Sripts, http://mvlada.blogspot.com/ 

cod program sigla CNIV

 © M. Vlada

sigla CNIV

© M. Vlada

cod - generare sigla animafilm

 

© M. Vlada

sigla animafilm

 

© M. Vlada

Solutions 21st Century Skills    BETT 2009- Londra: Siveco&Sanako

 

 

 

Pagină actualizată la 11 Iulie 2014.