Grafisk visning av en punkt på en komplex ritning.

Betrakta följande figur.

Den visar grafen för funktionen y = x^3 - 3*x^2. Betrakta något intervall som innehåller punkten x = 0, till exempel från -1 till 1. Ett sådant intervall kallas även grannskapet till punkten x = 0. Som du kan se på grafen, i detta grannskap funktionen y = x^ 3 - 3*x^2 tar högsta värde exakt vid punkten x = 0.

Maximum och minimum av en funktion

I det här fallet kallas punkten x = 0 för funktionens maximala punkt. I analogi med detta kallas punkten x = 2 för minimipunkten för funktionen y = x^3 - 3*x^2. Eftersom det finns ett sådant område i den här punkten där värdet vid denna punkt kommer att vara minimalt bland alla andra värden från det här området.

punkt maximal funktionen f(x) kallas en punkt x0, förutsatt att det finns en grannskap till punkten x0 så att för alla x som inte är lika med x0 från denna grannskap, olikheten f(x)< f(x0).

punkt minimum funktionen f(x) kallas en punkt x0, förutsatt att det finns en grannskap av punkten x0 så att för alla x som inte är lika med x0 från denna grannskap, är olikheten f(x) > f(x0) uppfylld.

Vid maximi- och minimumpunkterna för funktionerna är värdet av funktionens derivata lika med noll. Men detta är inte ett tillräckligt villkor för att det ska finnas en funktion vid en maximi- eller minimumpunkt.

Till exempel har funktionen y = x^3 i punkten x = 0 en derivata lika med noll. Men punkten x = 0 är inte min- eller maxpunkten för funktionen. Som du vet ökar funktionen y = x^3 på hela den reella axeln.

Minsta och maximala poäng kommer alltså alltid att finnas bland roten av ekvationen f’(x) = 0. Men inte alla rötter i denna ekvation kommer att vara maximala eller minimala poäng.

Stationära och kritiska punkter

Punkterna där värdet på derivatan av en funktion är lika med noll kallas stationära punkter. Det kan också finnas punkter av maximum eller minimum vid punkter där derivatan av funktionen inte existerar alls. Till exempel, y = |x| vid punkten x = 0 har ett minimum, men derivatan existerar inte vid denna punkt. Denna punkt kommer att vara den kritiska punkten för funktionen.

De kritiska punkterna för en funktion är de punkter där derivatan är lika med noll, eller där derivatan inte existerar vid denna punkt, det vill säga funktionen vid denna punkt är icke-differentieringsbar. För att hitta maximum eller minimum för en funktion måste ett tillräckligt villkor vara uppfyllt.

Låt f(x) vara någon funktion differentierbar på intervallet (a;b). Punkten x0 tillhör detta intervall och f'(x0) = 0. Då:

1. om, när den passerar genom den stationära punkten x0, funktionen f (x) och dess derivata ändrar tecken, från "plus" till "minus", så är punkten x0 funktionens maximala punkt.

2. om, när den passerar genom den stationära punkten x0, funktionen f (x) och dess derivata ändrar tecken, från "minus" till "plus", så är punkten x0 funktionens minimipunkt.

Hej alla Habr-folk. Jag vill presentera för kära läsare ett exempel när det är torrt och långt ifrån livet i vår förståelse högre matematik gav ett bra praktiskt resultat.

Först några minnen
Det var när jag var student vid ett av de tekniska universiteten på 90-talet, förmodligen andra året. Jag kom på något sätt till Olympiaden i programmering. Och vid just denna olympiad fanns det en uppgift: att ställa in koordinaterna för en triangel, en testpunkt på planet, och att bestämma om denna punkt tillhör triangelns område. I allmänhet ett ringa problem, men sedan löste jag det inte. Men så funderade jag på en mer generell uppgift – att tillhöra en soptipp. Jag upprepar - det var mitten av 90-talet, det fanns inget internet, det fanns inga böcker om datorgeometri, men det fanns föreläsningar om tornet och ett laboratorium 286 med turbopascal. Och så sammanföll stjärnorna, att just vid den tidpunkt då jag tänkte på problemet, läste de teorin om en komplex variabel för oss på tornet. Och en formel (om det nedan) föll på bördig mark. Algoritmen uppfanns och implementerades i Pascal (tyvärr dog min en och en halv gigabyte skruv och förde bort den här koden och en massa av mina andra ungdomliga utvecklingar i glömska). Efter institutet fick jag jobba på ett forskningsinstitut. Där fick jag syssla med utvecklingen av GIS för institutets anställdas behov och en av mina egna uppgifter var att avgöra om föremål ramlade in i konturen. Algoritmen skrevs om i C++ och visade sig fungera utmärkt.

