POJ1269 判断2条直线的位置关系
Jun 07, 2016 pm 03:49 PM题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。 解题思路: 先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两
题目大意:给两个点能够确定一条直线,题目给出两条直线(由4个点确定),要求判断出这两条直线的关系:平行,同线,相交。如果相交还要求出交点坐标。
解题思路:
先判断两条直线p1p2, q1q2是否共线, 如果不是,再判断 直线 是否平行, 如果还不是, 则两直线相交。
判断共线: p1p2q1 共线 且 p1p2q2 共线 ,共线用叉乘为 0 来判断,
判断 平行: p1p2 与 q1q2 共线
求交点:
直线p1p2上的点 可表示为 p1+t(p2-p1) , 而交点 又在 直线q1q2上, 所以有 (q2-q1)X (p1 + t(p2-p1 ) - q1 ) =0
解得 交点 t = p1 + ( ((q2-q1) X (q1 - p1)) /( (q2-q1) X(p2-p1) ) *(p2-p1) )
-----------------------------------------------------------------------
注意: double 型数据为0 不能直接==0
------------------------------------------------------------------------
叉乘不满足交换律
const double eps = 1e-8 ; double add(double x , double y){ if(fabs(x+y) >t ; while(t--){ p1.read() , p2.read() ; q1.read() , q2.read() ; k = twoline(p1 , p2 , q1 , q2 , interp) ; if(k == 1) puts("LINE") ; else if(k == 2) puts("NONE") ; else printf("POINT %.2lf %.2lf\n" , interp.x , interp.y) ; } puts("END OF OUTPUT") ; return 0 ; }

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Chemin de démarrage Win11 et comment l'ouvrir

Détails sur la façon d'activer les paramètres des variables d'environnement sur Windows 11

Comprendre l'emplacement et la structure du stockage du package d'installation pip

Comment changer l'emplacement de Gaode Map Home

Où est publié Kuaishou et comment changer son emplacement ? Comment ajouter un emplacement à une vidéo qui a été mise en ligne ?

Emplacement de l'Origami Bird au Stardome Railway Crocker Film and Television Park

Où se trouve l'emplacement du bon quotidien Meituan_Présentation de l'emplacement du bon quotidien Meituan

Où se trouve l'arène de la dernière ère ?
