Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Figura wypukła
Forum PHP.pl > Forum > PHP
Arthast
Witam koledzy,

mam dosyć ciekawe zagadnienie do rozwiązania. Mianowicie -> chcę napisać funkcję która po podaniu 4 współrzędnych (w sumie 8 bo każda współrzędna posiada wysokość i szerokość (x i y) ). Zna może ktoś inną możliwość niż wykluczanie każdej możliwości po kolei? zdaje się to trochę bezsensu i dosyć zawodne. Ułatwieniem jest fakt że figura zawsze będzie czworokątem.

Jakieś pomysły?

Pozdrawiam
lord_t
Cytat(Arthast @ 30.12.2007, 04:02:51 ) *
...chcę napisać funkcję która po podaniu 4 współrzędnych (... ).


Co ma zrobić ta funkcja po podaniu tych współrzędnych?


PS. Literówka w temacie.
ayeo
Algorytmów na tego typu jest milion...
Arthast
Cytat(lord_t @ 30.12.2007, 10:08:37 ) *
Co ma zrobić ta funkcja po podaniu tych współrzędnych?


sprawdzać czy figura jest wypukła czy nie jest ;] te cztery współrzędne to rogi bryły ;]

miliony? może nakierujesz mnie na poprawne myślenie? byłbym wdzięczny.
doseo
Na ile się orientuje to każdy czworokąt jest wypukły.
Arthast
hym, zamieszcze rysunek pomocniczy - wybaczcie za jakość, ale skanera się jeszcze nie dorobiłem ;]



można sobie ułatwić sprawę, przeciągając linie pomocniczą; Jeżeli oba pozostałe punkty znajdą się po jednej stronie tej linii to wtedy figura jest wklęsła, jeżeli znajdą się na obu różnych połowach lub ewentualnie na tej linii są to figury wypukłe.
nevt
doseo - lepiej nie bierz udziału w biegach na orientację - możesz zaginąć na zawsze winksmiley.jpg

Arthast - zakładając, że twój czworokąt ma wierzchołki A, B, C i D musisz sprawdzić czy odcinek AC przecina się (ma punkt wspólny) z BD - jeżeli tak - to jest czworokąt wypukły - jeżeli nie - jest wklęsły...

twoja metoda nie zadziała jeśli poprowadzisz tą linię pomocniczą przez niewłaściwe punkty (w twoim przykładzie to B i D) - więc musisz robić min. 2 sprawdzenia...

a przy okazji - googlowanie nie boli - to powyżej wyskoczyło mi jako 3 odpowiedź na pytanie "sprawdzić czy czworokąt jest wypukły"... więc wzoru na punkt wspólny dwóch odcinków poszukaj już sobie sam...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.