![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam! Mam projekt, w którym potrzebuję pobrać wszystkie wierzchołki należące do danego wielokąta wraz z tymi leżącymi na krawędzi. Przykładowo mam podanych "i" wierzchołków i dla każdego wierzchołka jego współrzędne $x[i] i $y[i].
Nie wiem kompletnie jak się za to zabrać może macie jakiś pomysł, choćby wskazówkę na zaczęcie tego skryptu? Pozdro i z góry dzięki ; ) PS: Dodam, że wielokąt może być wklęsły. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
Masz to na obrazku czy w jakiejś tablicy?
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
W tablicy. Mam podane współrzędne wierzchołków, wierzchołki występują kolejno po sobie.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Opiekunowie Postów: 3 855 Pomógł: 317 Dołączył: 4.01.2005 Skąd: że ![]() |
No to nie kumam o co chodzi, skoro masz już te wierzchołki w tablicy...
-------------------- Jak poprawnie zadać pytanie | Jak poprawnie zatytułować wątek
Najczęstsze błędy | Błędy E_NOTICE | PHP FAQ | FAQ PHPedia | SQL-Injection | Logowanie i sesje | Hashowanie haseł | Server - od czego zacząć ? | Manual PHP Alternatywne Forum dla Ekspertów Nie pomagam na PW, nie mam GG |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam, pisałem na szybko, chodziło o wszystkie punkty należące do danego wielokąta, nie wierzchołki
![]() |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 433 Pomógł: 64 Dołączył: 29.01.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
To może pomóc: http://blog.vokiel.com/klasa-php-rozwiazuj...tu-do-wielokata
btw: pierwszy wynik z google -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Ale to sprawdza jeden punkt, który podam, a ja chcę pobrać do tablicy wszystkie punkty. A sprawdzanie każdego możliwego punktu z danego zakresu byłoby nie optymalne : /
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 433 Pomógł: 64 Dołączył: 29.01.2011 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ale nie jesteśmy w dziale gotowe rozwiązania.
Dałem Ci przykład, który możesz sobie rozwinąć do własnych potrzeb. Zapewne nie widziałeś tej strony: http://en.wikipedia.org/wiki/Point_in_polygon ani tej: http://alienryderflex.com/polygon/ , bo inaczej byś wiedział, że jest to najlepszy algorytm w stosunku pewność wyniku/ łatwość implementacji. Jeżeli Ci ta metoda nie odpowiada, to zainteresuj się Metodą elementów skończonych. Sprawdziłoby się do podzielenia figury na trójkąty, a wtedy sprawdzenie dla punktu możesz przeprowadzić już na bardzo wiele sposobów: http://stackoverflow.com/questions/2049582...t-in-a-triangle || http://www.blackpawn.com/texts/pointinpoly/default.html || http://math.stackexchange.com/questions/51...by-three-points -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 12.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, już wiem jak to przekształcić : )
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 07:35 |