iccsa-19-vessel

git clone https://git.igankevich.com/iccsa-19-vessel.git
Log | Files | Refs

commit f7f4ce581075fbf489039e0752565f43c0fc6e92
parent b34641c0485ff56e9b21b0ac83a5d0ea6f9a9847
Author: Ivan Gankevich <igankevich@ya.ru>
Date:   Sat, 30 Mar 2019 15:38:29 +0300

Bow.

Diffstat:
Makefile | 4++++
gnuplot/bow.dat | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
gnuplot/bow.gnuplot | 17+++++++++++++++++
main.tex | 23++++++++++++-----------
4 files changed, 141 insertions(+), 11 deletions(-)

diff --git a/Makefile b/Makefile @@ -13,11 +13,15 @@ NAME = iccsa-19-vtestbed build/$(NAME).pdf: main.tex build/$(NAME).pdf: build/sections.eps +build/$(NAME).pdf: build/bow.eps @-$(LATEXMK) $(FLAGS) -f main.tex build/sections.svg: gnuplot/sections.dat gnuplot/sections.gnuplot ./gnuplot/sections.gnuplot +build/bow.svg: gnuplot/bow.dat gnuplot/bow.gnuplot + ./gnuplot/bow.gnuplot + build/%.eps: build/%.svg inkscape -z --export-eps=$@ $< diff --git a/gnuplot/bow.dat b/gnuplot/bow.dat @@ -0,0 +1,108 @@ +220 0 0 +236.5 0 0.113 +241 0 0.66 +243.4 0 1.5 +244.7 0 1.8 +244.7 0 2 +246 0 4 +245.2 0 6 +242 0 8 +236.4 0 10 +229.5 0 12 +223.6 0 14 +220 0 16 +218.32 0 18 +217.2 0 20 +217 0 22 +217.32 0 24 +218 0 26 +218.66 0 28 +219 0 28.8 +209 2.67 28.8 +209 2.67 28 +209 2.02 26 +209 1.52 24 +209 1.17 22 +209 0.98 20 +209 0.98 18 +209 1.29 16 +209 2.04 14 +209 3.13 12 +209 4.52 10 +209 5.78 8 +209 6.64 6 +209 6.77 4 +209 5.92 2 +209 5.43 1.5 +209 1 0 +220 0 0 + + +209 1 0 +209 5.43 1.5 +209 5.92 2 +209 6.77 4 +209 6.64 6 +209 5.78 8 +209 4.52 10 +209 3.13 12 +209 2.04 14 +209 1.29 16 +209 0.98 18 +209 0.98 20 +209 1.17 22 +209 1.52 24 +209 2.02 26 +209 2.67 28 +209 2.67 28.8 + + +220 0 0 +220 2.14 0.3 +220 4.2 1.5 +220 4.71 2 +220 5.33 4 +220 5.08 6 +220 4.2 8 +220 2.98 10 +220 1.57 12 +220 0.58 14 +220 0 16 + + +231 0 0.0753333 +231 0 0.2 +231 0.94 0.3 +231 1.64 0.5 +231 2.6 1 +231 3.22 1.5 +231 3.61 2 +231 4.18 4 +231 3.78 6 +231 2.71 8 +231 1.29 10 +231 0 11.5652 + + +242 0 1.01 +242 0 1.15 +242 0.86 1.25 +242 1.5 1.5 +242 2.25 2 +242 2.75 2.5 +242 3.09 4 +242 2.49 6 +242 1.925 6.8 +242 1.175 7.5 +242 0 7.98 +242 0 8 + + +242 0 1.01 +243.4 0 1.5 +244.7 0 1.8 +244.7 0 2 +246 0 4 +245.2 0 6 + + diff --git a/gnuplot/bow.gnuplot b/gnuplot/bow.gnuplot @@ -0,0 +1,17 @@ +#!/usr/bin/gnuplot -d + +set terminal svg size 1920/8,1080/10 dynamic round font 'Times, 10' lw 0.5 +load 'gnuplot/style.gnuplot' +set size ratio -1 +unset border +unset xtics +unset ytics +set key outside right center Left reverse +#set style fill pattern border lc '#404040' + +set output 'build/bow.svg' +plot \ + 'gnuplot/bow.dat' index 0 using 1:3 with lines ls 1 lw 3 title 'Polygon', \ + for [i=1:1] '' index i using 1:3 with lines ls 2 dt 3 lw 3 title 'Frames', \ + for [i=2:4] '' index i using 1:3 with lines ls 2 dt 3 lw 3 notitle + diff --git a/main.tex b/main.tex @@ -124,20 +124,21 @@ In contrast to the main section, transformation of bow and aft sections is done in multiple stages. During the first stage we generate intermediate points between subsequent frames using the curve describing the ship hull shape in longitudinal plane. For that purpose we create a polygon in longitudinal plane -(fig.~\ref{fig:polygon}) that consists of all points of this curve, all points -of the frame that is the closest to the curve endpoints, but does not cross the -curve, and all endpoints of the frames that are between this frame and the -curve (it happens when first and last endpoint of the curve are close to -different frames). Frame points that lie outside this polygon are removed. -Polygon points that lie between subsequent frames become intermediate points. -At this stage we decompose a bow/aft section into a collection of -``rectangular'' patches vertical sides of which are curves created from -subsequent frames and horizontal sides of which are curves created from -intermediate points. +that consists of all points of this curve, all points of the frame that is the +closest to the curve endpoints, but does not cross the curve, and all endpoints +of the frames that are between this frame and the curve (it happens when first +and last endpoint of the curve are close to different frames). Frame points +that lie outside this polygon are removed. Polygon points that lie between +subsequent frames become intermediate points. At this stage we decompose a +bow/aft section into a collection of ``rectangular'' patches vertical sides of +which are curves created from subsequent frames and horizontal sides of which +are curves created from intermediate points (fig.~\ref{fig:bow}). \begin{figure} \centering - \caption{\label{fig:polygon}} + \includegraphics{build/bow.eps} + \caption{Longitudinal slice of bow section of a ship hull that shows + horizontal curves with large curvature.\label{fig:bow}} \end{figure} A patch that is defined by four curves is called Coons