![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.03.2006 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem tego typu że stworzyłem funkcje rysujące różne figury za pomocą GD pobierając współrzędne z bazy są to kwadraty elipsy itp a także figury dowolne (rysowane za pomocą imagesexpixel i imagesline) I teraz mam pytanie jak po narysowaniu tego wszystkiego, po najechaniu kursorem na daną figurę i odczytaniu X i Y kursora sprawdzić czy ten punkt należy do danej figury (zawiera się w zbiorze punktów w bazie) Siedze nad tym pół dnia i nic mi nie przychodzi do głowy:/ Za jakąś pomoc będę bardzo wdzięczny |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 0 Dołączył: 18.03.2006 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Dzięki bartek00 za tego linka, tekst jest zakręcony jak słoik na zimę ale postaram się przez niego przebrnąć. Pozostaje tylko pytanie jak przekazać zmienną (np. po kliknięciu w obrazek) do php aby ten mogl dalej z tym robić co trzeba, z tego co wiem to za pomocą samego tylko JS się nie da (co innego AJAX) tyle tylko że z tym nie miałem do czynienia i nie umiałbym zrobić tego aby nie bylo okupione przeładowaniem strony. W sumie to moze sie nawet przeładowac byle by tylko pobrac te wartości. Dzięki za pomoc
Dzięki mike_mech, niestety jest mi to potrzebne bo pisze prace mgr i jest to jedna z rzeczy do zrobienia przy ktorej utknąłem (IMG:http://forum.php.pl/style_emoticons/default/dry.gif) Chodzi o to że po najechaniu na daną figurę ma się wyświetlić informacja o nim pobrana z bazy a żeby to zrobić muszę mieć współrzędne bo tylko tak sprawdzę do ktorej figury dany punkt należy (żeby wyświetlić właściwy opis). Ehh czasami to mi sie mózg lasuje od kombinowania z tym... Ten post edytował maniak11 12.04.2007, 20:04:05 |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki mike_mech, niestety jest mi to potrzebne bo pisze prace mgr (...) (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Mam to za sobą.Na dobrą sprawę tak jak mówiłem, nie jest to trudne ale wymaga masę obliczeń. Jeśli masz do czynienia tylko z wielokątami (nie tylko wypukłymi) to nie jest tak tragicznie. Mając wszystkie wierzchołki, wyliczasz wszystkie proste, w których zawieają się krawędzie. To będzie akurat proste, pomimo, że może czasochłonne. Potem wyliczasz wszystkie proste przechodzące przez dany punkt. Dla sprawienia że obliczenia będą wykonalne w ograniczonym czasie możesz zawęzić ich ilość do 360 (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Teraz najważniejsze: Bierzesz prostą przechodzącą przez punkt i liczysz ilość przecięć z wszystkimi krawędziami. Jeśli ilość jest parzysta to bierzesz kolejną prostą i ponawiasz obliczenia. Jeśli ilość jest nieparzysta to punkt należy do figury. Obliczeń będzie masa, wszystko najszybciej pójdzie na macierzach, choć podejrzewam ze PHP i tak zdechnie po drodze z 10 razy. Nie nadaje się do takich obliczeń. Tak to wygląda w skrócie, być może w implementacji jest do prostsze bo to co napisałem to bezpośrednie przeniesienie twierdzenia na kod. Poszukaj implementacji, być może jest prostsza od tego co napisałem, nie wiem bo nigdy nie potrzebowałem. Jeśli nie znajdziesz implementacji tego algorytmu to czeka Cię ogrom pisania. Z niepewnością, że PHP to dźwignie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 14:26 |