Visualizzazione grafica di un punto su un disegno complesso.

Considera la figura seguente.

Mostra il grafico della funzione y = x^3 - 3*x^2. Si consideri un intervallo contenente il punto x = 0, ad esempio da -1 a 1. Tale intervallo è anche chiamato intorno del punto x = 0. Come si può vedere nel grafico, in questo intorno la funzione y = x^ 3 - 3*x^2 riprese valore più alto esattamente nel punto x = 0.

Massimo e minimo di una funzione

In questo caso, il punto x = 0 è chiamato il punto massimo della funzione. Per analogia con ciò, il punto x = 2 è chiamato il punto minimo della funzione y = x^3 - 3*x^2. Perché esiste un tale quartiere di questo punto in cui il valore a questo punto sarà minimo tra tutti gli altri valori di questo quartiere.

punto massimo la funzione f(x) è chiamata punto x0, a patto che vi sia un intorno del punto x0 tale che per ogni x diverso da x0 da questo intorno, la disuguaglianza f(x)< f(x0).

punto minimo la funzione f(x) è chiamata punto x0, a patto che vi sia un intorno del punto x0 tale che per ogni x diverso da x0 da tale intorno, sia soddisfatta la disuguaglianza f(x) > f(x0).

Nei punti di massimo e minimo delle funzioni, il valore della derivata della funzione è uguale a zero. Ma questa non è una condizione sufficiente per l'esistenza di una funzione in un punto massimo o minimo.

Ad esempio, la funzione y = x^3 nel punto x = 0 ha una derivata uguale a zero. Ma il punto x = 0 non è il punto minimo o massimo della funzione. Come sapete, la funzione y = x^3 aumenta sull'intero asse reale.

Pertanto, i punti minimo e massimo saranno sempre tra la radice dell'equazione f'(x) = 0. Ma non tutte le radici di questa equazione saranno punti massimo o minimo.

Punti stazionari e critici

I punti in cui il valore della derivata di una funzione è uguale a zero sono detti punti stazionari. Possono esserci anche punti di massimo o minimo nei punti in cui la derivata della funzione non esiste affatto. Ad esempio, y = |x| nel punto x = 0 ha un minimo, ma la derivata non esiste a questo punto. Questo punto sarà il punto critico della funzione.

I punti critici di una funzione sono i punti in cui la derivata è uguale a zero, o la derivata non esiste a questo punto, cioè la funzione a questo punto non è differenziabile. Per trovare il massimo o il minimo di una funzione, deve essere soddisfatta una condizione sufficiente.

Sia f(x) una funzione derivabile sull'intervallo (a;b). Il punto x0 appartiene a questo intervallo e f'(x0) = 0. Allora:

1. se, passando per il punto stazionario x0, la funzione f (x) e la sua derivata cambiano segno da “più” a “meno”, allora il punto x0 è il punto massimo della funzione.

2. se, passando per il punto stazionario x0, la funzione f (x) e la sua derivata cambiano segno da “meno” a “più”, allora il punto x0 è il punto minimo della funzione.

Ciao a tutti gli Habr. Voglio presentare ai cari lettori un esempio quando nella nostra comprensione è arido e lontano dalla vita matematica superiore ha dato un buon risultato pratico.

Prima alcuni ricordi
È stato quando ero studente in una delle università tecniche negli anni '90, probabilmente al secondo anno. In qualche modo sono arrivato alle Olimpiadi in programmazione. E proprio in questa Olimpiade c'era un compito: impostare le coordinate di un triangolo, un punto di prova sul piano e determinare se questo punto appartiene all'area del triangolo. In generale, un problema insignificante, ma poi non l'ho risolto. Ma poi ho pensato a un compito più generale: appartenere a una discarica. Ripeto: era la metà degli anni '90, non c'era Internet, non c'erano libri sulla geometria del computer, ma c'erano lezioni sulla torre e un laboratorio 286 con turbo pascal. E così le stelle hanno coinciso, che proprio nel momento in cui stavo pensando al problema, ci stavano leggendo la teoria di una variabile complessa sulla torre. E una formula (su di essa sotto) è caduta su un terreno fertile. L'algoritmo è stato inventato e implementato in Pascal (sfortunatamente, la mia vite da un gigabyte e mezzo è morta e ha portato via questo codice e un sacco di altri miei sviluppi giovanili nell'oblio). Dopo l'istituto, ho avuto modo di lavorare in un istituto di ricerca. Lì ho dovuto occuparmi dello sviluppo del GIS per le esigenze dei dipendenti dell'istituto e uno dei miei compiti era determinare se gli oggetti rientravano nel contorno. L'algoritmo è stato riscritto in C++ e si è rivelato eccellente nel lavoro.

