Ellenőrizze, hogy a pont tartozik a téglalap

Ellenőrizze, hogy a pont tartozik a téglalap

Ismert koordinátáit téglalap csúcsai (egy síkban), annak forgási szöggel (középpontjához képest), és a pont koordinátáit. Hogyan programot, hogy ha a pont tartozik a téglalap, vagy nem?

Talált az általános esetben a sokszög (lehet kapni az összes csúcsú összegzése a szögek vektorok között a „point-to-top” (ha + -360, tartozik)), de valahogy könnyebb csinálni.

találni jelei a vektor termék az oldalak és a top-to-point, azaz meghatározására, hogy egy pont abban rejlik, hogy a bal oldalon, amikor minden megy körbe az óramutató járásával ellentétes

Analitikus geometria tinó.
Semmilyen közvetlen (egy téglalap - jelentése chetyer vonalak) osztja a síkot két részre + és -.
Ha helyettesíteni egy pont koordinátáit a # XA0, egyenes egyenlete, akkor kap a távolság a pont a közvetlen, egy jel jelzi hovatartozást az egyik rész.
Illetve, lesz valami, mint ez:
# XA0; # XA0; # XA0; +
# XA0; -----------
| # XA0; # XA0; - # XA0; # XA0; |
| # XA0; # XA0; # XA0; # XA0; # XA0; |
+| - # XA0; # XA0; # XA0; # XA0; # XA0 - | +
| # XA0; # XA0; # XA0; # XA0; # XA0; |
| # XA0; # XA0; - # XA0; # XA0; |
# XA0; -----------
# XA0; # XA0; # XA0; +
Beágyazott ellenőrzi, hogy podstvanovki eredmény mindig kisebb vagy egyenlő, mint 0, a lényeg a téglalapot.

Ui
A jel függ az irányt az irányvektor meghatározó vonal, figyelembe kell venni.

hülye képlet fordulva fordult minden pont a téglalap, hogy egy vízszintes téglalap, majd proveryaetsa a szokásos módon.

Vagy többet is, mint azt az [2], hogy nem. Keresünk a pont magassága a vonalon. Ha mind a magassága a pozitív vagy negatív, az azt jelenti, hogy a belső (ha a bypass vonal ugyanaz). Annak érdekében, hogy megtalálják a magasságot meg lehet építeni a két derékszögű háromszögeket, és közülük származik a képlet általános lába, ami magas lesz.

---
. sétálunk egy vékony vonal, és jobb, ha elkerüljük a kockázatot.

hmm. Olvastam egyednél # XA0; helytelen és írt [1] tartozónak a háromszög;)

A téglalap nem kell mind a négy oldalán a cheat. Elég, hogy oldja meg a vektor az első csúcs - a pont a vektorok a két szomszédos oldal, és ellenőrizze, hogy a két paraméteres koordinátái tartományban 0..1. Osztályok nem is kell, ha összehasonlítjuk nem egységesen és diszkriminancia (figyelembe véve annak jele)

> És mi zarulivaet javasolt [1]. Azok tojást csak
> Side.

Telepített tojás. ))
És az algoritmus ugyanaz, ha jól értem.

Van egy nagyon egyszerű, de egyben a leglassabb algoritmus téglalap 2 háromszög -> megtalálják a mérete egy téglalapot, akkor tegye a pontot, és belőle építeni 4 treugolka (dot tetején és oldalán a háromszög egybeesik az egyik oldalán a téglalap) lefelé mérete a 4 háromszöget, és hasonlítsuk össze egy hibát nappali felület téglalap mindent.

# XA0; # XA0; # XA0; # XA0; # XA0; # XA0, ha zászló majd
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; kezdődik
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; // közel a vonal, a w.
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; // h (itt, talán, l) - a távolság a pont vonal.
# XA0; # XA0; # XA0; # XA0; # XA0; # XA0; # XA0; end;
# XA0; # XA0; # XA0; # XA0; # XA0; end;
végén;

Röviden, ha még mindig úgy gondolja, meg tudod csinálni, ami szükséges)


> Ha helyettesítheti a pont koordinátáit a # XA0, az egyenes egyenlete
> Get a távolság pont vonal,

Kíváncsi vagyok, hogyan, ebben az esetben meghatározzák az egyenlet egy függőleges vonal)))

> [11] Darkwingg # XA0; (27.08.07 10:02)

És van néhány probléma. ))

IMHO legtöbb pravlno újraszámítja az egy pont koordinátáit egy koordináta-rendszerben alapuló vagy a felső és két merőleges a derékszögű négyszög oldalával, majd összehasonlítjuk a koordinátákat a oldalainak hossza. (Process már a fent leírt, hogy a képlet)

választani, mint egy kiindulási pont az új koordináta-rendszer a bal alsó pont a téglalap.

PX, pi - pont koordinátái a régi koordinátarendszerben
newpx, newpy - egy pont koordinátáit az új koordinátarendszerben
ax, ay - koordinátáit a bal alsó pont a téglalap (estessno pont koordinátáit.).
la, lb - a hossza a derékszögű négyszög oldalával

G - a forgásszög egy téglalap az óramutató járásával megegyező irányba, tekintettel annak bal alsó.

1. newpx = (px - ax) * cos (G) - (py - ay) * sin (G)
2. newpy = (px - ax) * sin (G) + (py - ay) * cos (G)

ha newpx <= la и newpy <= lb, то точка лежит внутри прямоугольника.

