commit 70565a8f3718d6d602145e46ef765ec7a3942550 (tree)
parent 06472316e0ef2e6fdf7d3a4f400373f6ed7a852d
Author: Motiejus Jakštys <desired.mta@gmail.com>
Date: Fri, 29 Nov 2019 00:46:31 +0200
lithuanian yes
Diffstat:
1 file changed, 32 insertions(+), 24 deletions(-)
diff --git a/Karto/assignment4/draw.py b/Karto/assignment4/draw.py
@@ -8,49 +8,57 @@ from descartes import PolygonPatch
from measure import *
-offset = namedtuple('offset', ['width', 'direction', 'dashes', 'color'])
-kelias = namedtuple('kelias', ['line', 'width', 'kat', 'dashes', 'color', 'offsets'])
+juosta = namedtuple('juosta', ['plotis', 'kryptis', 'dashes', 'spalva'])
+kelias = namedtuple('kelias', ['virsunes', 'plotis', 'kat', 'dashes', 'spalva', 'juostos'])
fig, ax = plt.subplots()
a08 = kelias(
- line=LineString([Points[i].xy for i in [1,2,3] ]),
- width=A08_plotis,
+ virsunes=[1,2,3],
+ plotis=A08_plotis,
kat=KAT1,
dashes=[10,3,2,3],
- color='red',
- offsets=(
- offset(L6+L5+L4, 'right', [100,20], 'lightgreen'),
- offset(L6+L5, 'right', [100,20], 'lightgreen'),
- offset(L6, 'right', [1,0], 'black'),
- offset(L7, 'left', [1,0], 'black'),
- offset(L7+L8, 'left', [100,20], 'lightgreen'),
- offset(L7+L8+L9, 'left', [100,20], 'lightgreen'),
+ spalva='red',
+ juostos=(
+ juosta(L6+L5+L4, 'right', (100,20), 'lightgreen'),
+ juosta(L6+L5, 'right', (100,20), 'lightgreen'),
+ juosta(L6, 'right', (1,0), 'black'),
+ juosta(L7, 'left', (1,0), 'black'),
+ juosta(L7+L8, 'left', (100,20), 'lightgreen'),
+ juosta(L7+L8+L9, 'left', (100,20), 'lightgreen'),
),
)
-for kelias in [a08]:
+a03 = kelias(
+ virsunes=[11,12,13,14,15,16,17,18],
+ plotis=A03_plotis,
+ kat=KAT3,
+ dashes=(1,0),
+ spalva='pink',
+ juostos=(
+ offset(L1, 'right', (100,20), 'pink'),
+ ),
+)
+
+
+
+for kelias in [a08, a03]:
# ašis
- ax.plot(*kelias.line.xy, linewidth=2, dashes=kelias.dashes, color=kelias.color, zorder=kelias.kat)
+ kelias_line = LineString([Points[i].xy for i in kelias.virsunes ])
+ ax.plot(*kelias_line.xy, linewidth=2, dashes=kelias.dashes, color=kelias.spalva, zorder=kelias.kat)
# offset'ai
- offset_multiplier = kelias.width/(kelias.offsets[0].width + kelias.offsets[-1].width)
+ offset_multiplier = kelias.plotis/(kelias.juostos[0].plotis + kelias.juostos[-1].plotis)
offset_lines = []
- for offset in kelias.offsets:
- l = kelias.line.parallel_offset(offset.width * offset_multiplier, offset.direction, join_style=2)
+ for offset in kelias.juostos:
+ l = kelias_line.parallel_offset(offset.plotis * offset_multiplier, offset.kryptis, join_style=2)
offset_lines.append(l)
- ax.plot(*l.xy, linewidth=.5, dashes=offset.dashes, color=offset.color, zorder=kelias.kat)
+ ax.plot(*l.xy, linewidth=.5, dashes=offset.dashes, color=offset.spalva, zorder=kelias.kat)
# kelio poligonas su plotu
kelias_poly = np.vstack((offset_lines[0].coords, offset_lines[-1].coords))
ax.add_patch(PolygonPatch(asPolygon(kelias_poly), fc='white', zorder=kelias.kat, linewidth=0))
-
-A03_l = LineString([Points[i].xy for i in [11,12,13,14,15,16,17,18] ])
-A03_offsetR = A03_l.parallel_offset(A03_plotis, 'right', join_style=2)
-ax.plot(*A03_l.xy, zorder=KAT3)
-ax.plot(*A03_offsetR.xy, dashes=[5,5], zorder=KAT3)
-
A05_l = LineString([Points[i].xy for i in [4,5,6,7,8,9,10] ])
A05_offsetL = A05_l.parallel_offset(L2, 'left', join_style=2)
A05_offsetR = A05_l.parallel_offset(L3, 'right', join_style=2)