commit 422847b5264440e37dd203ee63a1567837b90d49
parent e4cbfa833bcb31638ec17f698c25121bf0e6c908
Author: Ivan Gankevich <igankevich@ya.ru>
Date: Sat, 30 Mar 2019 19:26:39 +0300
Discussion, conclusion.
Diffstat:
main.tex | | | 74 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----- |
references.bib | | | 13 | ++++++++++--- |
2 files changed, 79 insertions(+), 8 deletions(-)
diff --git a/main.tex b/main.tex
@@ -204,7 +204,8 @@ triangulation performance and measured how many vertices and faces are
generated when analytic curves and surfaces are transformed into them. We do
not have the same ship hulls in both formats, so we resorted to measuring
performance relative to vertex and face count. To work with IGES format
-we use OpenCASCADE library~\cite{opencascade}.
+we use OpenCASCADE library~\cite{opencascade}. Benchmark results are presented
+in tab.~\ref{tab:performance}.
\begin{table}
\centering
@@ -223,21 +224,84 @@ we use OpenCASCADE library~\cite{opencascade}.
\end{tabular}
\end{table}
+We chose MICW (a hull with reduced moments of inertia for the current
+waterline) and Aurora ship hulls in VSL format and tanker (KVLCC2),
+containership (KCS) and navy combatant (5415) in IGES format that are freely
+available on the Internet\footnote{\url{https://simman2014.dk/ship-data/}}.
+VSL format showed higher performance in comparison to IGES format considering
+the number of vertices and faces. The resulting triangular meshes are shown in
+fig.~\ref{fig:models}.
\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{build/aurora.vsl.eps}\hfill
\includegraphics[width=0.5\textwidth]{build/micw.vsl.eps}
- \caption{Final Aurora and MICW three-dimensional ship hull
- models.\label{fig:models}}
+ \caption{Final Aurora and MICW three-dimensional triangular
+ meshes.\label{fig:models}}
\end{figure}
-
-
\section{Discussion}
+\subsection{Advantages}
+
+\paragraph{Faster triangulation.} Faster triangulation is advantageous for
+performing ship motion simulations on a regular workstation. This type of
+machines are usually not very powerfull and does not have a lot of memory for
+complicated mesh pre-processing. IGES importer uses multiple threads for
+triangulation, whereas VSL does everything in one thread. Yet, it achieves
+higher peformance on a regular workstation.
+
+\paragraph{Ease of editing.} Most of the VSL files from Vessel database were
+written by hand. Points for frames were generated in a drawing programme by
+using legacy blueprints as an overlay and approximating curve projections by
+points. Then points were exported in plain text format and subsequently
+converted to VSL format by hand. Thus, there is no need in complicated and
+expensive CAD programme to produce Vessel files.
+
+\paragraph{Compatibility with legacy blueprints.} Legacy ship hull blueprints
+were mostly done by drawing projections of ship lines on a paper, and VSL
+incorporates longitudinal projections for bow and aft and transversal
+projection for the main section. It is easy to convert legacy blueprint to VSL
+file by overlaying frame points on the drawing. It is also easy for people who
+used to legacy blueprints to reason about ship hull characteristics.
+
+\subsection{Disadvantages}
+
+The main disadvantage of VSL format is that triangular mesh generated from it
+approximates ship hull surface only to a certain precision, but cannot
+represent it exactly. This is due to the fact that we choose the same number of
+points for each frame to be able to create rectangular array of all points and
+convert it to a mesh. Obvious solution to this problem is to use
+non-rectangular array, but it does not come without disadvantages.
+Non-rectangular array compilcates triangle generation as we need to compute
+intermediate points for smaller patches, and it would be more difficult to make
+the resulting surface as smooth as the original, especially at intersections of
+frames with different number of points.
+
+A simpler approach is to use rectangular array as original ship hull
+representation, not an intermediate one. In that case each array element
+represent a geometrical vertex and in addition the type of spline surface that
+represents ship hull surface \emph{exactly} is specified in the file. That way
+it is easy to create triangular mesh that would be exact representation of the
+original analytic surface when the number of grid points tends to infinity, and
+the resulting surface would as smooth as the original one with all derivatives
+and surface normals computed using analytic representation. Similar approach is
+followed by FastShip~\cite{fastship} in which ship hull is defined by B-spline
+surface, that in turn is defined by control points, allowing ship hull designer
+and ship motion simulation programmes to use exactly the same ship hull
+representation.
+
\section{Conclusion}
+We described efficient plain text format for three-dimensional ship hull
+geometry called VSL. This format uses longitudinal and transversal projections
+of ship lines given in analytic form. This format is easy to write by hand and
+easy to use for converting legacy ship hull blueprints into digital form. We
+demostrated efficiency and viability of this format in comparison to IGES.
+Although, there are more efficient and precise alternatives for storing ship
+hull geometry, and VSL format gives only approximate representation of the
+original ship hull, it is distinguished by the simplicity and efficiency.
+
\subsubsection*{Acknowledgements.}
Research work is supported by Saint Petersburg State University (grant
no.~26520170).
diff --git a/references.bib b/references.bib
@@ -7,7 +7,7 @@
}
@Article{ smith1983iges,
- title = {IGES, A Key Interface Specification for CAD/CALM Systems
+ title = {{IGES}, A Key Interface Specification for {CAD}/{CALM} Systems
Integration},
author = {Smith, Bradford M and Wellington, Joan},
journal = {Computer-Aided Geometry Modeling},
@@ -36,8 +36,15 @@
}
@Misc{ opencascade,
- title = {Open CASCADE Technology, 3D modeling \& numerical simulation},
- author = {Open Cascade SAS},
+ title = {Open {CASCADE} Technology, {3D} modeling \& numerical simulation},
+ author = {{Open Cascade SAS}},
url = {https://www.opencascade.com/},
year = {2019}
}
+
+@Misc{ fastship,
+ title = {{FastShip}: Basic ship design},
+ author = {{Alion Science Inc.}},
+ url = {http://www.proteusengineering.com/fastship.htm},
+ year = {2019}
+}