Uppgift för algoritmen

Given:
Г - en sluten polylinje (hädanefter en polygon) på ett plan, given av koordinaterna för dess hörn (xi, yi), och koordinaten för testpunkten (x0, y0)
Definiera:
om punkten tillhör området D som begränsas av polygonen.

Härledningen av formler för den efterföljande skrivningen av algoritmen gör inte anspråk på att vara matematiskt fullständig och korrekt, utan demonstrerar bara en ingenjörskonst (konsumentinställning) till drottningen av vetenskapsområdena.

Förklaring från en arbetar-bonde ingenjörssynpunkt:
- gränsen G är vår givna kontur,
- z0 - testad punkt
- F Z) - komplex funktion går inte till oändligheten någonstans i konturen från det komplexa argumentet.

Det vill säga, för att fastställa om en punkt tillhör en kontur, måste vi beräkna integralen och jämföra den med värdet av funktionen vid en given punkt. Om de matchar, så ligger punkten i konturen. Notera: Cauchys integralsats säger att om punkten inte ligger i konturen så går integranden till oändlighet någonstans, då går integralen noll-. Detta förenklar saken - du behöver bara beräkna integralen och kontrollera att den är lika med noll: punkten är inte konturen lika med noll, den är annorlunda - den ligger i konturen.
Låt oss göra beräkningen av integralen. För f(z) tar vi en enkel funktion 1. Utan förlust av generalitet kan vi ta punkten 0 som z0 (du kan alltid flytta koordinaterna).

Vi gör oss av med den imaginära enheten i integrandens nämnare och delar integralen i verkliga och imaginära delar:

Vi har erhållit två kurvlinjära integraler av det andra slaget.
Beräkna den första

Villkoret att integralen inte beror på vägen är uppfyllt, därför är den första integralen lika med noll och det är inte nödvändigt att beräkna den.

Med den imaginära delen fungerar inte detta trick. Kom ihåg att vår gräns består av linjesegment, vi får:

Där Гi är segmentet (xi,yi)- (xi+1,y i+1)
Låt oss beräkna den i-te integralen. För att göra detta skriver vi ekvationen för det i:te segmentet i den parametriska formen

Ersättare i integralen

Och efter besvärliga och tråkiga förvandlingar får vi följande charmiga formel:

Äntligen får vi

Algoritm i C++:

