From 55f89ca8452e82ebf7188d60a7c51dc83e418e45 Mon Sep 17 00:00:00 2001 From: lonkaars Date: Sat, 6 Jan 2024 17:50:43 +0100 Subject: initial commit --- .gitignore | 15 +++++++ circrect.tex | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ license | 21 ++++++++++ refs.bib | 7 ++++ 4 files changed, 173 insertions(+) create mode 100644 .gitignore create mode 100644 circrect.tex create mode 100644 license create mode 100644 refs.bib 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}, +} -- cgit v1.2.3