Compito per l'algoritmo

Dato:
Г - una polilinea chiusa (di seguito poligono) su un piano, data dalle coordinate dei suoi vertici (xi, yi) e dalla coordinata del punto di prova (x0, y0)
Definire:
se il punto appartiene all'area D delimitata dal poligono.

La derivazione di formule per la successiva scrittura dell'algoritmo non pretende in alcun modo di essere matematicamente completa e precisa, ma dimostra solo un'ingegneria (approccio del consumatore) alla regina delle scienze.

Spiegazione da un punto di vista ingegneristico operaio-contadino:
- il confine G è il nostro dato contorno,
- z0 - punto testato
- f(z) - funzione complessa non va all'infinito da nessuna parte nel contorno dal complesso argomento.

Cioè, per stabilire se un punto appartiene a un contorno, dobbiamo calcolare l'integrale e confrontarlo con il valore della funzione in un dato punto. Se corrispondono, il punto si trova nel contorno. Nota: il teorema integrale di Cauchy dice che se il punto non giace nel contorno, allora l'integrando non va all'infinito da nessuna parte, quindi l'integrale zero. Questo semplifica la questione: devi solo calcolare l'integrale e verificarne l'uguaglianza a zero: il punto non è il contorno uguale a zero, è diverso - si trova nel contorno.
Facciamo il calcolo dell'integrale. Per f(z) prendiamo una semplice funzione 1. Senza perdita di generalità, possiamo prendere il punto 0 come z0 (puoi sempre spostare le coordinate).

Eliminiamo l'unità immaginaria nel denominatore dell'integrando e dividiamo l'integrale in parti reale e immaginaria:

Abbiamo ottenuto due integrali curvilinei del secondo tipo.
Calcola il primo

La condizione che l'integrale non dipenda dal cammino è soddisfatta, quindi il primo integrale è uguale a zero e non è necessario calcolarlo.

Con la parte immaginaria, questo trucco non funziona. Ricordiamo che il nostro confine è costituito da segmenti di linea, otteniamo:

Dove Гi è il segmento (xi,yi)- (xi+1,y i+1)
Calcoliamo l'integrale i-esimo. Per fare ciò, scriviamo l'equazione dell'i-esimo segmento nella forma parametrica

Sostituisci nell'integrale

E dopo trasformazioni ingombranti e noiose, otteniamo la seguente affascinante formula:

Finalmente arriviamo

Algoritmo in C++:

modello <classe T>
bollo pt_in_polygon( cost T &test,const std::vector &polygon)
{
se (polygon.size()<3) return false;

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

T last_pt=poligono.indietro();

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

Doppio somma=0,0;

per(
std::vector::const_iterator iter=polygon.begin();
iter!=fine;
++iter
{
T cur_pt=*iter;
cur_pt.x-=test.x;
cur_pt.y-=test.y;

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

Somma+=
atan((ultimo_pt.x*ultimo_pt.x+ultimo_pt.y*ultimo_pt.y - xy)/canc)+
atan((cur_pt.x*cur_pt.x+cur_pt.y*cur_pt.y-xy)/del)
);

last_pt=cur_pt;

Restituzione fab(somma)>eps;

Tipo di punto T, ad esempio:
struttura Punto D
{
doppia x,y;
};

Controllo:
clic sinistro - aggiungi un nuovo punto di contorno
pulsante destro - chiudi il contorno
a sinistra con Maiusc premuto - sposta il punto di prova

Signori, che sono interessati, do un algoritmo più veloce. Non più mio.
Un ringraziamento speciale per l'articolo.
template bool pt_in_polygon2(const T &test, const std::vector &polygon)
{

Costante statica int q_patt= ( (0,1), (3,2) );

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

Std::vector::const_iterator end=polygon.end();
T pred_pt=poligono.indietro();
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;

Cambia (q-pred_q)
{
caso -3:++w;interruzione;
caso 3:--w;interruzione;
case -2:if(pred_pt.x*cur_pt.y>=pred_pt.y*cur_pt.x) ++w;break;
case 2:if(!(pred_pt.x*cur_pt.y>=pred_pt.y*cur_pt.x)) --w;break;
}

Pred_pt = cur_pt;
prevedere_q = q;

Nello spazio bidimensionale, due rette si intersecano solo in un punto, dato dalle coordinate (x, y). Poiché entrambe le rette passano per il punto della loro intersezione, le coordinate (x, y) devono soddisfare entrambe le equazioni che descrivono queste rette. Con alcune abilità avanzate, puoi trovare i punti di intersezione di parabole e altre curve quadratiche.

Passi

Punto di intersezione di due rette

    Annota l'equazione di ogni riga, isolando la variabile "y" sul lato sinistro dell'equazione. Dovrebbero essere inseriti altri termini dell'equazione lato destro equazioni. Forse l'equazione data al posto di "y" conterrà la variabile f (x) o g (x); in questo caso isolare tale variabile. Per isolare una variabile, eseguire l'operazione appropriata operazioni matematiche su entrambi i lati dell'equazione.

    • Se le equazioni delle linee non ti vengono fornite, sulla base di informazioni a te note.
    • Esempio. Date le rette descritte dalle equazioni e y - 12 = - 2 x (\ displaystyle y-12 = -2x). Per isolare la "y" nella seconda equazione, aggiungi il numero 12 a entrambi i lati dell'equazione:
  1. Stai cercando il punto di intersezione di entrambe le rette, cioè il punto le cui coordinate (x,y) soddisfano entrambe le equazioni. Poiché la variabile "y" si trova sul lato sinistro di ogni equazione, le espressioni sul lato destro di ogni equazione possono essere uguagliate. Scrivi una nuova equazione.

    • Esempio. Come y = x + 3 (\ displaystyle y = x+3) e y = 12 - 2x (\ displaystyle y = 12-2x), allora possiamo scrivere la seguente uguaglianza: .
  2. Trova il valore della variabile "x". La nuova equazione contiene solo una variabile "x". Per trovare "x", isola questa variabile sul lato sinistro dell'equazione eseguendo la matematica appropriata su entrambi i lati dell'equazione. Dovresti ritrovarti con un'equazione come x = __ (se non puoi farlo, vedi questa sezione).

    • Esempio. x + 3 = 12 - 2 x (\ displaystyle x+3 = 12-2x)
    • Aggiungere 2x (\ displaystyle 2x) a ciascun lato dell'equazione:
    • 3x + 3 = 12 (\ displaystyle 3x+3=12)
    • Sottrarre 3 da ciascun lato dell'equazione:
    • 3x=9 (\ displaystyle 3x=9)
    • Dividi ogni lato dell'equazione per 3:
    • x = 3 (\ displaystyle x=3).
  3. Utilizzare il valore trovato della variabile "x" per calcolare il valore della variabile "y". Per fare ciò, sostituisci il valore trovato "x" nell'equazione (qualsiasi) linea retta.

    • Esempio. x = 3 (\ displaystyle x=3) e y = x + 3 (\ displaystyle y = x+3)
    • y = 3 + 3 (\ displaystyle y = 3+3)
    • y = 6 (\ displaystyle y = 6)
  4. Controlla la risposta. Per fare ciò, sostituisci il valore di "x" in un'altra equazione di una retta e trova il valore di "y". Se ricevi significato diverso"y", verifica la correttezza dei tuoi calcoli.

    • Esempio: x = 3 (\ displaystyle x=3) e 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)
    • Hai lo stesso valore "y", quindi non ci sono errori nei tuoi calcoli.
  5. Annota le coordinate (x, y). Calcolando i valori di "x" e "y", hai trovato le coordinate del punto di intersezione di due rette. Annotare le coordinate del punto di intersezione nella forma (x, y).

    • Esempio. x = 3 (\ displaystyle x=3) e y = 6 (\ displaystyle y = 6)
    • Quindi, due rette si intersecano in un punto con coordinate (3,6).
  6. Calcoli in casi speciali. In alcuni casi, non è possibile trovare il valore della variabile "x". Ma questo non significa che hai commesso un errore. Un caso speciale si verifica quando è soddisfatta una delle seguenti condizioni:

    • Se due rette sono parallele, non si intersecano. In questo caso, la variabile "x" verrà semplicemente ridotta e la tua equazione si trasformerà in un'uguaglianza priva di significato (ad esempio, 0 = 1 (\ displaystyle 0=1)). In questo caso, scrivi nella tua risposta che le linee non si intersecano o non c'è soluzione.
    • Se entrambe le equazioni descrivono una retta, allora ci sarà un numero infinito di punti di intersezione. In questo caso, la variabile "x" verrà semplicemente ridotta e la tua equazione si trasformerà in una stretta uguaglianza (ad esempio, 3 = 3 (\ displaystyle 3=3)). In questo caso, scrivi nella tua risposta che le due righe coincidono.

    Problemi con le funzioni quadratiche

    1. Definizione di una funzione quadratica. In una funzione quadratica, una o più variabili hanno un secondo grado (ma non superiore), ad esempio, x 2 (\ displaystyle x ^ (2)) o y 2 (\ displaystyle y ^ (2)). I grafici delle funzioni quadratiche sono curve che non possono intersecare o intersecarsi in uno o due punti. In questa sezione, ti diremo come trovare il punto o i punti di intersezione delle curve quadratiche.

    2. Riscrivi ogni equazione isolando la variabile "y" sul lato sinistro dell'equazione. Gli altri termini dell'equazione devono essere posizionati sul lato destro dell'equazione.

      • Esempio. Trova i punti di intersezione dei grafici x 2 + 2 x - y = - 1 (\ displaystyle x^(2)+2x-y=-1) e
      • Isola la variabile "y" sul lato sinistro dell'equazione:
      • e y = x + 7 (\ displaystyle y = x+7) .
      • In questo esempio vengono fornite una funzione quadratica e una funzione lineare. Ricorda che se te ne vengono dati due funzioni quadratiche, i calcoli sono simili ai passaggi seguenti.
    3. Equipara le espressioni sul lato destro di ciascuna equazione. Poiché la variabile "y" si trova sul lato sinistro di ogni equazione, le espressioni sul lato destro di ciascuna equazione possono essere uguagliate.

      • Esempio. y = x 2 + 2 x + 1 (\ displaystyle y=x^(2)+2x+1) e y = x + 7 (\ displaystyle y = x+7)
    4. Trasferisci tutti i termini dell'equazione risultante sul lato sinistro e scrivi 0 sul lato destro. Per fare ciò, eseguire operazioni matematiche di base. Questo ti permetterà di risolvere l'equazione risultante.

      • Esempio. x 2 + 2 x + 1 = x + 7 (\displaystyle x^(2)+2x+1=x+7)
      • Sottrai "x" da entrambi i lati dell'equazione:
      • x 2 + x + 1 = 7 (\ displaystyle x^(2)+x+1=7)
      • Sottrarre 7 da entrambi i membri dell'equazione:
    5. Decidere equazione quadrata. Trasferendo tutti i termini dell'equazione sul lato sinistro, ottieni un'equazione quadratica. Può essere risolto in tre modi: utilizzando una formula speciale e.

      • Esempio. x 2 + x - 6 = 0 (\ displaystyle x^(2)+x-6=0)
      • Quando si calcola l'equazione, si ottengono due binomi che, moltiplicati, danno l'equazione originale. Nel nostro esempio, il primo membro x 2 (\ displaystyle x ^ (2)) può essere scomposto in x*x. Inserisci la seguente voce: (x)(x) = 0
      • Nel nostro esempio, l'intercetta -6 può essere scomposta come segue: - 6 ∗ 1 (\ displaystyle -6*1), - 3 ∗ 2 (\ displaystyle -3*2), - 2 ∗ 3 (\ displaystyle -2*3), - 1 ∗ 6 (\ displaystyle -1*6).
      • Nel nostro esempio, il secondo termine è x (o 1x). Aggiungi ciascuna coppia di fattori di intercettazione (-6 nel nostro esempio) fino a ottenere 1. Nel nostro esempio, la coppia corretta di fattori di intercettazione è -2 e 3 ( - 2 ∗ 3 = - 6 (\ displaystyle -2*3=-6)), come - 2 + 3 = 1 (\displaystyle -2+3=1).
      • Riempi gli spazi vuoti con la coppia di numeri trovata: .
    6. Non dimenticare il secondo punto di intersezione dei due grafici. Se risolvi il problema rapidamente e con poca attenzione, puoi dimenticare il secondo punto di intersezione. Ecco come trovare le coordinate "x" di due punti di intersezione:

      • Esempio (fattorizzazione). Se nell'equazione (x - 2) (x + 3) = 0 (\displaystyle (x-2)(x+3)=0) una delle espressioni tra parentesi sarà uguale a 0, quindi l'intera equazione sarà uguale a 0. Pertanto, possiamo scriverla in questo modo: x - 2 = 0 (\ displaystyle x-2 = 0)x = 2 (\ displaystyle x=2) e x + 3 = 0 (\displaystyle x+3=0)x = - 3 (\ displaystyle x=-3) (cioè, hai trovato due radici dell'equazione).
      • Esempio (usa la formula o il quadrato completo). Se si utilizza uno di questi metodi, verrà visualizzata la soluzione Radice quadrata. Ad esempio, l'equazione del nostro esempio assumerà la forma x = (− 1 + 25) / 2 (\ displaystyle x=(-1+(\ sqrt (25)))/2). Ricorda che quando prendi la radice quadrata, otterrai due soluzioni. Nel nostro caso: 25 = 5 ∗ 5 (\ displaystyle (\ sqrt(25))=5*5), e 25 = (− 5) ∗ (− 5) (\ displaystyle (\ sqrt (25))=(-5)*(-5)). Quindi scrivi due equazioni e trova due valori x.
    7. I grafici si intersecano in un punto o non si intersecano affatto. Tali situazioni si verificano quando sono soddisfatte le seguenti condizioni:

      • Se i grafici si intersecano in un punto, l'equazione quadratica viene scomposta in fattori uguali, ad esempio (x-1) (x-1) = 0 e la radice quadrata di 0 appare nella formula ( 0 (\ displaystyle (\ sqrt (0)))). In questo caso, l'equazione ha una sola soluzione.
      • Se i grafici non si intersecano affatto, l'equazione non fattorizza e nella formula viene visualizzata la radice quadrata di un numero negativo (ad esempio, - 2 (\ displaystyle (\ sqrt (-2)))). In questo caso, scrivi nella risposta che non c'è soluzione.
Questa è la seconda parte del mio articolo dedicata alla geometria computazionale. Penso che questo articolo sarà più interessante del precedente, poiché gli enigmi saranno un po' più difficili.

Iniziamo con posizione relativa punti relativi a una retta, un raggio e un segmento.

Compito #1
Determina la posizione relativa del punto e della retta: giace sopra la retta, sulla retta, sotto la retta.

Decisione
È chiaro che se la retta è data dalla sua equazione ax + per + c = 0, allora non c'è nulla da risolvere qui. Basta sostituire le coordinate del punto nell'equazione di una retta e verificare a cosa è uguale. Se è maggiore di zero, il punto è nel semipiano superiore, se è uguale a zero, il punto è sulla retta e se è minore di zero, il punto è nel semipiano inferiore. Più interessante è il caso in cui la retta è data, data dalle coordinate di due punti, chiamiamoli P 1 (x 1, y 1), P 2 (x 2, y 2). In questo caso, si possono trovare con sicurezza i coefficienti a, b e c e applicare il ragionamento precedente. Ma dobbiamo prima pensare, ne abbiamo bisogno? Ovviamente no! Come ho detto, il prodotto skew è solo un gioiello di geometria computazionale. Applichiamolo. È noto che il prodotto asimmetrico di due vettori è positivo se la rotazione dal primo al secondo è in senso antiorario, uguale a zero se i vettori sono collineari e negativo se la rotazione è in senso orario. Pertanto, è sufficiente calcolare il prodotto asimmetrico dei vettori P 1 P 2 e P 1 M e trarre una conclusione in base al suo segno.

Compito #2
Determina se un punto appartiene a un raggio.

Decisione
Ricordiamo cos'è un raggio: un raggio è una retta delimitata da un punto da un lato e infinita dall'altro. Cioè, il raggio è dato da un punto di partenza e da qualsiasi punto che giace su di esso. Sia il punto P 1 (x 1 , y 1) l'inizio del raggio e P 2 (x 2 , y 2) qualsiasi punto appartenente al raggio. È chiaro che se un punto appartiene a un raggio, allora appartiene anche alla retta passante per questi punti, ma non viceversa. L'appartenenza ad una linea è quindi condizione necessaria ma non sufficiente per l'appartenenza ad un raggio. Pertanto, non possiamo evitare di controllare il prodotto skew. Per una condizione sufficiente è anche necessario calcolare il prodotto scalare degli stessi vettori. Se è minore di zero, allora il punto non appartiene al raggio; se non è negativo, allora il punto giace sul raggio. Perché? Diamo un'occhiata al disegno.

Quindi, affinché il punto M(x, y) giaccia sul raggio con il punto iniziale P 1 (x 1 , y 1), dove P 2 (x 2 , y 2) giace sul raggio, è necessario e sufficiente a soddisfare due condizioni:

2. (P 1 P 2 , P 1 M) ≥ 0 è il prodotto scalare (il punto giace sul raggio)

Compito #3
Determina se un punto appartiene a un segmento.

Decisione
Siano i punti P 1 (x 1, y 1), P 2 (x 2, y 2) le estremità del segmento dato. Ancora condizione necessaria l'appartenenza di un punto ad un segmento è la sua appartenenza ad una retta passante per P 1 , P 2 . Successivamente, dobbiamo determinare se il punto si trova tra i punti P 1 e P 2, per questo siamo aiutati dal prodotto scalare dei vettori solo questa volta altri: (MP 1 , MP 2). Se è minore o uguale a zero, il punto giace sul segmento, altrimenti è esterno al segmento. Perché? Diamo un'occhiata alla foto.

Quindi, affinché il punto M(x, y) giaccia su un segmento di estremità P 1 (x 1 , y 1), P 2 (x 2 , y 2) è necessario e sufficiente soddisfare le condizioni:
1. \u003d 0 - inclina il prodotto (il punto si trova sulla linea)
2. (MP 1 ,MP 2) ≤ 0 – prodotto scalare (il punto è compreso tra P 1 e P 2)

Compito #4
La posizione relativa di due punti rispetto a una retta.

Decisione
In questo problema è necessario determinare due punti su uno o sui lati opposti di una retta.

Se i punti sono sui lati opposti di una retta, allora lo sono i prodotti obliqui segni diversi, quindi il loro prodotto è negativo. Se i punti giacciono sullo stesso lato rispetto alla retta, i segni dei prodotti obliqui coincidono, il che significa che il loro prodotto è positivo.
Così:
1. * < 0 – точки лежат по разные стороны.
2. * > 0 – i punti giacciono sullo stesso lato.
3. * = 0 - uno (o due) dei punti giace su una linea retta.

A proposito, il problema di determinare la presenza di un punto di intersezione di una retta e di un segmento è risolto esattamente allo stesso modo. Più precisamente, questo è lo stesso problema: un segmento e una retta si intersecano quando le estremità del segmento sono su lati diversi rispetto alla retta o quando le estremità del segmento giacciono sulla retta, cioè è necessario richiedere * ≤ 0.

Compito #5
Determina se due linee si intersecano.

Decisione
Assumiamo che le linee non coincidano. È chiaro che le rette non si intersecano solo se sono parallele. Pertanto, trovata la condizione di parallelismo, possiamo determinare se le rette si intersecano.
Supponiamo che le rette siano date dalle loro equazioni a 1 x + b 1 y + c 1 = 0 e a 2 x + b 2 y + c 2 = 0. Allora la condizione per le rette parallele è che a 1 b 2 - a 2 b 1 = 0.
Se le linee sono date dai punti P 1 (x 1, y 1), P 2 (x 2, y 2), M 1 (x 3, y 3), M 2 (x 4, y 4), allora la condizione poiché il loro parallelismo sta nel controllare il prodotto asimmetrico dei vettori P 1 P 2 e M 1 M 2: se è uguale a zero, allora le rette sono parallele.

In generale, quando le rette sono date dalle loro equazioni, controlliamo anche il prodotto asimmetrico dei vettori (-b 1 , a 1), (-b 2 , a 2) che sono detti vettori di direzione.

Compito #6
Determina se due segmenti di linea si intersecano.

Decisione
Questo è il compito che mi piace molto. I segmenti si intersecano quando le estremità di ciascun segmento giacciono sui lati opposti dell'altro segmento. Diamo un'occhiata alla foto:

Quindi, dobbiamo controllare che le estremità di ciascuno dei segmenti giacciono sui lati opposti delle relative estremità dell'altro segmento. Usiamo il prodotto skew dei vettori. Guarda la prima immagine: > 0,< 0 => * < 0. Аналогично
* < 0. Вы наверно думаете, почему не меньше либо равно. А потому, что возможен следующий случай, при котором векторное произведение как раз и равно нулю, но отрезки не пересекаются:

Occorre quindi fare un ulteriore controllo, ovvero: se almeno un'estremità di ogni segmento appartiene ad un'altra (appartenente ad un punto di un segmento). Abbiamo già risolto questo problema.

Quindi, affinché i segmenti abbiano punti in comune, è necessario e sufficiente:
1. Le estremità dei segmenti si trovano su lati diversi rispetto a un altro segmento.
2. Almeno una delle estremità di un segmento appartiene a un altro segmento.

Compito #7
La distanza da un punto a una linea.

Decisione
Sia data la retta da due punti P 1 (x 1, y 1) e P 2 (x 2, y 2).

Nell'articolo precedente abbiamo parlato del fatto che il prodotto geometricamente inclinato è l'area orientata del parallelogramma, quindi S P 1 P 2 M = 0,5*. Ogni studente, invece, conosce la formula per trovare l'area di un triangolo: metà della base per l'altezza.
S P 1 P 2 M \u003d 0,5 * h * P 1 P 2.
Uguagliando queste aree, troviamo

Modulo è stato preso perché la prima area è orientata.

Se la retta è data dall'equazione ax + by + c = 0, allora l'equazione della retta passante per il punto M perpendicolare alla retta data è: a (y - y 0) - b (x - x 0) = 0. Ora puoi risolvere facilmente il sistema dalle equazioni ottenute, trovare il loro punto di intersezione e calcolare la distanza dal punto di partenza a quello trovato: sarà esattamente ρ = (ax 0 + per 0 + c) / √ (a 2 + b 2).

Compito #8
La distanza dal punto alla trave.

Decisione
Questo problema differisce dal precedente in quanto in questo caso può succedere, in modo che la perpendicolare dal punto non cada sul raggio, ma cada sulla sua continuazione.

Nel caso in cui la perpendicolare non cada sul raggio, è necessario trovare la distanza dal punto all'inizio del raggio: questa sarà la risposta al problema.

Come determinare se la perpendicolare cade o meno sul raggio? Se la perpendicolare non cade sul raggio, l'angolo MP 1 P 2 è ottuso, altrimenti è acuto (diritto). Pertanto, dal segno del prodotto scalare dei vettori, possiamo determinare se la perpendicolare cade o meno sul raggio:
1. (P 1 M, P 1 P 2)< 0 перпендикуляр не попадает на луч
2. (P 1 M, P 1 P 2) ≥ 0 la perpendicolare colpisce il raggio

Compito #9
La distanza da un punto a una linea.

Decisione
Discutiamo in modo simile al problema precedente. Se la perpendicolare non cade sul segmento, la risposta è la minima delle distanze dal punto dato alle estremità del segmento.

Per determinare se la perpendicolare cade sul segmento, è necessario, per analogia con il compito precedente, utilizzare il prodotto scalare dei vettori. Se la perpendicolare non cade sul segmento, l'angolo MP 1 P 2 o l'angolo MP 2 P 1 sarà ottuso. Pertanto, secondo il segno prodotti scalari possiamo determinare se la perpendicolare cade o meno sul segmento:
Se (P 1 M, P 1 P 2)< 0 или (P 2 M, P 2 P 1) < 0 то перпендикуляр не падает на отрезок.

Compito #10
Determina il numero di punti su una retta e un cerchio.

Decisione
Una linea e un cerchio possono avere zero, uno o due punti di intersezione. Diamo un'occhiata alle immagini:

Qui, dai disegni, tutto è chiaro. Abbiamo due punti di intersezione se la distanza dal centro del cerchio alla retta è minore del raggio del cerchio. Un punto di contatto se la distanza dal centro alla linea è uguale al raggio. E infine, nessun punto di intersezione se la distanza dal centro del cerchio alla retta è maggiore del raggio del cerchio. Poiché il problema di trovare la distanza da un punto a una retta è già stato risolto da noi, anche questo problema è stato risolto.

Compito #11
Disposizione reciproca di due cerchi.

Decisione
Possibili casi di disposizione dei cerchi: intersecare, toccare, non intersecare.

Considera il caso in cui i cerchi si intersecano e trova l'area della loro intersezione. Amo molto questo problema, perché ho speso una discreta quantità di tempo per risolverlo (è stato molto tempo fa, nel primo anno).




Ricordiamo ora cosa sono un settore e un segmento.

L'intersezione dei cerchi è costituita da due segmenti O 1 AB e O 2 AB.

Sembrerebbe necessario sommare le aree di questi segmenti e basta. Tuttavia, non tutto è così semplice. È inoltre necessario determinare se queste formule sono sempre vere. Si scopre di no!

Consideriamo il caso in cui il centro della seconda circonferenza O 2 coincide con il punto C. In questo caso, d 2 = 0, e prendiamo α = π per il valore di α. In questo caso abbiamo un semicerchio di area 1/2 πR 2 2 .

Consideriamo ora il caso in cui il centro del secondo cerchio O 2 sia compreso tra i punti O 1 e C. In questo caso otteniamo un valore negativo di d 2 . Utilizzando un valore negativo di d 2 si ottiene valore negativo un. In questo caso, è necessario aggiungere 2π ad α per la risposta corretta.

Conclusione
Questo è tutto. Non abbiamo considerato tutti, ma i problemi più comuni della geometria computazionale riguardanti la posizione relativa degli oggetti.

Spero che ti sia piaciuto.

Per risolvere il problema, lo dividiamo nelle seguenti fasi:

  1. Considerazione del problema dal lato dello spazio multidimensionale.
  2. Considerazione del problema dal lato dello spazio bidimensionale.
  3. Calcolo del numero di punti di intersezione.

Considerazione del problema dal lato dello spazio multidimensionale

Diciamo che le linee si trovano nello spazio tridimensionale, quindi potrebbero non essere parallele tra loro in uno dei piani e separarsi l'una dall'altra nell'altro piano. Ciò significa che tali linee saranno a coppie non parallele e non avranno punti di intersezione.

Considerazione del problema dal lato dello spazio bidimensionale

In uno spazio bidimensionale (piano) due rette non sono parallele, il che significa che hanno necessariamente uno e un solo punto di intersezione. Per condizione, le rette non passano per un punto di intersezione (comune), quindi, poiché le rette non sono parallele a coppie, ognuna di esse interseca necessariamente le restanti.

Calcolo del numero di punti di intersezione

Quando si aggiunge una nuova linea non parallela al piano, verranno aggiunti i punti di intersezione con quelle linee che sono già state tracciate sul piano. Pertanto, due linee danno 1 punto di intersezione. Aggiungendo una terza linea, otteniamo altri 2 punti di intersezione con le due linee già tracciate; sommando la quarta retta otteniamo altri 3 punti di intersezione; quinto - altri 4 punti di intersezione. Quindi, in totale otteniamo:

1 + 2 + 3 + 4 = 10 punti di intersezione

Risposta: 1) spazio multidimensionale - 0 punti di intersezione; 2) spazio bidimensionale - 10 punti di intersezione.

Due linee hanno un punto di intersezione. Aggiungendo loro un'altra linea, otteniamo altri 2 punti di intersezione con ciascuna di queste due linee. Aggiungendo un'altra linea, darà inoltre tanti punti di intersezione quante erano già le linee, ad es. Altri 3. E così via. Ogni n-esima linea fornisce ulteriori (n-1) punti di intersezione con (n-1) linee.

1 + 2 + 3 + 4 = 10

Tutto quanto sopra è vero se nessuna delle 3 linee ha 1 punto di intersezione comune.

Se, tuttavia, le linee possono intersecare in un punto, ma non tutte in una volta, posizionando 4 linee con una stella abbiamo 1 dei loro punti di intersezione e aggiungendo la 5a linea otteniamo altri 4 punti. In questo caso, 5 linee avranno 5 punti comuni di intersezione.

Risposta: 10 punti di intersezione saranno formati da 5 linee non parallele quando più di 2 linee non si intersecano in un punto. Oppure 5 punti di intersezione se più di due linee possono intersecare in un punto.

Caricamento in corso...Caricamento in corso...