Três coordenadas, encontrar a área do triângulo, ele determina se ou não um ponto em um triângulo c ++

Três pontos de coordenadas para um determinado plano bidimensional, encontrar a área do triângulo

E onda de co-seno pela fórmula função vector de derivação pode ser derivada

s = | (x1y2 - x1y3 - x2y1 + x3y1 + x2y3 - x3y2) / 2 |

Esta fórmula não se lembra da última fórmula, ainda me lembro do bar determinante acima

 

Aqui é a implementação do código c ++

1 #include <iostream>
 2 #include <cmath>
 3  usando  namespace std;
4  
5  struct ponto {
 6      duplo x, y;
7      ponto ( duplo x, duplo y) {
 8,          ponto :: x = x;
9          ponto :: y = y;
10      }
 11  };
12  
13  duplo triângulo (ponto a, b ponto, ponto c) {
 14      de retorno Fabs ((ax * a - ax * cy - ay * bx + cx * ay + bx * cy - cx * por) / 2,0 );
15  }
 16  
17  int main () {
 18      ponto A ( 0 , 0 );
19      alínea b ( 1 , 0 );
20      alínea c ( 0,5 , 0,5 );
21      cout << triângulo (a, b, c);
22      retorno  0 ;
23 }

 

Determinar se um ponto do triângulo

Pensando: Se o ponto do triângulo, o S (ABC) = S (ABP) + S (ACP) + S (BCP)

código de implementação

1 #include <iostream>
 2 #include <cmath>
 3  usando  namespace std;
4  
5  struct ponto {
 6      duplo x, y;
7      ponto ( duplo x, duplo y) {
 8,          ponto :: x = x;
9          ponto :: y = y;
10      }
 11  };
12  
13  duplo triângulo (ponto a, b ponto, ponto c) {
 14      de retorno Fabs ((ax * a - ax * cy - ay * bx + cx * ay + bx * cy - cx * por) / 2,0 );
15  }
 16  
17  boleano in_triangle (ponto a, b ponto, ponto C, o ponto P) {
 18      duplas s = triângulo (a, b, c);
19      duplo S1 = triângulo (a, b, p);
20      duplo s2 = triângulo (a, c, p);
21      duplo s3 = triângulo (b, c, p);
22      de retorno s == (s1 + s2 + s3)? verdade : falsa ;
23  }
 24  
25  int main () {
 26      ponto A ( 0 , 0 );
27      alínea b (1 , 0 );
28      alínea c ( 0,5 , 0,5 );
29      ponto de p ( 1 , 1 );
30      cout << in_triangle (a, b, c, p);
31 de      retorno  0 ;
32 }

 

Acho que você gosta

Origin www.cnblogs.com/LIN-JW/p/12661590.html
Recomendado
Clasificación