Kezdőoldal » Számítástechnika » Programozás » Két vonal keresztezi egymást?

Két vonal keresztezi egymást?

Figyelt kérdés

Egy olyan algritmuson agyalok amivel ki lehet számolni ha két vonal egymásba ér.


A1,A2: TPointF;

B1,B2: TPointF;


Function Vonalakösszeernek( A1,A2,B1,B2: TPointF ): Boolean;


Valaki tud ilyen algoritmust?

Te találtad ki?

Ha lehet fokozni hogy hol ér össze... akkor az mégjobb.



2016. ápr. 30. 19:32
 1/4 anonim ***** válasza:

Mármint a pontok által meghatározott két egyenes vagy két szakasz?


Egyenesek esetén egy kis segítség:

[link]

2016. ápr. 30. 19:44
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:

Két szakasz érintkezésének pontja.

Köszi a választ.

2016. ápr. 30. 20:01
 3/4 anonim ***** válasza:

A két szakaszod leírhatóak a következő képletekkel:

S1=A1+(A2-A1)*t1 és S2=B1+(B2-B1)*t2, ahol 0<=t1<=1 és 0<=t2<=1


Ott metszik egymás ahol a S1=S2, azaz

A1+(A2-A1)*t1=B1+(B2-B1)*t2


Két egyenlet (x-re és y-ra külön fel lehet őket írni) és két ismeretlen (t1, t2). Meg kell oldani, hajrá.


Ha megvan a t1 és t2, megnézed hogy teljesíti e a feltételt: 0<=t1<=1 és 0<=t2<=1 (azaz a metszéspont a szakaszon belül van e). Visszahelyettesítesz és megvan a metszéspont.


Vigyázz, ha nem megoldható az egyenletrendszer pl. 0-val osztás miatt, akkor a két szakasz párhuzamos, azt külön kell kezelni (ezt rád bízom).

2016. ápr. 30. 21:34
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:

Csak párszáz évvel késtél el.

[link]

2016. ápr. 30. 22:56
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!