Функция вычисления площади треугольника 2D
Код на C++ double TriangleSquare(double x1, double y1, double x2, double y2, double x3, double y3) { double a=sqrt( pow((x1-x2),2)+pow((y1-y2),2) ); double b=sqrt( pow((x2-x3),2)+pow((y2-y3),2) ); double c=sqrt( pow((x1-x3),2)+pow((y1-y3),2) ); double p=(a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); }
Функция вычисления площади треугольника 3D
Код на C++ struct Point3D{ double x,y,z; } double get_triangle_dim(Point3D p1, Point3D p2, Point3D p3){ Point3D v1,v2,vp; v1.x=p2.x-p1.x; v1.y=p2.y-p1.y; v1.z=p2.z-p1.z; v2.x=p3.x-p1.x; v2.y=p3.y-p1.y; v2.z=p3.z-p1.z; vp.x=v1.y*v2.z-v1.z*v2.y; vp.y=v1.z*v2.x-v1.x*v2.z; vp.z=v1.x*v2.y-v1.y*v2.x; return(sqrt(vp.x*vp.x+vp.y*vp.y+vp.z*vp.z)/2); }
|