Функции вычисления площади треугольника на C++


Добавил:DMT
Дата создания:25 апреля 2008, 14:43
Дата обновления:25 апреля 2008, 14:43
Просмотров:14336 последний позавчера, 0:43
Комментариев: 0
Функция вычисления площади треугольника 2D
Код на C++
  1. double TriangleSquare(double x1, double y1, double x2, double y2, double x3, double y3)
  2. {
  3. double a=sqrt( pow((x1-x2),2)+pow((y1-y2),2) );
  4. double b=sqrt( pow((x2-x3),2)+pow((y2-y3),2) );
  5. double c=sqrt( pow((x1-x3),2)+pow((y1-y3),2) );
  6.  
  7. double p=(a+b+c)/2;
  8.  
  9. return sqrt(p*(p-a)*(p-b)*(p-c));
  10. }
При использовании обязательна ссылка на http://DMTSoft.ru
Функция вычисления площади треугольника 3D
Код на C++
  1.  
  2. struct Point3D{
  3. double x,y,z;
  4. }
  5. double get_triangle_dim(Point3D p1, Point3D p2, Point3D p3){
  6. Point3D v1,v2,vp;
  7. v1.x=p2.x-p1.x;
  8. v1.y=p2.y-p1.y;
  9. v1.z=p2.z-p1.z;
  10. v2.x=p3.x-p1.x;
  11. v2.y=p3.y-p1.y;
  12. v2.z=p3.z-p1.z;
  13. vp.x=v1.y*v2.z-v1.z*v2.y;
  14. vp.y=v1.z*v2.x-v1.x*v2.z;
  15. vp.z=v1.x*v2.y-v1.y*v2.x;
  16. return(sqrt(vp.x*vp.x+vp.y*vp.y+vp.z*vp.z)/2);
  17. }
При использовании обязательна ссылка на http://DMTSoft.ru
up