Tak jak na kartce wiem jak to zrobić, tak nie potrafię tego zaprogramować :/ Pomógłby ktoś?
Na kartce masz kratki, więc to się nie liczy. Jak byś to zrobił matematycznie
na kartce?
Hmm, jeśli chcesz znaleźć przekątnych, to znaczy po prostu że masz dwie proste (AC i BD) i szukasz punktu w którym się przecinają tak?
Można to w zasadzie rozwiązać dużo prościej, ale jako że uzasadnienie tego wymagałoby trochę teorii, intuicyjne licealne
rozwiązanie:
Najpierw wyliczasz z AC i BD równania prostych w postaci kierunkowej (y = ax + b). Jest to w zasięgu każdego, jeśli dobrze w głowie liczę to a = (Cy-Ay)/(Cx-Ax)
, b = Cy-a*Cx
, analogicznie dla BD.
Zostaje wtedy prosty układ równań do rozwiązania:

Co daje x = (d-b)/(a-c)
, i z tego wychodzą punkty przecięcia.
Elegancję tego rozwiązanie psuje skutecznie fakt, że musisz wziąć pod uwagę przypadki specjalne, kiedy prosta AC albo BD jest równoległa do osi Y (i nie pomylić się przy tym).