summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlonkaars <loek@pipeframe.xyz>2024-01-06 17:50:43 +0100
committerlonkaars <loek@pipeframe.xyz>2024-01-06 17:50:43 +0100
commit55f89ca8452e82ebf7188d60a7c51dc83e418e45 (patch)
tree2e15c5d65038e8fa52e0c7570234ed1bec570b7a
initial commit
-rw-r--r--.gitignore15
-rw-r--r--circrect.tex130
-rw-r--r--license21
-rw-r--r--refs.bib7
4 files changed, 173 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..61295cd
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+*.aux
+*.bbl
+*.bcf
+*.blg
+*.fdb_latexmk
+*.fls
+*.log
+*.out
+*.run.xml
+*.synctex.gz
+*.toc
+*.synctex(busy)
+*.lof
+*.lot
+*.pdf
diff --git a/circrect.tex b/circrect.tex
new file mode 100644
index 0000000..d48f3d5
--- /dev/null
+++ b/circrect.tex
@@ -0,0 +1,130 @@
+\documentclass[dutch, a4paper]{article}
+
+\usepackage{babel}
+\usepackage{hyperref}
+\usepackage{amsmath}
+\usepackage{csquotes}
+\usepackage{microtype}
+\usepackage{enumitem}
+\usepackage[noabbrev]{cleveref}
+\usepackage[
+ backend=biber,
+ bibencoding=utf8,
+]{biblatex}
+
+\addbibresource{refs.bib}
+\setdescription{
+ labelwidth=3ex
+}
+
+\title{Exacte berekening van het gedeelde oppervlak van een cirkel en een rechthoek}
+\author{Loek Le Blansch}
+\date{\today}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+In dit document wordt beschreven hoe men het gedeelde oppervlak van een willekeurige
+cirkel met een willekeurige rechthoek exact kan berekenen. Een interactief voorbeeld
+is beschikbaar op Desmos \autocite{desmosimpl}, en een voorbeeldimplementatie van de
+complete formule in de programmeertaal Python staat beschreven in de bijlage van dit
+document.
+\end{abstract}
+
+\section{Definities}
+De volgende variabelen worden gebruikt in de berekeningen, met uitzondering van
+functieparameters:
+
+\begin{description}
+ \item[$a$] (de cirkel)
+ \begin{description}
+ \item[$a_r$] (de straal van cirkel $a$)
+ \end{description}
+ \item[$bc$] (de rechthoek)
+ \item[$b$] (\'e\'en hoekpunt van de rechthoek $bc$)
+ \begin{description}
+ \item[$b_x, b_y$] (de co\"ordinaten van punt $b$)
+ \end{description}
+ \item[$c$] (tegenovergestelde hoekpunt van $b$ in rechthoek $bc$)
+ \begin{description}
+ \item[$c_x, c_y$] (de co\"ordinaten van punt $c$)
+ \end{description}
+\end{description}
+
+\section{Berekening}
+
+Het interval waarmee de integraal wordt berekend is gedefini\"eerd door $[b_1, c_1]$.
+\Cref{eq:var:d1,eq:var:d2} defini\"eren deze waarden als de $x$-co\"ordinaten van de
+hoekpunten $b$ en $c$, begrensd tussen $[-a_r, a_r]$.
+\begin{equation}\label{eq:var:d1}
+b_1=\min\left(a_r,\max\left(-a_r,b_x\right)\right)
+\end{equation}
+\begin{equation}\label{eq:var:d2}
+c_1=\min\left(a_r,\max\left(-a_r,c_x\right)\right)
+\end{equation}
+
+\Cref{eq:fn:f} defini\"eert de functie $f$ als alleen de bovenste helft van cirkel
+$a$.
+\begin{equation}\label{eq:fn:f}
+f\left(x\right)=\sqrt{a_r^2-x^2}
+\end{equation}
+
+\Cref{eq:var:f1} defini\"eert $f_1$ als de laagste verticale co\"ordinaat van de
+punten $b$ en $c$, begrensd tussen $[0, a_r]$.
+\begin{equation}\label{eq:var:f1}
+f_1=\min\left(a_r,\max\left(0,\min\left(b_y,c_y\right)\right)\right)
+\end{equation}
+
+\Cref{eq:var:f2} defini\"eert $f_2$ als de absolute hoogte van rechthoek $bc$.
+\begin{equation}\label{eq:var:f2}
+f_2=\left|\max\left(0,b_y\right)-\max\left(c_y,0\right)\right|
+\end{equation}
+
+\Cref{eq:fn:g} defini\"eert de functie $g$ als een transformatie van de functie $f$,
+met een translatie van $f_1$ omlaag, en een begrenzing van het bereik van de functie
+tot $[0, f_2]$.
+\begin{equation}\label{eq:fn:g}
+g\left(x\right)=\min\left(f_2,\max\left(0,f\left(x\right)-f_1\right)\right)
+\end{equation}
+
+\Cref{eq:var:o} defini\"eert $o$ als het gedeelde oppervlak van cirkel $a$ en
+rechthoek $bc$ boven de $x$-as, door de integraal van de fucntie $g$ tussen het
+interval $[b_1, c_1]$ te berekenen. De absolute waarde van de integraal wordt genomen
+voor gevallen waar $b_x > c_x$.
+\begin{equation}\label{eq:var:o}
+o=\left|\int_{b_1}^{c_1}g\left(x\right)dx\right|
+\end{equation}
+
+\Cref{eq:fn:h} defini\"eert een functie die de waarde van $o$ uitrekent voor elke
+willekeurige waarden voor $a$, $b$ en $c$.
+\begin{equation}\label{eq:fn:h}
+h(a,b,c) = \text{TODO}
+\end{equation}
+
+De complete oplossing bestaat uit de functie $h$ \'e\'en keer normaal berekenen, en
+nog een keer met de rechthoek $bc$ gespiegeld om de $x$-as (vermenigvuldig $b_y$ en
+$c_y$ met $-1$). De som van deze twee waarden vormt het gewenste oppervlak
+\begin{equation}\label{eq:fn:k}
+ \begin{aligned}[c]
+ k\left(a,b,c\right) =\,
+ & h\left(
+ a,
+ \left(b_x, b_y\right),
+ \left(c_x, c_y\right)
+ \right) + \\
+ & h\left(
+ a,
+ \left(b_x,-b_y\right),
+ \left(c_x,-c_y\right)
+ \right)
+ \end{aligned}
+\end{equation}
+
+\section*{Colofon}
+
+Ik heb geen wiskunde gestudeerd, en kan geen bewijs geven dat de methode die
+beschreven is in dit document foutloos is.
+
+\printbibliography
+\end{document}
diff --git a/license b/license
new file mode 100644
index 0000000..5fe3518
--- /dev/null
+++ b/license
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024 Loek Le Blansch
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/refs.bib b/refs.bib
new file mode 100644
index 0000000..bfbb2aa
--- /dev/null
+++ b/refs.bib
@@ -0,0 +1,7 @@
+@online{desmosimpl,
+ title = {Gedeeld oppervlak van cirkel en rechthoek},
+ url = {https://www.desmos.com/calculator/iolignkwgm},
+ author = {Loek Le Blansch},
+ date = {2024-01-06},
+ urldate = {2024-01-06},
+}