Witam,
Minęło sporo czasu od kiedy miałem za zadanie obliczać różne zadania m.in. w szkole, ale ostatnio napotkało mnie zadanie które mam problemy z przeskoczeniem.
Potrzebuję sprawdzić czy punkty P1,P2,P3,P4 należy do wielokąta foremnego z wykluczeniem linii tworzących ten wielokąt (konkretnie 6boczny czyli sześciokąt foremny).
Jakie mam dane?
S(48,30) - środek
b = r = 12
Zapytanie:
Czy punkty należą do figury?
P1(48,30) - z rysunku należy - TRUE
P2(42,20) - należy - TRUE
P3(60,24) - leży na tworzącej wielokąt - FALSE
P4(18,20) - nie należy - FALSE
Dzięki punktowi S i r tworzę wektory v, i znajduję punkty ABCDEF.
wiem że jest wzór:
\(\displaystyle{ (x-x_{i}) \cdot (y_{j}-y_{i}) + (y-y_{i}) \cdot (x_{j}-x_{i}) > 0}\)
lub
\(\displaystyle{ dy \cdot x - dx \cdot y > 0}\)
ale coś źle go wykorzystuje, bo wyniki każdego boku wynoszą -144.
p.s. to jest tylko część zadania, bo finalnie brzmi. Wskazać wielokąt foremny o 6 bokach do którego należą punkty(...) Punktów jest 50 i wielokątów jest 100.
Będę wdzięczny o naprowadzenie mnie na dobrą drogę.
Punkt należący do wielokątu foremnego - sześciokąt
- kropka+
- Użytkownik
- Posty: 4389
- Rejestracja: 16 wrz 2010, o 14:54
- Płeć: Kobieta
- Lokalizacja: Łódź
- Podziękował: 1 raz
- Pomógł: 787 razy
Punkt należący do wielokątu foremnego - sześciokąt
Jakie wektory? Przecież w okrąg \(\displaystyle{ O(S,r)}\) można wpisać nieskończenie wiele sześciokątów foremnych o boku \(\displaystyle{ r}\) - np. wierzchołek \(\displaystyle{ A}\) może być dowolnym punktem okręgu.Tomplus pisze:
Dzięki punktowi S i r tworzę wektory v, i znajduję punkty ABCDEF.
Gdybyś miał podane współrzędne jakiegoś wierzchołka, albo jakiejś prostej zawierającej bok lub którąś przekątną tego sześciokąta, to wtedy mógłbyś policzyć współrzędne wszystkich wierzchołków. Dalej już łatwo.
Wzory do wykorzystania to:
równanie prostej przechodzącej przez dwa punkty \(\displaystyle{ A(x _{a},y _{a}),B(x _{b},y _{b})}\):
\(\displaystyle{ (y-y _{a})(x _{b}-x _{a})-(y _{b}-y _{a})(x-x _{a})=0}\)
wzór na odległość punktu \(\displaystyle{ P(x _{p},y _{p})}\) od prostej \(\displaystyle{ k: Ax+By+C=0}\):
\(\displaystyle{ d(P,k)= \frac{\left| Ax _{p} +By _{p} +C \right| }{ \sqrt{A ^{2}+B ^{2} } }}\)
Żeby punkt \(\displaystyle{ P(x _{p}, y _{p})}\) znajdował się wewnątrz sześciokąta foremnego ABCDEF, gdzie \(\displaystyle{ AB\left| \right|ED \wedge AF\left| \right| CD \wedge BC\left| \right|EF}\) to jego współrzędne nie mogą spełniać równania żadnej prostej zawierającej bok sześciokąta i musi zachodzić układ równań:
\(\displaystyle{ \begin{cases} d(P,AB)+d(P,ED)=r \sqrt{3}\\ d(P,AF)+d(P,CD)=r \sqrt{3} \\ d(P,BC)+d(P,EF)=r \sqrt{3} \end{cases}}\)
Punkt należący do wielokątu foremnego - sześciokąt
ok. czyli wzór na długość powinien wyglądać tak:
\(\displaystyle{ d(P,k_{n}) = \frac{ (y_{A}-y_{B}) \cdot x_{P} + (x_{B}-x_{A}) \cdot y_{P} + (y_{B}-y_{A}) \cdot x_{A} - (x_{B}-x_{A}) \cdot y_{A}}{ \sqrt{ (y_{A}-y_{B})^{2} + (x_{B}-x_{A}) ^{2} } }}\)
czyli w sumie powinno być:
\(\displaystyle{ d(P,k_{n}) > 0}\) to \(\displaystyle{ P \in ABCEF}\)
Jeżeli jedna z długości jest ujemna lub równa zero, to punkt nie należy do figury.
Ogólnie byłem blisko, kombinowałem z prostą i odcinkami. Jeżeli prosta OP. przetnie tylko jeden odcinek figury to oznacza że punkt jest w środku. Jeżeli przecięła by dwa odcinki lub wcale to oznacza że jest ZA lub PRZED figurą.
Dziękuję za pomoc.
P.S. Dlaczego literka D powoduje błąd w kodzie TEX?
\(\displaystyle{ d(P,k_{n}) = \frac{ (y_{A}-y_{B}) \cdot x_{P} + (x_{B}-x_{A}) \cdot y_{P} + (y_{B}-y_{A}) \cdot x_{A} - (x_{B}-x_{A}) \cdot y_{A}}{ \sqrt{ (y_{A}-y_{B})^{2} + (x_{B}-x_{A}) ^{2} } }}\)
czyli w sumie powinno być:
\(\displaystyle{ d(P,k_{n}) > 0}\) to \(\displaystyle{ P \in ABCEF}\)
Jeżeli jedna z długości jest ujemna lub równa zero, to punkt nie należy do figury.
Ogólnie byłem blisko, kombinowałem z prostą i odcinkami. Jeżeli prosta OP. przetnie tylko jeden odcinek figury to oznacza że punkt jest w środku. Jeżeli przecięła by dwa odcinki lub wcale to oznacza że jest ZA lub PRZED figurą.
Dziękuję za pomoc.
P.S. Dlaczego literka D powoduje błąd w kodzie TEX?
- kropka+
- Użytkownik
- Posty: 4389
- Rejestracja: 16 wrz 2010, o 14:54
- Płeć: Kobieta
- Lokalizacja: Łódź
- Podziękował: 1 raz
- Pomógł: 787 razy
Punkt należący do wielokątu foremnego - sześciokąt
Tomplus pisze: \(\displaystyle{ d(P,k_{n}) = \frac{ (y_{A}-y_{B}) \cdot x_{P} + (x_{B}-x_{A}) \cdot y_{P} + (y_{B}-y_{A}) \cdot x_{A} - (x_{B}-x_{A}) \cdot y_{A}}{ \sqrt{ (y_{A}-y_{B})^{2} + (x_{B}-x_{A}) ^{2} } }}\)
czyli w sumie powinno być:
\(\displaystyle{ d(P,k_{n}) > 0}\) to \(\displaystyle{ P\in ABCEF}\)
Jeżeli jedna z długości jest ujemna lub równa zero, to punkt nie należy do figury.
...
P.S. Dlaczego literka D powoduje błąd w kodzie TEX?
Źle.
1. W pierwszym wzorze w liczniku ma być wartość bezwzględna. Czyli odległość punktu \(\displaystyle{ P}\) od prostej \(\displaystyle{ AB}\) to
\(\displaystyle{ d(P,AB) = \frac{\left| (y_{A}-y_{B}) \cdot x_{P} + (x_{B}-x_{A}) \cdot y_{P} + (y_{B}-y_{A}) \cdot x_{A} - (x_{B}-x_{A}) \cdot y_{A}\right| }{ \sqrt{ (y_{A}-y_{B})^{2} + (x_{B}-x_{A}) ^{2} } }}\)
W związku z tym ta odległość zawsze będzie nieujemna. Gdy jest równa \(\displaystyle{ 0}\) to \(\displaystyle{ P}\) należy do prostej \(\displaystyle{ AB}\).
Żeby \(\displaystyle{ P}\) był wewnątrz sześciokąta ABCDEF to po pierwsze żadna z tych sześciu odległości nie może być zerem a po drugie musi być spełniony układ równań, który Ci napisałam.
P.S.
Pojęcia nie mam dlaczego Latex nie pozwala wpisać pełnej nazwy sześciokąta i wywala \(\displaystyle{ ABCDEF}\)
Punkt należący do wielokątu foremnego - sześciokąt
Tak wiem że powinna być wartość bezwzględna, ponieważ z prawa fizyki nie ma czegoś takiego jak ujemna odległość.
Jednakże aby szybko sobie liczyć takie dane, zrobiłem sobie w arkuszu kalkulacyjnym obliczenia z tego wzoru i np.:
http://i61.tinypic.com/1zzswbb.jpg
Jednakże po tych przykładach, wyniki są takie jakie oczekiwałem. Matematycznie także nie można do tego się przyczepić, bo nie ma takiego punktu P który byłby po za obrębem figury i powodowałby że wszystkie odległości byłyby większe od zera. Tak jak nie ma żadnego punktu P który należąc od prostych d(P,kn) nie równa się zero.
Jednakże aby szybko sobie liczyć takie dane, zrobiłem sobie w arkuszu kalkulacyjnym obliczenia z tego wzoru i np.:
http://i61.tinypic.com/1zzswbb.jpg
Jednakże po tych przykładach, wyniki są takie jakie oczekiwałem. Matematycznie także nie można do tego się przyczepić, bo nie ma takiego punktu P który byłby po za obrębem figury i powodowałby że wszystkie odległości byłyby większe od zera. Tak jak nie ma żadnego punktu P który należąc od prostych d(P,kn) nie równa się zero.