Chi so prepleteni v ravni liniji: dimnik je v vídrіzkív na stanovanju. Oznaka točke prečke dveh vdov

Naj vam dam dva posnetka. Prve zaposlitve pikčaste P 1 (x 1; y 1)і P 2 (x 2; y 2). Druga delovna mesta so pegasta P 3 (x 3; y 3)і P 4 (x 4; y 4).

Medsebojno roztashuvannya vídrіzkіv je mogoče obrniti za dodatne vektorske kreacije:

Poglejmo vídrіzok P 3 P 4 jaz pike P1і P2.

Pikasto, lisasto P1 ležati z levico v ravni liniji P 3 P 4, za njen vektorski televizor v1 > 0, Oscilki vektor in pozitivno usmerjen.
Pikasto, lisasto P2 roztashovana desno v ravni črti, za njen vektor tvir v2< 0 , Oskilki vektor in negativno usmerjen.

Da bi poudarili P1і P2 ležijo na različnih straneh v ravni liniji P 3 P 4, dovolj, tako da je bil um pretepen v 1 v 2< 0 (Vektor ustvari majhne znake).

Analogno mirkuvannya se lahko izvede za vídrízka P 1 P 2 poudarjam P3і P4.

Otzhe, yakscho v 1 v 2< 0 і v 3 v 4< 0 takrat se vetrovi spremenijo.

Vektorska proizvodnja dveh vektorjev se izračuna po formuli:

de:
sekira, ay- koordinate prvega vektorja
bx, avtor- Koordinate drugega vektorja.

Poravnava ravne črte, ki poteka skozi dve različni točki, podani z njunima koordinatama.

Na premici naj bosta dve točki, ki ne uhajata: P1 s koordinatami ( x1; y1)і P2 s koordinatami (x 2; y 2). Vídpovіdno vektor s storžem na točki P1 in končajo pri bistvu P2 lahko usklajuje (x 2 -x 1, y 2 -y 1). Yakscho P(x, y)- dovolj točke na ravni črti, nato koordinate vektorja P 1 P enaka (x - x 1, y - y 1).

Za pomoč pri ustvarjanju vektorjev Umov, kolinarnost vektorjev P 1 Pі P 1 P 2 lahko zapišemo takole:
|P 1 P ,P 1 P 2 |=0, potem. (x-x 1)(y 2 -y 1)-(y-y 1)(x 2 -x 1)=0
oz
(y 2 -y 1)x + (x 1 -x 2)y + x 1 (y 1 -y 2) + y 1 (x 2 -x 1) = 0

Ostanite enaki, če želite prepisati takole:
ax + by + c = 0, (1)
de
a \u003d (y 2 -y 1),
b \u003d (x 1 -x 2),
c \u003d x 1 (y 1 -y 2) + y 1 (x 2 -x 1)

Spet je lahko direktna črta enaka obliki (1).

Kako vedeti presečišče ravnih črt?
Očitno je, da je rešitev odprtje sistema izravnave ravnih črt:

sekira 1 +za 1 =-c 1
sekira 2 +za 2 =-c 2
(2)

Vnesite znak:

Tukaj D je primat sistema, in D x, D y- vyznachniki, yakí na rezultat zamenjave stovptsya koefіtsіêntіv іn v primeru neznanega stovptsy brezplačnih članov. Yakscho D ≠ 0 potem je sistem (2) jasen, potem obstaja samo ena rešitev. Rešitev lahko poznate za naslednjimi formulami: x 1 = D x / D, y 1 = D y / D, Yaki se imenujejo Cramerjeve formule | Majhna zarota, kot vyznachnik drugačnega reda. Uradnik ima dve diagonali: glavo in stran. Diagonala glave je sestavljena iz elementov, vzetih iz premice levega zgornjega kota smerokaza v desni spodnji kot. Stranska diagonala - od zgornjega desnega do spodnjega levega. Označevalec drugačnega reda je dodajanje elementov v diagonali glave minus dodajanje elementov v stranski diagonali.

Krapka peretina ravna

Navedite dva neposredna podatka, podana z vašimi koeficienti in . Treba je poznati njihovo presečišče, sicer lahko ugotovite, kateri so neposredno vzporedni.

rešitev

Kot da nista ravno vzporedna, se vsi smradi mešajo. Če želite poznati točko križišča, je dovolj, da sestavite sistem vezi iz dveh enakih ravnih črt:

Koristuyuchisya Cramerjeva formula, ko poznate rešitev sistema, všečkajte in bodite shukane križišče:



Kot prapor nič, tobto.

