GRY-Online.pl --> Archiwum Forum

Matematyka - pomóżcie, bo pamięć już nie ta ;-)

14.03.2005
14:06
smile
[1]

Cacek [ Konsul ]

Matematyka - pomóżcie, bo pamięć już nie ta ;-)

Sytuacja wyglada tak:

mamy uklad wspolzednych x,y. W ukladzie tym mamy;

1. Kwadrat o wierzcholkach A,B,C,D - znamy wspolzedne x,y kazdego z tych wiercholkow. Jak teraz sprawdzic czy punkt Z(x,y) nalezy do tego kwadratu czy nie nalezy? :)

2. Jak to policzyc dla prostokata?
(pewnie tak samo)

3. Jak to policzyc dla dowolnego czworokata?
(pewnie tak samo)

Bede bardzo wdzieczny za przypomnienie :-)

14.03.2005
14:28
[2]

graf_0 [ Nożownik ]

Sposób wymyślony przeze mnie, być może niezgody z jakąś lepszą, optymalną metodą książkową.

wyliczasz 4 proste pomiędzy wierzchołkami. sprawdzasz czy punkt Z leży nad prostymi zamykającymi czworokąt od dołu i pod tymi, które zamykają go od góry. Jeśli tak, to punkt leży w czworokącie.

14.03.2005
15:10
[3]

konioz [ Konsul ]

graf_0 ---> w sumie dobry sposob, ale jeszcze mozna go uproscic... najpierw sobie narysowac, jak beda trudne liczby (jakies pierwiastki itp.), to mniej wiecej widac, i tak pod ktorym bokiem lezy ten punkt, albo w jakich okolicach. Wtedy mozna policzyc tylko jedna prosta i czy ten punkt lezy (nad nia/ pod nia), a nie meczyc sie ze wszystkimi.

14.03.2005
15:14
[4]

Cacek [ Konsul ]

Z tym rysowaniem, to troche odpada, bo musze z tego zrobic bardziej "algorytm" :) Dlatego chodzi mi o "metode" w krokach.

14.03.2005
15:24
[5]

Romanujan [ Konstruktor Katapult ]

Hmm, no dobra - mój pomysł:

1. Wyznacz odcinki będące bokami czworokąta.
2. Weź punkt i poprowadź z niego półprostą w dowolnym kierunku.
3. Policz z iloma odcinkami-bokami przecina się półprosta - jeśli z parzystą liczbą, to punkt nie leży wewnątrz, jeśli z nieparzystą - leży wewnątrz.

Algorytm działa dla wszystkich wielokątów (nawet tych, które nie są wypukłe).

14.03.2005
15:25
[6]

Romanujan [ Konstruktor Katapult ]

Acha, i przy liczeniu, z iloma bokami przecina się półprosta nie bierz czasem pod uwagę wierzchołków :-)

15.03.2005
09:03
[7]

Cacek [ Konsul ]

Wielkie dzieki wszystkim za pomoc :)

19.03.2005
14:25
[8]

Xerces [ Konsul ]

Jest jeszcze inny sposób. Musisz wyznaczyć równanie parametryczne tego wielokąta a potem algebraicznie sprawdzić, czy dany punkt do niego nalezy

© 2000-2025 GRY-OnLine S.A.