Mam pytanie czy istnieją biblioteki do tworzenia grafiki 2D lub 3D dla języka C (nie C++). I jeśli są to jak się nazywają.
PS
Wiem, że język C do tego nie służy, ale chciałbym spróbować
Mam pytanie czy istnieją biblioteki do tworzenia grafiki 2D lub 3D dla języka C (nie C++). I jeśli są to jak się nazywają.
PS
Wiem, że język C do tego nie służy, ale chciałbym spróbować
Biblioteki np, allegro, curses
Co rozumiesz przez "tworzenie grafiki"?
Ogólnie są 2 różne typy grafiki 2D:
Do każdego z tych typów grafiki mamy osobne narzędzia i sposób ich tworzenia jest inny. Operacje na grafice wektorowej to geometria analityczna a na rastrowej algebra liniowa.
Jeśli chodzi o operacje na grafice wektorowej to Cairo jest dość popularne. Jeśli chodzi o grafikę rastrową to szukaj pod hasłem BLAS oraz lib<nazwa formatu na jakim chcesz pracować>
(przykładowo libpng
lub libjpeg
).
Grafika 3D to rozszerzenie wektorowej grafiki 2D o dodatkowy wymiar, więc jeszcze więcej geometrii analitycznej + dodatkowo więcej algebry liniowej (w grafice wektorowej 2D da się tego uniknąć).
PS:
Stwierdzenie "C do tego nie służy" nie do końca ma pokrycie w faktach, z racji, że GIMP jest napisany w C (PS w C++), Inkscape w C++, Blender C/C++.
Szukałem BLAS, ale nie mogłem nic znaleźć. Może mi ktoś pomóc, przydałby się też jakiś tutorial.
Znalazłem coś takiego: www.openblas.net
Czy o to chodziło.
Może być. Teraz już tylko ogarnąć algebrę :)
@winerfresh: chyba coś Ci się pomyliło.
winerfresh napisał(a):
Operacje na grafice wektorowej to geometria analityczna a na rastrowej algebra liniowa.
Może JPEG ma coś jeszcze wspólnego z algebrą liniową (ble), ale już geometria rastrowa na pewno nie.
Geometria rastrowa jest z gruntu nie-liniowa, więc nie wiem gdzie widzisz punkty wspólne.
Nie znam się na systematyce geometrii, ale wg tego co piszą w internetach do grafiki rastrowej bardziej pasuje geometria analityczna.
Wszelkie operacje na grafice rastrowej (filtry, przekształcenia, etc.) to przekształcenia liniowe, więc ja widzę to całkiem sporo algebry liniowej.