potem sistem ne more rešiti (ravno vzporedno in ne pobegni) ali pa je lahko neskončno bogat (naravnost teci stran). Treba je ločiti dve točki, treba je premisliti, kateri koeficienti premega sorazmerja so s samim koeficientom sorazmernosti, ki je koeficient sorazmernosti, za kar je treba vzeti dve opravičitvi, za kar smrdita, da sta enaka na nič, nato pa takoj:

Izvedba

struct pt (dvojni x, y;); strukturna črta (dvojni a, b, c;); constdouble EPS=1e-9; dvojni det (dvojni a, dvojni b, dvojni c, dvojni d) (vrni a * d - b * c;) bool intersect (vrstica m, vrstica n, pt & res) (dvojni zn = det (ma, mb, na , nb); če (abs(zn)< EPS)returnfalse; res.x=- det (m.c, m.b, n.c, n.b)/ zn; res.y=- det (m.a, m.c, n.a, n.c)/ zn;returntrue;} bool parallel (line m, line n){returnabs(det (m.a, m.b, n.a, n.b))< EPS;} bool equivalent (line m, line n){returnabs(det (m.a, m.b, n.a, n.b))< EPS &&abs(det (m.a, m.c, n.a, n.c))< EPS &&abs(det (m.b, m.c, n.b, n.c))< EPS;}

Lekcija iz serije " Geometrijski algoritmi»

Pozdravljeni dragi bralec.

Porada 1: Kako spoznati koordinate in točke križišča dveh premic

Napišimo tri nove funkcije.

Funkcija LinesCross() je pomembna, poigravati chi dva vіdrіzka. Za novo, roztashuvannya vídrіzkіv vyznaєetsya s pomočjo vektorskih stvaritev. Za naštevanje vektorskih stvaritev napišimo funkcijo VektorMulti ().

Funkcija RealLess() je na voljo za izvedbo operacije ujemanja "<” (строго меньше) для вещественных чисел.

Naloga 1. Dve tirnici sta podani s svojimi koordinatami. Sestavite program, kako ga podpišete, chi so obarvani chi vetrovi, ne vedoč prelomne točke.

rešitev
. Drugo delo je pegasto.



Poglejmo vídrízok ta dot ta.

Krapka leži z levo roko v ravni črti, za njen vektor tvir > 0, skalirni vektorji in pozitivno usmerjeni.

Krapka raztashovana desno v ravni liniji, za njen vektor twir < 0, так как векторы отрицательно ориентированы.

Da bi točke i ležale na različnih straneh v ravni črti, je dovolj, da um< 0 (векторные произведения имели противоположные знаки).

Analogno zrcaljenje se lahko izvede za vídrízka, ki točko.

Otzhe, yakscho takrat se vetrovi spremenijo.

Za navzkrižno preverjanje uporabite funkcijo LinesCross(), za izračun vektorskih kreacij pa funkcijo VektorMulti().

ax, ay - koordinate prvega vektorja,

bx, by - koordinate drugega vektorja.

Programska geometrija4; (Kateri 2 žici sta prepleteni?) Const _Eps: Real=1e-4; (natančnost je različna) var x1, y1, x2, y2, x3, y3, x4, y4: resnično; var v1,v2,v3,v4: real; funkcija RealLess(Const a, b: Real): Boolean; (Strogo manj) begin RealLess: = b-a> _Eps end; (RealLess)funkcija VektorMulti(ax,ay,bx,by:real): real; (ax, ay - koordinate a bx, by - koordinate b) začetek vektormulti: = ax * by-bx * ay; konec; Funkcija LinesCross (x1,y1,x2,y2,x3,y3,x4,y4:real): logično; (Kateri klini se prepletajo?) begin v1:=vektormulti(x4-x3,y4-y3,x1-x3,y1-y3); v2:=vektormulti(x4-x3,y4-y3,x2-x3,y2-y3); v3:=vektormulti(x2-x1,y2-y1,x3-x1,y3-y1); v4:=vektormulti(x2-x1,y2-y1,x4-x1,y4-y1); if RealLess(v1*v2,0) in RealLess(v3*v4,0) (v1v2<0 и v3v4<0, отрезки пересекаются} then LinesCross:= true else LinesCross:= false end; {LinesCross}begin {main} writeln(‘Введите координаты отрезков: x1,y1,x2,y2,x3,y3,x4,y4’); readln(x1,y1,x2,y2,x3,y3,x4,y4); if LinesCross(x1,y1,x2,y2,x3,y3,x4,y4) then writeln (‘Да’) else writeln (‘Нет’) end.

