ProjGeom 1.0.11
Loading...
Searching...
No Matches
Namespaces | Functions
euclid_plane.hpp File Reference

Euclidean plane functions: perpendicularity, parallelism, altitude, orthocenter, etc. More...

#include <type_traits>
#include "pg_common.hpp"
#include "proj_plane.hpp"
#include "proj_plane_concepts.h"
Include dependency graph for euclid_plane.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fun
 

Functions

template<ProjectivePlaneCoord2 Line>
constexpr auto fun::fB (const Line &line_l) -> typename Line::Dual
 Convert a line to its direction vector in the affine plane.
 
template<ProjectivePlaneCoord2 Line>
constexpr auto fun::is_perpendicular (const Line &line_l, const Line &line_m) -> bool
 Check if two lines are perpendicular.
 
template<ProjectivePlaneCoord2 Line>
constexpr auto fun::is_parallel (const Line &line_l, const Line &line_m) -> bool
 Check if two lines are parallel.
 
template<typename Point , typename Line >
requires ProjectivePlaneCoord<Point, Line>
constexpr auto fun::altitude (const Point &a, const Line &line_l) -> Line
 Compute the altitude from a point to a line.
 
template<ProjectivePlaneCoord2 Point>
constexpr auto fun::tri_altitude (const Triple< Point > &triangle)
 Compute all three altitudes of a triangle.
 
template<ProjectivePlaneCoord2 Point>
constexpr auto fun::orthocenter (const Triple< Point > &triangle) -> Point
 Compute the orthocenter of a triangle.
 
template<ProjectivePlaneCoord2 Line>
constexpr auto fun::reflect (const Line &line_m)
 Create an involution that reflects across a line.
 
template<ProjectivePlaneCoord2 Point>
constexpr auto fun::midpoint (const Point &a, const Point &b) -> Point
 Compute the midpoint of two points.
 
template<ProjectivePlaneCoord2 Point>
constexpr auto fun::tri_midpoint (const Triple< Point > &triangle) -> Triple< Point >
 Compute the midpoints of all three sides of a triangle.
 
template<ProjectivePlaneCoord2 Point>
constexpr auto fun::uc_point (const Value_type< Point > &lda1, const Value_type< Point > &mu1)
 Compute a point on the unit circle from trigonometric parameters.
 
template<OrderedRing _Q>
constexpr auto fun::archimedes (const _Q &a, const _Q &b, const _Q &c)
 Archimedes's function.
 
template<typename _Q >
constexpr auto fun::cqq (const _Q &a, const _Q &b, const _Q &c, const _Q &d) -> std::array< _Q, 2 >
 Cyclic quadrilateral quadrea theorem.
 
template<typename T >
constexpr auto fun::Ptolemy (const T &quad) -> bool
 Check Ptolemy's theorem for a cyclic quadrilateral.
 

Detailed Description

Euclidean plane functions: perpendicularity, parallelism, altitude, orthocenter, etc.