12 svar
513 visningar

RUmmet, vilka punkter är i triangeln

https://gyazo.com/ab162041555d05450dde8b54868f7ee0

Vilken metod ska jag använda för att veta vilka punkter som ligger i triangeln? Det är lite svårt att rita i 3d, så hur ska jag algebraiskt kunna koll om de är inuti triangeln!

Man kanske kan göra ett plan av triangeln och se vilka punkter som är i planet, låter det vettigt? 

Dr. G 9457
Postad: 3 jan 2018 16:29

Du kan ju t.ex räkna ut ekvationen för planet som innehåller P1, P2 och P3. Ligger någon av punkterna i planet? För en punkt i planet får man kolla lite på avstånden till P1, P2 och P3 och kan då veta om den är innanför eller utanför triangeln. 

Förklara gärna mer, måste man använda avstånd också, inte bara kolla om punkten är i planet?

_Elo_ 100
Postad: 3 jan 2018 20:38

Kvadratenskvadrat:

Först skulle jag som du, kontrollera vilka punkter som ligger i samma plan som triangeln. Eftersom ett plan är oändligt stort behöver det ju inte betyda att punkterna ligger inom triangeln, så än är vi inte klara. Här kommer ett annat förslag på fortsättning:

Sedan skulle jag rita upp triangelns projektion i x-y-planet. Dvs att du märker ut punkterna (1,1), (4,2) och (2,3) i x-y-planet som hörn i triangeln. Om sedan den fjärde punktens projektion i x-y-planet ligger innanför den triangeln måste de också ligga innanför triangeln i 3 dimensioner. 

Dr. G:

Jag blev lite nyfiken på hur du ska avgöra med avstånden Dr. G? Blir det inte mycket jobb, eller har du kommit på något smidigt sätt som jag missar?

intressant, mycket intressant faktiskt! Berätta gärna mer om någon fler har en input. Tack elo föresten, hur bestämmer jag vilken matris som projicerar på xy-planet eller är det lätt att göra?

Albiki 5096 – Fd. Medlem
Postad: 3 jan 2018 21:22

Hej!

En vektor ( x x ) ligger på linjen som förbinder vektorerna a a och b b om x x kan skrivas som en konvex kombination av vektorerna a a och b b : Det finns ett tal ( λ \lambda ) mellan 0 0 och 1 1 sådant att

    x=λa+(1-λ)b. x = \lambda a + (1-\lambda)b.

Linjen är lika med det konvexa höljet av vektorerna a a och b . b\ .

En vektor ( x x ) ligger i triangeln som förbinder vektorerna a a och b b och c c om den kan skrivas som en konvex kombination av vektorerna a a och b b och c c : Det finns två tal ( λ1 \lambda_1 och λ2 \lambda_2 ) mellan 0 0 och 1 1 sådana att

    x=λ1a+λ2b+(1-λ1-λ2)c . x = \lambda_{1}a+\lambda_{2}b+(1-\lambda_1-\lambda_2)c\ .

Triangeln är lika med det konvexa höljet av vektorerna a a och b b och c c .

Albiki

Dr. G 9457
Postad: 3 jan 2018 21:29

_Elo_: jag hade ingen direkt plan med avstånden, men det "bör gå"...

Om avståndet från punkten Q till något hörn är längre än längsta sidan så kan Q inte ligga i triangeln. Projektion i xy-planet är nog en bra idé. 

En "lite"  jobbig lösning är att bilda tre trianglar QP1P2, QP2P3 och QP1P3. Beräkna vinkeln vid Q i alla tre trianglarna (med cosinussatsen). Om dessa tre summerar till 360° så ligger Q i triangeln, annars inte. (Ingen smidig lösning dock.) 

_Elo_ 100
Postad: 3 jan 2018 21:35

Kvadratenskvadrat:

Om du tänker att du står ovanför ( i z-riktningen) triangeln och lyser med en ficklampa på triangeln så är skuggan i x-y-planet projektionen i x-y-planet. Deu kan alltså ta x-y-koordinaterna rakt av från punkterna.

Dr. G:

Ok, ja det bör nog gå:) Känner spontant bara att punkten inte behöver ligga i triangeln även om avstånden är kortare än längsta sidan, stämmer inte det?

Dr. G 9457
Postad: 3 jan 2018 21:46

_Elo_: precis, man kan alltså bara använda avståndet från Q till hörnet längst bort och jämföra med längsta sidan för att utesluta att Q ligger i triangeln. Det blir något av "en första sållning".

Låter som en onekligen svår fråga, men projektion i xy låter vettigt

PeBo 540
Postad: 4 jan 2018 00:07

En annan metod (lite hemkokt) är att bilda (för varje punkt Q man vill undersöka) tre vektorer v1, v2, v3 från punkten Q till hörnen P1, P2, P3 på triangeln man vill testa om punkten ligger i. Man bildar sedan kryssprodukterna v1×v2, v2×v3, v3×v1, och om alla dessa är parallella och har samma riktning så ligger punkten i triangeln. Är kryssprodukterna inte parallella så ligger inte punkten i planet, och är en av kryssprodukterna riktad åt andra hållet så ligger punkten i planet men utanför triangeln. Skälet till att det här fungerar är att kryssprodukten för två vektorer har en storlek som är proportionell mot ytan som vektorerna spänner upp, och en riktning som är ortogonal mot ytan. Om vinkeln mellan två vektorer är större än π så är ytan negativ och vektorn får då omvänt tecken, vilket är det samma som att punkten ligger utanför triangeln. Den här lite hemkokta metoden lånar inspiration från skosnöremetoden för att beräkna areor för kurvor i planet. (Skosnöremetoden Mathologer Youtube).

Nice man!

Svara
Close