Az igazság nem pontosan zümmögő, ha a hossza az oldalán a téglalap nem ismertek, és ismert, hogy csak a csúcsainak koordinátáit))) meg kell vizsgálni a további és ez nem tart tovább néhány műveleteket.


> És van néhány probléma. ))

hm)), illetve akkor levelet lineáris egyenlet ponton áthaladó

> [14] Darkwingg # XA0; (27.08.07 10:59)

Nem fogja tanítani a középiskolában telekhatár. )

Az első tulajdonság:
Bármely két különböző pontban végezhető csak közvetlen.

A Dunno msluchae egyenes egyenlete a következő lenne:
X = x1
és a távolság a sor, hogy a pont lesz a különbség az x1 és x pont koordinátáit.

hmm. hmm), de bármely két különböző pontban, akkor dolgozzon egy egyenes vonal, de ez csak abban az esetben egy függőleges vonal lesz szükség további feltétele, hogy tesztelje függőleges helyzetbe nem minden vonal leírható az y = f (x).

Ön azt mondta, hogy egyszerűen helyettesíti a koordinátákat az egyenes egyenlete, ebben az esetben, írja az egyenlet minden tételek, beleértve a függőleges)))

> [16] Darkwingg # XA0; (27.08.07 12:00)

Itt nem szükséges felvenni az ilyen apróságok.
És egy idióta tudja, hogy a függőleges vonal nem yavlyaetsya megszokott közvetlen, ha csak azért, hogy nem yavlyaetsya ütemtervet.
Ennek megfelelően szükséges külön porveryat.
IMHO könnyebb ellenőrizni, mint használni a módszert.
És a munka gyorsabb lesz.


> Itt nem szükséges felvenni az ilyen apróságok.

És ez nem éppen kicsi változás. ez olyan, mint mit csinál a vonal közel függőleges?

Gyanítom, hogy a képlet y = x (y2-y1) / (x2-x1) + b, ebben az esetben, egy kicsi, de nem nulla (x2-x1), csak közvetlen, közel függőleges, kapsz egy nagy hiba és hiányzik a pont a helyzetben, és emellett lehet nullával osztani.

> Darkwingg
bármelyik vonal lehet leírni, például egy egyenlete ax + by + c = 0


> [18] Darkwingg # XA0; (27.08.07 13:03)

Hmm. Én általában kerülni függőleges vonalak éppen ellenkezőleg azt a közvetlen közel függőleges, általában elegendő pontossággal, még nagyon hosszú sorok.

> Ebben az esetben nincs értelme a leírás
Ha ez a kérdés, hogy melyik oldalon az egyenes az a pont, ez a leírás tökéletesen illeszkedik.

Bliin. A lettem néma. Tulajdonképpen már a matematika nem tapadnak meg kell poreshat feladatokat.

Darkwingg, itt van - ugyanazt az egyenletet.

> @ !! ex
hanem építeni az egyenletek kell tennie a számításokat az összes érintett fél, hogy túl.

[5] ismertet egy gazdaságosabb módon.

kivéve, hogy az ilyen típusú egyenletet is kell még vezetni, çäàåò nekem, hogy ez a módszer a nullával való osztást vserno nem tud menekülni. Egy átmenő két pont, ha nem téves, mint leírt képlet

által Cthulhu dob, és ez lehet csökkenteni formájában ax + by + c = 0, ahol vserno lennie (x1 - x2) a nevezőben.

> [24] Darkwingg # XA0; (27.08.07 15:28)

Hogy őszinte legyek, nem emlékszem már, de azt mondták, hogyan lehet elkerülni az esetben, ha az alkatrész irányvektor 0, akkor valahogy úgy tűnik, egyszerű, de nagyon régen volt, és nem emlékszem.

ez a dolog, hogy a szinusz, koszinusz, szögek és a vektorok nem szokatlan, és meg kell történnie nem probléma. általában nincs szétválás. sobsno, amely tükrözi az általam kidolgozott módszer))). minden kivitelben árvíz. Az utolsó utáni ennek a láncnak.

> De az építőiparban az egyenletek kell tennie számítások
> Az összes érintett fél, hogy túl.
>
> Az [5] ismertet egy gazdaságosabb módon.

Miért? Párok vállalnak irányvektorok majd pararelnyh közvetlen odinakvye.
És ha egy téglalap, elegendő, hogy megtalálja az egyik, a második lesz 90 fok.


> [26] Darkwingg # XA0; (27.08.07 15:41)

Neeem. Mindegy, én tuplyu konkrétan.
Nincs nullával osztani. Még egy függőleges vonal.
Ez hülyeség, hogy összetevői, nos, ezek egyike nullával egyenlő, van egy szorzás, osztás nem!

> De az építőiparban az egyenletek kell tennie számítások
> Az összes érintett fél, hogy túl.
>
> Az [5] ismertet egy gazdaságosabb módon.

Miért? Párok vállalnak irányvektorok majd pararelnyh közvetlen odinakvye.
És ha egy téglalap, elegendő, hogy megtalálja az egyik, a második lesz 90 fok.


> [26] Darkwingg # XA0; (27.08.07 15:41)

Neeem. Mindegy, én tuplyu konkrétan.
Nincs nullával osztani. Még egy függőleges vonal.
Ez hülyeség, hogy összetevői, nos, ezek egyike nullával egyenlő, van egy szorzás, osztás nem!

Memória: 0,81 MB
Idő: 0,03 c