mall <klass T>
bool pt_in_polygon( konst T &test,const std::vektor &polygon)
{
if (polygon.size()<3) return false;

Std::vector::const_iterator end=polygon.end();

T last_pt=polygon.back();

Last_pt.x-=test.x;
last_pt.y-=test.y;

dubbel summa=0,0;

för(
std::vector::const_iterator iter=polygon.begin();
iter!=slut;
++iter
{
T cur_pt=*iter;
cur_pt.x-=test.x;
cur_pt.y-=test.y;

dubbel del= last_pt.x*cur_pt.y-cur_pt.x*last_pt.y;
dubbel xy= cur_pt.x*last_pt.x+cur_pt.y*last_pt.y;

Summa+=
atan((sista_pt.x*sista_pt.x+sista_pt.y*sista_pt.y - xy)/del)+
atan((cur_pt.x*cur_pt.x+cur_pt.y*cur_pt.y-xy)/del)
);

last_pt=cur_pt;

lämna tillbaka fabs(summa)>eps;

T - punkttyp, till exempel:
struktur Punkt D
{
dubbel x,y;
};

Kontrollera:
vänsterklick - lägg till en ny konturpunkt
höger knapp - stäng konturen
vänster med Shift nedtryckt - flytta testpunkten

Mina herrar, som är intresserade, jag ger en snabbare algoritm. Inte min längre.
Speciellt tack för artikeln.
mall bool pt_in_polygon2(const T &test,const std::vektor &polygon)
{

Statisk konst int q_patt= ((0,1), (3,2));

If(polygon.size()<3) return false;

Std::vector::const_iterator end=polygon.end();
T pred_pt=polygon.back();
predict_pt.x-=test.x;
pred_pt.y-=test.y;

int pred_q=q_patt;

For(std::vector::const_iterator iter=polygon.begin();iter!=end;++iter)
{
T cur_pt = *iter;

Cur_pt.x-=test.x;
cur_pt.y-=test.y;

int q=q_patt;

Switch (q-pred_q)
{
fall -3:++w;brott;
fall 3:--w;bryta;
fall -2:if(pred_pt.x*cur_pt.y>=pred_pt.y*cur_pt.x) ++w;break;
fall 2:if(!(pred_pt.x*cur_pt.y>=pred_pt.y*cur_pt.x)) --w;break;
}

Pred_pt = cur_pt;
förutsäga_q = q;

I tvådimensionellt rum skär två linjer endast i en punkt, givet av koordinaterna (x, y). Eftersom båda linjerna passerar genom skärningspunkten måste koordinaterna (x, y) uppfylla båda ekvationerna som beskriver dessa linjer. Med vissa avancerade färdigheter kan du hitta skärningspunkterna för paraboler och andra kvadratiska kurvor.

Steg

Skärningspunkt mellan två linjer

    Skriv ner ekvationen för varje rad, isolera variabeln "y" på vänster sida av ekvationen. Andra termer i ekvationen bör placeras på höger sida ekvationer. Kanske kommer ekvationen som ges till dig istället för "y" att innehålla variabeln f (x) eller g (x); i detta fall isolera en sådan variabel. För att isolera en variabel, gör lämpligt matematiska operationer på båda sidor av ekvationen.

    • Om linjernas ekvationer inte ges till dig, på grundval av information som du känner till.
    • Exempel. Givet raka linjer som beskrivs av ekvationerna och y − 12 = − 2 x (\displaystyle y-12=-2x). För att isolera "y" i den andra ekvationen, lägg till talet 12 på båda sidor av ekvationen:
  1. Du letar efter skärningspunkten för båda linjerna, det vill säga den punkt vars (x, y) koordinater uppfyller båda ekvationerna. Eftersom variabeln "y" finns på vänster sida av varje ekvation, kan uttrycken på höger sida av varje ekvation likställas. Skriv ner en ny ekvation.

    • Exempel. Som y = x + 3 (\displaystyle y=x+3) och y = 12 − 2x (\displaystyle y=12-2x), då kan vi skriva följande likhet: .
  2. Hitta värdet på variabeln "x". Den nya ekvationen innehåller bara en variabel "x". För att hitta "x", isolera denna variabel på vänster sida av ekvationen genom att göra lämplig matematik på båda sidor av ekvationen. Du bör sluta med en ekvation som x = __ (om du inte kan göra det, se det här avsnittet).

    • Exempel. x + 3 = 12 − 2 x (\displaystyle x+3=12-2x)
    • Lägg till 2x (\displaystyle 2x) på varje sida av ekvationen:
    • 3x + 3 = 12 (\displaystyle 3x+3=12)
    • Subtrahera 3 från varje sida av ekvationen:
    • 3x=9 (\displaystyle 3x=9)
    • Dividera varje sida av ekvationen med 3:
    • x = 3 (\displaystyle x=3).
  3. Använd det hittade värdet för variabeln "x" för att beräkna värdet på variabeln "y". För att göra detta, ersätt det hittade värdet "x" i ekvationen (valfri) rät linje.

    • Exempel. x = 3 (\displaystyle x=3) och y = x + 3 (\displaystyle y=x+3)
    • y = 3 + 3 (\displaystyle y=3+3)
    • y=6 (\displaystyle y=6)
  4. Kontrollera svaret. För att göra detta, ersätt värdet av "x" i en annan ekvation av en rät linje och hitta värdet för "y". Om du får annan betydelse"y", kontrollera att dina beräkningar är korrekta.

    • Exempel: x = 3 (\displaystyle x=3) och y = 12 − 2x (\displaystyle y=12-2x)
    • y = 12 − 2 (3) (\displaystyle y=12-2(3))
    • y = 12 − 6 (\displaystyle y=12-6)
    • y=6 (\displaystyle y=6)
    • Du fick samma "y"-värde, så det finns inga fel i dina beräkningar.
  5. Skriv ner koordinaterna (x, y). Genom att beräkna värdena för "x" och "y" har du hittat koordinaterna för skärningspunkten för två linjer. Skriv ner koordinaterna för skärningspunkten i formen (x, y).

    • Exempel. x = 3 (\displaystyle x=3) och y=6 (\displaystyle y=6)
    • Således skär två linjer i en punkt med koordinater (3,6).
  6. Beräkningar i speciella fall. I vissa fall kan värdet på variabeln "x" inte hittas. Men det betyder inte att du gjorde ett misstag. Ett specialfall inträffar när något av följande villkor är uppfyllt:

    • Om två linjer är parallella, skär de inte varandra. I det här fallet kommer variabeln "x" helt enkelt att reduceras, och din ekvation kommer att förvandlas till en meningslös likhet (till exempel, 0 = 1 (\displaystyle 0=1)). Skriv i så fall ner i ditt svar att linjerna inte skär varandra eller att det inte finns någon lösning.
    • Om båda ekvationerna beskriver en rät linje, kommer det att finnas ett oändligt antal skärningspunkter. I det här fallet kommer variabeln "x" helt enkelt att reduceras, och din ekvation kommer att förvandlas till en strikt likhet (till exempel, 3 = 3 (\displaystyle 3=3)). Skriv i så fall ner i ditt svar att de två raderna sammanfaller.

    Problem med kvadratiska funktioner

    1. Definition av en kvadratisk funktion. I en kvadratisk funktion har en eller flera variabler en andra grad (men inte högre), till exempel, x 2 (\displaystyle x^(2)) eller y 2 (\displaystyle y^(2)). Grafer för kvadratiska funktioner är kurvor som inte får skära eller skära varandra i en eller två punkter. I det här avsnittet kommer vi att berätta hur du hittar skärningspunkten eller skärningspunkterna för kvadratiska kurvor.

    2. Skriv om varje ekvation genom att isolera variabeln "y" på vänster sida av ekvationen. Andra termer i ekvationen bör placeras på höger sida av ekvationen.

      • Exempel. Hitta skärningspunkterna för graferna x 2 + 2 x − y = − 1 (\displaystyle x^(2)+2x-y=-1) och
      • Isolera variabeln "y" på vänster sida av ekvationen:
      • och y = x + 7 (\displaystyle y=x+7) .
      • I det här exemplet får du en kvadratisk funktion och en linjär funktion. Kom ihåg att om du får två kvadratiska funktioner, liknar beräkningarna stegen nedan.
    3. Jämför uttrycken på höger sida av varje ekvation. Eftersom variabeln "y" finns på vänster sida av varje ekvation, kan uttrycken på höger sida av varje ekvation likställas.

      • Exempel. y = x 2 + 2 x + 1 (\displaystyle y=x^(2)+2x+1) och y = x + 7 (\displaystyle y=x+7)
    4. Överför alla termer i den resulterande ekvationen till dess vänstra sida och skriv 0 på höger sida. För att göra detta, utför grundläggande matematiska operationer. Detta gör att du kan lösa den resulterande ekvationen.

      • Exempel. x 2 + 2 x + 1 = x + 7 (\displaystyle x^(2)+2x+1=x+7)
      • Subtrahera "x" från båda sidor av ekvationen:
      • x 2 + x + 1 = 7 (\displaystyle x^(2)+x+1=7)
      • Subtrahera 7 från båda sidor av ekvationen:
    5. Besluta andragradsekvation. Genom att överföra alla termer i ekvationen till dess vänstra sida får du en andragradsekvation. Det kan lösas på tre sätt: med hjälp av en speciell formel, och.

      • Exempel. x 2 + x − 6 = 0 (\displaystyle x^(2)+x-6=0)
      • När man faktoriserar ekvationen får man två binomialer, som multiplicerade ger den ursprungliga ekvationen. I vårt exempel, den första medlemmen x 2 (\displaystyle x^(2)) kan delas upp i x*x. Ange följande: (x)(x) = 0
      • I vårt exempel kan skärningen -6 faktoriseras enligt följande: − 6 ∗ 1 (\displaystyle -6*1), − 3 ∗ 2 (\displaystyle -3*2), − 2 ∗ 3 (\displaystyle -2*3), − 1 ∗ 6 (\displaystyle -1*6).
      • I vårt exempel är den andra termen x (eller 1x). Lägg till varje par av skärningsfaktorer (-6 i vårt exempel) tills du får 1. I vårt exempel är det korrekta paret av skärningsfaktorer -2 och 3 ( − 2 ∗ 3 = − 6 (\displaystyle -2*3=-6)), som − 2 + 3 = 1 (\displaystyle -2+3=1).
      • Fyll i luckorna med det hittade nummerparet: .
    6. Glöm inte den andra skärningspunkten mellan de två graferna. Om du löser problemet snabbt och inte särskilt noggrant kan du glömma den andra skärningspunkten. Så här hittar du "x"-koordinaterna för två skärningspunkter:

      • Exempel (factoring). Om i ekvationen (x − 2) (x + 3) = 0 (\displaystyle (x-2)(x+3)=0) ett av uttrycken inom parentes blir lika med 0, då blir hela ekvationen lika med 0. Därför kan vi skriva det så här: x − 2 = 0 (\displaystyle x-2=0)x = 2 (\displaystyle x=2) och x + 3 = 0 (\displaystyle x+3=0)x = − 3 (\displaystyle x=-3) (det vill säga du hittade två rötter till ekvationen).
      • Exempel (använd formel eller komplett kvadrat). Om du använder någon av dessa metoder kommer lösningen att visas Roten ur. Till exempel kommer ekvationen från vårt exempel att ha formen x = (− 1 + 25) / 2 (\displaystyle x=(-1+(\sqrt (25)))/2). Kom ihåg att när du tar kvadratroten får du två lösningar. I vårat fall: 25 = 5 ∗ 5 (\displaystyle (\sqrt(25))=5*5), och 25 = (− 5) ∗ (− 5) (\displaystyle (\sqrt (25))=(-5)*(-5)). Så skriv ner två ekvationer och hitta två x-värden.
    7. Grafer skär varandra vid en punkt eller skär inte alls. Sådana situationer uppstår när följande villkor är uppfyllda:

      • Om graferna skär varandra vid en punkt bryts andragradsekvationen upp i lika faktorer, till exempel (x-1) (x-1) = 0, och kvadratroten ur 0 visas i formeln ( 0 (\displaystyle (\sqrt(0)))). I detta fall har ekvationen bara en lösning.
      • Om graferna inte skär varandra alls, faktoriseras inte ekvationen, och kvadratroten av ett negativt tal visas i formeln (till exempel, − 2 (\displaystyle (\sqrt(-2)))). Skriv i så fall i svaret att det inte finns någon lösning.
Detta är den andra delen av min artikel som ägnas åt beräkningsgeometri. Jag tror att den här artikeln kommer att vara mer intressant än den föregående, eftersom pusslen kommer att vara lite svårare.

Låt oss börja med relativ position punkter i förhållande till en linje, en stråle och ett segment.

Uppgift 1
Bestäm den relativa positionen för punkten och linjen: ligger ovanför linjen, på linjen, under linjen.

Beslut
Det är klart att om den räta linjen ges av dess ekvation ax + by + c = 0, så finns det inget att lösa här. Det räcker med att ersätta punktens koordinater i ekvationen för en rät linje och kontrollera vad den är lika med. Om den är större än noll, är punkten i det övre halvplanet, om den är lika med noll, är punkten på linjen, och om den är mindre än noll, är punkten i det nedre halvplanet. Mer intressant är fallet när linjen ges, givet av koordinaterna för två punkter, låt oss kalla dem P 1 (x 1, y 1), P 2 (x 2, y 2). I det här fallet kan man säkert hitta koefficienterna a, b och c och tillämpa det tidigare resonemanget. Men vi måste först tänka, behöver vi det? Självklart inte! Som sagt, den sneda produkten är bara en pärla av beräkningsgeometri. Låt oss tillämpa det. Det är känt att snedvridningen av två vektorer är positiv om rotationen från den första vektorn till den andra är moturs, lika med noll om vektorerna är kolinjära och negativ om rotationen är medurs. Därför räcker det för oss att beräkna skevningsprodukten av vektorerna P 1 P 2 och P 1 M och dra en slutsats utifrån dess tecken.

Uppgift #2
Bestäm om en punkt tillhör en stråle.

Beslut
Låt oss komma ihåg vad en stråle är: en stråle är en rät linje som begränsas av en punkt på ena sidan och oändlig på den andra. Det vill säga att strålen ges av någon startpunkt och vilken punkt som helst som ligger på den. Låt punkten P 1 (x 1 , y 1) vara början på strålen och P 2 (x 2 , y 2) vara vilken punkt som helst som hör till strålen. Det är tydligt att om en punkt tillhör en stråle, så tillhör den också linjen som går genom dessa punkter, men inte tvärtom. Att tillhöra en linje är därför ett nödvändigt men inte tillräckligt villkor för att tillhöra en stråle. Därför kan vi inte undvika att kontrollera den sneda produkten. För ett tillräckligt tillstånd är det också nödvändigt att beräkna skalärprodukten av samma vektorer. Om den är mindre än noll så hör inte punkten till strålen, om den inte är negativ så ligger punkten på strålen. Varför är det så? Låt oss titta på ritningen.

Så för att punkten M(x, y) ska ligga på strålen med initialpunkten P 1 (x 1 , y 1), där P 2 (x 2 , y 2) ligger på strålen, är det nödvändigt och tillräckligt för att uppfylla två villkor:

2. (P 1 P 2 , P 1 M) ≥ 0 är den skalära produkten (punkten ligger på strålen)

Uppgift #3
Bestäm om en punkt tillhör ett segment.

Beslut
Låt punkterna P 1 (x 1, y 1), P 2 (x 2, y 2) vara ändarna på det givna segmentet. På nytt nödvändigt tillstånd att en punkt tillhör ett segment är dess tillhörighet till en rät linje som går genom P 1 , P 2 . Därefter måste vi bestämma om punkten ligger mellan punkterna P 1 och P 2, för detta får vi hjälp av skalärprodukten av vektorer endast denna gång andra: (MP 1 , MP 2). Om det är mindre än eller lika med noll, så ligger punkten på segmentet, annars är det utanför segmentet. Varför är det så? Låt oss titta på bilden.

Så för att punkten M(x, y) ska ligga på ett segment med ändarna P 1 (x 1 , y 1), P 2 (x 2 , y 2) är det nödvändigt och tillräckligt för att uppfylla villkoren:
1. \u003d 0 - snedställd produkt (punkten ligger på linjen)
2. (MP 1 ,MP 2) ≤ 0 – punktprodukt (punkten ligger mellan P 1 och P 2)

Uppgift #4
Den relativa positionen för två punkter i förhållande till en rät linje.

Beslut
I detta problem är det nödvändigt att bestämma två punkter på en eller på motsatta sidor av en rak linje.

Om punkterna är på motsatta sidor av en rak linje, så har de sneda produkterna olika tecken, så deras produkt är negativ. Om punkterna ligger på samma sida med avseende på den raka linjen, så sammanfaller tecknen på de sneda produkterna, vilket betyder att deras produkt är positiv.
Så:
1. * < 0 – точки лежат по разные стороны.
2. * > 0 – punkterna ligger på samma sida.
3. * = 0 - en (eller två) av punkterna ligger på en rak linje.

Förresten, problemet med att bestämma närvaron av en skärningspunkt för en linje och ett segment löses på exakt samma sätt. Mer exakt är detta samma problem: ett segment och en rät linje skär varandra när segmentets ändar är på olika sidor i förhållande till den räta linjen eller när segmentets ändar ligger på den räta linjen, det vill säga det är nödvändigt att kräva * ≤ 0.

Uppgift #5
Bestäm om två linjer skär varandra.

Beslut
Vi kommer att anta att linjerna inte sammanfaller. Det är tydligt att linjer inte skär varandra bara om de är parallella. Därför, efter att ha hittat tillståndet för parallellism, kan vi avgöra om linjerna skär varandra.
Antag att linjerna ges av deras ekvationer a 1 x + b 1 y + c 1 = 0 och a 2 x + b 2 y + c 2 = 0. Då är villkoret för parallella linjer att a 1 b 2 - a 2 b 1 = 0.
Om linjerna ges av punkterna P 1 (x 1, y 1), P 2 (x 2, y 2), M 1 (x 3, y 3), M 2 (x 4, y 4), då villkoret för deras parallellitet är att kontrollera snedvridningen av vektorerna P 1 P 2 och M 1 M 2: om den är lika med noll, så är linjerna parallella.

I allmänhet, när linjerna ges av deras ekvationer, kontrollerar vi också skevningsprodukten av vektorerna (-b 1 , a 1), (-b 2 , a 2) som kallas riktningsvektorer.

Uppgift #6
Bestäm om två linjesegment skär varandra.

Beslut
Det här är uppgiften jag verkligen gillar. Segment skär varandra när ändarna av varje segment ligger på motsatta sidor av det andra segmentet. Låt oss titta på bilden:

Så vi måste kontrollera att ändarna av vart och ett av segmenten ligger på motsatta sidor av de relativa ändarna av det andra segmentet. Vi använder skevningsprodukten av vektorer. Titta på den första bilden: > 0,< 0 => * < 0. Аналогично
* < 0. Вы наверно думаете, почему не меньше либо равно. А потому, что возможен следующий случай, при котором векторное произведение как раз и равно нулю, но отрезки не пересекаются:

Därför måste vi göra ytterligare en kontroll, nämligen: om minst en ände av varje segment tillhör en annan (tillhör en punkt i ett segment). Vi har redan löst detta problem.

Så för att segmenten ska ha gemensamma punkter är det nödvändigt och tillräckligt:
1. Segmentens ändar ligger på olika sidor i förhållande till ett annat segment.
2. Minst en av ändarna på ett segment tillhör ett annat segment.

Uppgift #7
Avståndet från en punkt till en linje.

Beslut
Låt linjen ges av två punkter P 1 (x 1, y 1) och P 2 (x 2, y 2).

I den tidigare artikeln pratade vi om det faktum att den geometriskt sneda produkten är parallellogrammets orienterade yta, så S P 1 P 2 M = 0,5*. Å andra sidan känner varje elev formeln för att hitta arean av en triangel: halva basen gånger höjden.
S P 1 P 2 M \u003d 0,5 * h * P 1 P 2.
Att likställa dessa områden finner vi

Modulo togs eftersom det första området är orienterat.

Om linjen ges av ekvationen ax + av + c = 0, så är ekvationen för linjen som går genom punkten M vinkelrät mot den givna linjen: a (y - y 0) - b (x - x 0) = 0. Nu kan du enkelt lösa systemet från de erhållna ekvationerna, hitta deras skärningspunkt och beräkna avståndet från startpunkten till den hittade: det blir exakt ρ = (ax 0 + med 0 + c) / √ (a) 2 + b 2).

Uppgift #8
Avståndet från punkten till strålen.

Beslut
Detta problem skiljer sig från det föregående genom att det i det här fallet kan hända, så att vinkelrät från punkten inte faller på strålen, utan faller på dess fortsättning.

I fallet när vinkelrät inte faller på strålen är det nödvändigt att hitta avståndet från punkten till strålens början - detta kommer att vara svaret på problemet.

Hur avgör man om vinkelrät faller på strålen eller inte? Om vinkelrät inte faller på strålen är vinkeln MP 1 P 2 trubbig, annars är den spetsig (rak). Därför kan vi, med tecknet på skalärprodukten av vektorer, bestämma om vinkelrät faller på strålen eller inte:
1. (P 1 M, P 1 P 2)< 0 перпендикуляр не попадает на луч
2. (P 1 M, P 1 P 2) ≥ 0 vinkelrät träffar strålen

Uppgift #9
Avståndet från en punkt till en linje.

Beslut
Vi argumenterar på samma sätt som det tidigare problemet. Om vinkelrät inte faller på segmentet, är svaret minimum av avstånden från den givna punkten till segmentets ändar.

För att avgöra om vinkelrät faller på segmentet är det nödvändigt, analogt med föregående uppgift, att använda skalärprodukten av vektorer. Om vinkelrät inte faller på segmentet kommer antingen vinkeln MP 1 P 2 eller vinkeln MP 2 P 1 att vara trubbig. Därför enligt skylten skalära produkter vi kan avgöra om vinkelrät faller på segmentet eller inte:
Om (P 1 M, P 1 P 2)< 0 или (P 2 M, P 2 P 1) < 0 то перпендикуляр не падает на отрезок.

Uppgift #10
Bestäm antalet punkter på en linje och en cirkel.

Beslut
En linje och en cirkel kan ha noll, en eller två skärningspunkter. Låt oss titta på bilderna:

Här, från ritningarna, är allt klart. Vi har två skärningspunkter om avståndet från cirkelns mittpunkt till linjen är mindre än cirkelns radie. En kontaktpunkt om avståndet från centrum till linjen är lika med radien. Och slutligen ingen skärningspunkt om avståndet från cirkelns centrum till den räta linjen är större än cirkelns radie. Eftersom problemet med att hitta avståndet från en punkt till en linje redan har lösts av oss har även detta problem lösts.

Uppgift #11
Inbördes arrangemang av två cirklar.

Beslut
Möjliga fall av arrangemang av cirklar: skära, röra, skära inte.

Tänk på fallet när cirklarna skär varandra och hitta området för deras skärningspunkt. Jag älskar det här problemet väldigt mycket, eftersom jag tillbringade en hel del tid på att lösa det (det var länge sedan - under det första året).




Låt oss nu komma ihåg vad en sektor och ett segment är.

Cirklars skärningspunkt består av två segment O 1 AB och O 2 AB.

Det verkar som att det är nödvändigt att lägga ihop områdena för dessa segment och det är allt. Allt är dock inte så enkelt. Det är också nödvändigt att avgöra om dessa formler alltid är sanna. Det visar sig inte!

Betrakta fallet när mitten av den andra cirkeln O 2 sammanfaller med punkten C. I detta fall är d 2 = 0, och vi tar α = π för värdet av α. I det här fallet har vi en halvcirkel med arean 1/2 πR 2 2 .

Betrakta nu fallet när mitten av den andra cirkeln O 2 är mellan punkterna O 1 och C. I detta fall får vi ett negativt värde på d 2 . Att använda ett negativt värde på d 2 resulterar i negativt värde a. I det här fallet är det nödvändigt att lägga till 2π till α för rätt svar.

Slutsats
Det är allt. Vi har inte tagit hänsyn till alla, men de vanligaste problemen med beräkningsgeometri som rör objektens relativa position.

Jag hoppas att du gillade det.

För att lösa problemet delar vi upp det i följande steg:

  1. Betraktelse av problemet från sidan av det flerdimensionella rummet.
  2. Betraktelse av problemet från sidan av det tvådimensionella rummet.
  3. Beräkning av antalet skärningspunkter.

Betraktelse av problemet från sidan av det flerdimensionella rummet

Anta att linjerna är i tredimensionellt utrymme, då kanske de inte är parallella med varandra i ett av planen och är separerade från varandra i det andra planet. Detta betyder att sådana linjer kommer att vara parvis icke-parallella och inte ha skärningspunkter.

Betraktelse av problemet från sidan av det tvådimensionella rummet

I ett tvådimensionellt utrymme (plan) är två linjer inte parallella, vilket betyder att de nödvändigtvis har en och endast en skärningspunkt. På grund av villkor passerar linjerna inte genom en (gemensam) skärningspunkt, därför, eftersom linjerna inte är parvis parallella, skär var och en av dem nödvändigtvis de återstående.

Beräkning av antalet skärningspunkter

När du lägger till en ny icke-parallell linje till planet kommer skärningspunkter med de linjer som redan har plottats på planet att läggas till. Därför ger två linjer 1 skärningspunkt. Genom att lägga till en tredje linje får vi ytterligare 2 skärningspunkter med de två redan ritade linjerna; lägger vi till den fjärde raka linjen får vi ytterligare 3 skärningspunkter; femte - ytterligare 4 skärningspunkter. Så totalt får vi:

1 + 2 + 3 + 4 = 10 skärningspunkter

Svar: 1) flerdimensionellt utrymme - 0 skärningspunkter; 2) tvådimensionellt utrymme - 10 skärningspunkter.

Två linjer har en skärningspunkt. Genom att lägga till ytterligare en linje till dem får vi ytterligare två skärningspunkter med var och en av dessa två linjer. Genom att lägga till ytterligare en linje kommer det dessutom att ge lika många skärningspunkter som det redan fanns linjer, d.v.s. 3 till. Och så vidare. Varje n:te linje ger ytterligare (n-1) skärningspunkter med (n-1) linjer.

1 + 2 + 3 + 4 = 10

Allt ovanstående är sant om ingen av tre linjer har en gemensam skärningspunkt.

Om linjerna ändå kan skära varandra vid en punkt, men inte alla på en gång, så har vi genom att placera 4 linjer med en stjärna 1 av deras skärningspunkter, och genom att lägga till den 5:e linjen får vi ytterligare 4 punkter. I det här fallet kommer 5 linjer att ha 5 gemensamma skärningspunkter.

Svar: 10 skärningspunkter kommer att bildas av 5 icke-parallella linjer när fler än 2 linjer inte skär varandra i en punkt. Eller 5 skärningspunkter om fler än två linjer kan skära varandra i en punkt.

Läser in...Läser in...