summaryrefslogtreecommitdiff
path: root/geometry
diff options
context:
space:
mode:
Diffstat (limited to 'geometry')
-rw-r--r--geometry/circle.cpp6
-rw-r--r--geometry/formulas.cpp (renamed from geometry/formulars.cpp)0
-rw-r--r--geometry/formulas3d.cpp (renamed from geometry/formulars3d.cpp)0
-rw-r--r--geometry/geometry.tex23
-rw-r--r--geometry/spheres.cpp4
5 files changed, 20 insertions, 13 deletions
diff --git a/geometry/circle.cpp b/geometry/circle.cpp
index 8ebc800..fab4150 100644
--- a/geometry/circle.cpp
+++ b/geometry/circle.cpp
@@ -1,4 +1,4 @@
-// berechnet die Schnittpunkte von zwei kreisen
+// berechnet die Schnittpunkte von zwei Kreisen
// (Kreise dürfen nicht gleich sein!)
vector<pt> circleIntersection(pt c1, double r1,
pt c2, double r2) {
@@ -13,7 +13,7 @@ vector<pt> circleIntersection(pt c1, double r1,
}
// berechnet die Schnittpunkte zwischen
-// einem Kreis(Kugel) und einer Grade 2d und 3d
+// einem Kreis(Kugel) und einer Grade (2D und 3D)
vector<pt> circleRayIntersection(pt center, double r,
pt orig, pt dir) {
vector<pt> result;
@@ -22,7 +22,7 @@ vector<pt> circleRayIntersection(pt center, double r,
double c = dot(orig - center, orig - center) - r * r;
double discr = b * b - 4 * a * c;
if (discr >= 0) {
- //t in [0, 1] => schnitt mit segment [orig, orig + dir]
+ //t in [0, 1] => Schnitt mit Segment [orig, orig + dir]
double t1 = -(b + sqrt(discr)) / (2 * a);
double t2 = -(b - sqrt(discr)) / (2 * a);
if (t1 >= 0) result.push_back(t1 * dir + orig);
diff --git a/geometry/formulars.cpp b/geometry/formulas.cpp
index 22e9e32..22e9e32 100644
--- a/geometry/formulars.cpp
+++ b/geometry/formulas.cpp
diff --git a/geometry/formulars3d.cpp b/geometry/formulas3d.cpp
index 84e17c0..84e17c0 100644
--- a/geometry/formulars3d.cpp
+++ b/geometry/formulas3d.cpp
diff --git a/geometry/geometry.tex b/geometry/geometry.tex
index 95c0adb..57c8092 100644
--- a/geometry/geometry.tex
+++ b/geometry/geometry.tex
@@ -15,12 +15,12 @@
\sourcecode{geometry/antipodalPoints.cpp}
\end{algorithm}
-\begin{algorithm}{Konvexehülle}
+\begin{algorithm}{Konvexe Hülle}
\begin{methods}
\method{convexHull}{berechnet konvexe Hülle}{n\*\log(n)}
\end{methods}
\begin{itemize}
- \item Konvexe Hülle gegen den Uhrzeigersinn sortiert
+ \item konvexe Hülle gegen den Uhrzeigersinn sortiert
\item nur Eckpunkte enthalten(für alle Punkte = im CCW Test entfernen)
\item erster und letzter Punkt sind identisch
\end{itemize}
@@ -28,7 +28,7 @@
\end{algorithm}
\subsection{Formeln~~--~\texttt{std::complex}}
-\sourcecode{geometry/formulars.cpp}
+\sourcecode{geometry/formulas.cpp}
\sourcecode{geometry/linesAndSegments.cpp}
\sourcecode{geometry/sortAround.cpp}
\input{geometry/triangle}
@@ -36,11 +36,11 @@
\sourcecode{geometry/polygon.cpp}
\sourcecode{geometry/circle.cpp}
-\subsection{Formeln - 3D}
-\sourcecode{geometry/formulars3d.cpp}
+\subsection{Formeln -- 3D}
+\sourcecode{geometry/formulas3d.cpp}
\optional{
- \subsection{3D-Kugeln}
+ \subsection{3D-Kugeln \opthint}
\sourcecode{geometry/spheres.cpp}
}
@@ -48,15 +48,22 @@
\sourcecode{geometry/hpi.cpp}
\end{algorithm}
+\begin{algorithm}[optional]{Intersecting Segments}
+ \begin{methods}
+ \method{intersect}{finds ids of intersecting segments}{n\*\log(n)}
+ \end{methods}
+ \sourcecode{geometry/segmentIntersection.cpp}
+\end{algorithm}
+
\begin{algorithm}[optional]{Delaunay Triangulierung}
\begin{methods}
\method{delaunay}{berechnet Triangulierung}{n\*\log(n)}
\end{methods}
- \textbf{WICHTIG:} Wenn alle Punkte kollinear sind gibt es keine Traingulierung! Wenn 4 Punkte auf einem Kreis liegen ist die Triangulierung nicht eindeutig.
+ \textbf{WICHTIG:} Wenn alle Punkte kollinear sind gibt es keine Triangulierung! Wenn 4 Punkte auf einem Kreis liegen ist die Triangulierung nicht eindeutig.
\sourcecode{geometry/delaunay.cpp}
\end{algorithm}
\optional{
-\subsection{Geraden}
+\subsection{Geraden \opthint}
\sourcecode{geometry/lines.cpp}
}
diff --git a/geometry/spheres.cpp b/geometry/spheres.cpp
index abffde5..b5d3644 100644
--- a/geometry/spheres.cpp
+++ b/geometry/spheres.cpp
@@ -1,4 +1,4 @@
-// Great Cirlce Distance mit Längen- und Breitengrad.
+// Great Circle Distance mit Längen- und Breitengrad.
double gcDist(double pLat, double pLon,
double qLat, double qLon, double radius) {
pLat *= PI / 180; pLon *= PI / 180;
@@ -10,7 +10,7 @@ double gcDist(double pLat, double pLon,
sin(pLat) * sin(qLat));
}
-// Great Cirlce Distance mit kartesischen Koordinaten.
+// Great Circle Distance mit kartesischen Koordinaten.
double gcDist(point p, point q) {
return acos(p.x * q.x + p.y * q.y + p.z * q.z);
}