Grafika wektorowa

0

Mam za zadanie wczytać obrazek wektorowy (prosty, parę punktów i krawędzi), jakoś go zmienić, a potem znów zapisać.
W jakim formacie najlepiej ten obraz wektorowy zapisac, by był najbardziej przyswajalny Javie? :P
Prowadzący mówił, że ten obraz wektorowy mamy traktowac jako graf. Istnieje jakas metoda w Javie, która wczytuje obraz wektorowy i zwraca graf? Bo własnie po wczytaniu muszę mieć dostęp do współrzędnych wierzchołków...
I oczywiście jak potem zapisać ten obrazek z powrotem (wektorowo, rastrowo umiem :P).
Będę wdzięczny za wszelkie sugestie ;) Choćby za nazwy klas lub metod javowskich, które mogą się przydać.

0

Poradziłem sobie z tamtym trochę innym sposobem ;)

Mam jakiś kształt i go obracam. Korzystam z macierzy 3x3. Jednak po wielu, wielu obrotach ten kształt się zniekształca. Podejrzewam, że to wina przybliżeń wyników po mnożeniu macierzy, które są w double (bo sinusy i cosinusy nie są całkowite), a są potem rzutowane na int (bo współrzędne muszą być całkowite), ale co mogę z tym zrobić? :/
Nawet przy obrocie o 90 stopni mam ten błąd, bo funkcja Math.sin(Math.toRadians(90)) nie zwraca mi 0...

0

Może zamiast zapisywać współrzędne po obrocie zapisuj oryginalne współrzędne i kąt obrotu oraz przesunięcie? W takim przypadku błąd będzie dużo mniejszy. Tak się robi np w OpenGL, tyle że używa się macierzy 4x4 gdyż pozwalają one także składać przesunięcia, a nie tylko obroty. http://en.wikipedia.org/wiki/Homogeneous_coordinate_system#Use_in_computer_graphics

Math.sin(Math.toRadians(90)) na pewno nie będzie równy zero bo pi nie da się zapisać w skończonej precyzji.

0

Zapomniałem dodać, że to grafika 2D, więc macierz 3x3 jest już dla współrzędnych jednorodnych.
Dzięki za pomysł. Postaram się go jakoś wykorzystać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1