orvaenting
Summary
A simple C library implementing the compression algorithm for isosceles triangles.
License
This project's license is GPL 2 (as of June 1991). The whole license text can be found in LICENSE
in the main directory of this repository. The brief version of the license is as follows:
Copyright (C) 2021 Kevin Matthes
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
When compiling a printable version of this documentation using pandoc
, the full license will be attached automatically to the resulting document.
Introduction
Isosceles triangles have the interesting property of being compressible into a single real number within the range $(0, 2)$. When keeping at least one side's length, both its side lengths and angles can be restored without any loss of information.
This approach, the Örvænting Theorem, allows speeding up calculations regarding isosceles triangles.
Let $A, B, C \in \mathbb R ^ d, , d \in [2, \infty) \cap \mathbb N$ form an isosceles triangle assuming the Fifth Euclidian Postulate to be fulfilled. Then, \begin{align*} \textit {\textrm \th} &= 2 \cdot \sin \left( \frac \gamma 2 \right) \ \gamma &= 2 \cdot \arcsin \left( \frac {\textit {\textrm \th}} 2 \right) \end{align*} describe the instructions in order to compress and decompress the resulting isosceles triangle with
- $\textit {\textrm \th} = \frac g s$ being the Side Ratio of Main Side $g$ and Further Side $s$.
- $\gamma$ being the angle facing $g$.
This repository provides three sample C implementations for each of these formulas.
Build Instructions
liborvaenting.a
The library with all utility functions can be created by calling
make liborvaenting.a
orvaenting.pdf
In order to create a printable version of this documentation, just call
make orvaenting.pdf
Citing this Repository
When referring to this repository, please use the following Bib\TeX\ entry:
@online{orvaenting,
author = {{M}atthes, {K}evin},
title = {\"{O}rv\ae nting},
subtitle = {{T}he {C}ompression {A}lgorithm for {I}sosceles {T}riangles},
url = {https://github.com/kevinmatthes/orvaenting},
}