Płaszczyzna kartezjańska

0

Witam ;] Chciałbym poruszyć wątek zamiany układu współrzędnych monitora na współrzędne kartezjańskie. Znalazłem opis do tego ale nie mogę tego zrozumieć :|
http://binboy.sphere.pl/index.php?show=207
Mam problem z zamianą współrzędnych :| Bardzo bym prosił o wyjaśnienie tego tematu bo nie mogę zaczaić jak to działa i dlaczego tak [???] Dziękuje za każde wyjaśnienie i podpowiedź.
P.S.
Piszę w bibliotece WinBGI

0

Wystarczy zmienić współrzędną "y" (pionową) na "getmaxy()-y". Współrzędna x zostaje takasama.

0

To wtedy otrzymuje tylko jedną z 4 części wykresu (układu współrzędnych) w takim wypadku nie mogę przedstawić np. sinusoidy która rozpoczyna sie od ujemnej połówki :| a już nawet nie wspomnę o bardziej złożonych rzeczy jak "fraktal". Problem dalej nie zostaje rozwiązany :|

0
kacper10714 napisał(a)

To wtedy otrzymuje tylko jedną z 4 części wykresu
Nic podobnego. Słyszałeś, że 2 minusy dają plus ? Jak nie to już wiesz :D
Jak JaskMar pisał, trzeba przy y postawić minus, bo na ekranie w pionie jest odwrotnie.

(x, y) - współrzędne kartezjańskie
(X, Y) - współrzędne ekranowe
(0X, 0Y) - współrzędne ekranowe początku układu współrzędnych

(X, Y) = (x, -y) + (0X, 0Y)
(x, y) = (X, -Y) + (-0X, 0Y)

Można dołożyć jeszcze skalę:
(SX, SY) - skala w pikselach/jednostkę kartezjańską

(X, Y) = (SXx, -SYy) + (0X, 0Y)
(x, y) = (X/SX, -Y/SY) + (-0X/SX, 0Y/SY)

0

Przepraszam za długotrwałe milczenie w odpowiedzi ale wciągnęło mnie tworzenie fraktala Mandelbrota :d
Okazało sie że to super sprawa :> Wielkie dzięki za pomoc :-) (jak bym mógł was spotkać to postawiłbym duże piwo ;-P ) Aż miło jak na zadane pytanie czy problem jest ktoś chętny pomóc :-)
P.S.
Znalazłem jeszcze jeden sposób skalowania:

a = (amax - amin) / getmaxx() * i + amin;
b = -(bmax - bmin) / getmaxy() * j + bmax;

gdzie:

a - szukana współrzędna "x" na płaszczyźnie kartezjańskiej

b - szukana współrzędna "y" na płaszczyźnie kartezjańskiej

amax - maksymalna 'obrana' współrzędna kartezjańska na osi "x"

bmax - maksymalna 'obrana' współrzędna kartezjańska na osi "y"

amin - minimalna 'obrana' współrzędna kartezjańska na osi "x"

bmin - minimalna 'obrana' współrzędna kartezjańska na osi "y"

i - współrzędna "x" ekranu obranego punktu

j - współrzędna "y" ekranu obranego punktu

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