Jump to content
php.lv forumi

Nogriežņu pārklāšanās


nemakuphp

Recommended Posts

Ir uzdevums iekš C++ - Dotas divu trīsstūru virsotņu koordinātes. Atrast trīsstūru kontūru kopīgos punktus.

 

Kopīgos punktus atrod, viss ir OK, bet problēmas sākas tad, kad trijstūra malas pārklājas. Kā varētu noteikt to, vai dotās trijstūra malas pārklājas?

 

Pašreizējais kods ir šāds - http://paste.php.lv/e665c1555a789a8e359c0514a1140928?lang=cpp

 

               double k = a1x/a2x;
               if (b1y/b2y == k && c1/c2 == k) {
                   	cout << tr1i + 1 << ". trijstūra mala (" << x1 << ", " << y1 <<"),(" << x2 << ", " << y2 << ") krusto "
                           	<< tr2i + 1 << ".trijstūra malu (" << x3 << ", " << y3 << "),(" << x4 << ", " << y4 << ") neierobežotā skaitā punktu (malas pārklājas)" << endl;
           	}

 

Problēma ir šeit, jo pārbaudīšana ar koeficientu nav pareiza, var rasties nepareizi rezultāti. Tātad, kāds būtu labākais veids, lai noteiktu, vai malas pārklājas. Nav jāzin kādā intervālā pārklājas, galvenais, vai vispār pārklājas.

 

Ceru, ka spēsiet palīdzēt, sliktākajā gadījumā ar linku, kur ir kaut kas vairāk par šo.

Link to comment
Share on other sites

Nu kā

a + b > c

a+c > b

b+c > a

Divām trījstūra malām jābūt lielākam par trešo..

, ja ir vienādas tad tas ir nogrieznies, un ja mazāka, tad tas nemaz nav trijstūris.!

Vai arī ir domāti krustpunkti tiem nogriežņiem?

Edited by waplet
Link to comment
Share on other sites

Es domāju, ka biju visu pietiekami skaidri izklāstījis, bet tomēr kāds nesaprot. Kopumā ir izdevies izveidot kodu, kas strādā uz man vēlamiem ievaddatiem, būs ok pagaidām, ja noveiksies. Jo nu reāli pārējiem, cik skatījos, tie uzdevumi bija normāli izpildāmi bez kaut kādām pro zināšanām ģeometrijā.

Link to comment
Share on other sites

Nekas sarežģīts īsti nav, pameklē lineārā algebra nogriežņi plaknē vai kas tāds.. bet šķiet tev varētu noderēt šis te:

http://en.wikipedia.org/wiki/Line-line_intersection

Tur pat ir formula kā aprēķināt divu nogrižņu krustpunktu, tiesa jāpapēta, ko tas algoritms atgriež ja šie nogriežņi nemaz nekrustojas...

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...