Rezultati programa programiranja:

Vnesite koordinate vídrіzkіv: -1 1 2 2,52 2 1 -1 3
torej.

Napisali smo program, kako oblikovati, obarvati žice, določene z njihovimi koordinatami.

Na stopnji približevanja sestavljamo algoritem, s pomočjo katerega bo mogoče ugotoviti, katera točka je na sredini tricutnika.

Naključni bralec.

Iz serije "Geometrijski algoritmi" ste se že naučili veliko lekcij. Chi je vse napisano? Bom bolj vdyachna, tako da me lahko prikrajšate za nasvete o teh lekcijah. Verjetno je potrebno narediti več.

S spoštovanjem, Vira Gospodar.

Naj vam dam dva posnetka. Prve zaposlitve pikčaste P 1 (x 1; y 1)і P 2 (x 2; y 2). Druga delovna mesta so pegasta P 3 (x 3; y 3)і P 4 (x 4; y 4).

Medsebojno roztashuvannya vídrіzkіv je mogoče obrniti za dodatne vektorske kreacije:

Poglejmo vídrіzok P 3 P 4 jaz pike P1і P2.

Pikasto, lisasto P1 ležati z levico v ravni liniji P 3 P 4, za njen vektorski televizor v1 > 0, Oscilki vektor in pozitivno usmerjen.
Pikasto, lisasto P2 roztashovana desno v ravni črti, za njen vektor tvir v2< 0 , Oskilki vektor in negativno usmerjen.

Da bi poudarili P1і P2 ležijo na različnih straneh v ravni liniji P 3 P 4, dovolj, tako da je bil um pretepen v 1 v 2< 0 (Vektor ustvari majhne znake).

Analogno mirkuvannya se lahko izvede za vídrízka P 1 P 2 poudarjam P3і P4.

Otzhe, yakscho v 1 v 2< 0 і v 3 v 4< 0 takrat se vetrovi spremenijo.

Vektorska proizvodnja dveh vektorjev se izračuna po formuli:

de:
sekira, ay- koordinate prvega vektorja,
bx, avtor- Koordinate drugega vektorja.

Poravnava ravne črte, ki poteka skozi dve različni točki, podani z njunima koordinatama.

Na premici naj bosta dve točki, ki ne uhajata: P1 s koordinatami ( x1; y1)і P2 s koordinatami (x 2; y 2).

Retin naravnost

Vídpovіdno vektor s storžem na točki P1 in končajo pri bistvu P2 lahko usklajuje (x 2 -x 1, y 2 -y 1). Yakscho P(x, y)- dovolj točke na ravni črti, nato koordinate vektorja P 1 P enaka (x - x 1, y - y 1).

Za pomoč pri ustvarjanju vektorjev Umov, kolinarnost vektorjev P 1 Pі P 1 P 2 lahko zapišemo takole:
|P 1 P,P 1 P 2 |=0, potem. (x-x 1)(y 2 -y 1)-(y-y 1)(x 2 -x 1)=0
oz
(y 2 -y 1)x + (x 1 -x 2)y + x 1 (y 1 -y 2) + y 1 (x 2 -x 1) = 0

Ostanite enaki, če želite prepisati takole:
ax + by + c = 0, (1)
de
a \u003d (y 2 -y 1),
b \u003d (x 1 -x 2),
c \u003d x 1 (y 1 -y 2) + y 1 (x 2 -x 1)

Spet je lahko direktna črta enaka obliki (1).

Kako vedeti presečišče ravnih črt?
Očitno je, da je rešitev odprtje sistema izravnave ravnih črt:

sekira 1 +za 1 =-c 1
sekira 2 +za 2 =-c 2
(2)

Vnesite znak:

Tukaj D je primat sistema, in D x, D y- vyznachniki, scho pridejo po zamenjavi koeficientov za najpomembnejšega nesposobnega člana brezplačnih članov. Yakscho D ≠ 0 potem je sistem (2) jasen, potem obstaja samo ena rešitev. Rešitev lahko poznate za naslednjimi formulami: x 1 = D x / D, y 1 = D y / D, Yaki se imenujejo Cramerjeve formule | Majhna zarota, kot vyznachnik drugačnega reda. Uradnik ima dve diagonali: glavo in stran. Diagonala glave je sestavljena iz elementov, vzetih iz premice levega zgornjega kota smerokaza v desni spodnji kot. Stranska diagonala - od zgornjega desnega do spodnjega levega. Označevalec drugačnega reda je dodajanje elementov v diagonali glave minus dodajanje elementov v stranski diagonali.