serna37's Library

Logo

C++ アルゴリズムとデータ構造のライブラリ

View the Project on GitHub serna37/library-cpp

:heavy_check_mark: 三角形の面積
(library/geometry/area_triangle.hpp)

三角形の面積

できること

doubleは桁数表現11bitを除き、52bit程度の精度
18桁使うなら2で割らずlong longで返すこと

計算量

$O(1)$

使い方

double S = area_triangle(x1, y1, x2, y2, x3, y3);

Verified with

Code

#pragma once
template <typename T> double area_triangle(T x1, T y1, T x2, T y2, T x3, T y3) {
    return abs((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) / 2.0;
}
#line 2 "library/geometry/area_triangle.hpp"
template <typename T> double area_triangle(T x1, T y1, T x2, T y2, T x3, T y3) {
    return abs((x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1)) / 2.0;
}
Back to top page