Parses hand-drawn svg
This commit is contained in:
parent
dba6834bdc
commit
cf2ed00d53
76
05/coords.txt
Normal file
76
05/coords.txt
Normal file
@ -0,0 +1,76 @@
|
||||
M 80.107 136.864
|
||||
C 55.389 136.864 45.712 152.199 35.366 173.102
|
||||
C 31.485 180.943 26.276 192.676 28.383 201.859
|
||||
C 29.313 205.912 35.044 208.885 38.488 210.34
|
||||
C 44.787 213.001 53.26 215.24 60.179 213.559
|
||||
C 75.439 209.85 74.096 186.023 57.157 197.011
|
||||
C 53.128 199.624 53.735 208.69 53.516 212.661
|
||||
C 52.972 222.493 51.789 234.063 45.903 242.252
|
||||
C 43.972 244.94 39.789 252.466 35.524 251.004
|
||||
C 33.067 250.161 32.112 240.437 31.757 238.152
|
||||
C 29.112 221.142 38.923 211.834 54.762 207.567
|
||||
C 80.568 200.615 107.266 213.751 132.877 209.062
|
||||
C 139.784 207.797 156.015 198.581 152.121 188.782
|
||||
C 148.882 180.631 138.825 178.422 131.202 178.27
|
||||
C 109.961 177.849 99.403 194.069 98.935 214.063
|
||||
C 98.84 218.1 97.35 226.466 100.542 229.707
|
||||
C 104.274 233.495 122.191 239.186 127.115 235.05
|
||||
C 130.329 232.349 129.991 223.94 131.563 220.067
|
||||
C 135.912 209.351 140.683 201.272 151.333 195.545
|
||||
C 154.578 193.8 162.955 189.853 167.003 191.765
|
||||
C 170.932 193.62 168.564 216.244 168.34 220.087
|
||||
C 168.172 222.977 167.46 225.779 166.623 228.538
|
||||
C 166.274 229.685 165.7 233.06 165.367 231.909
|
||||
C 162.258 221.168 169.666 183.869 185.65 187.758
|
||||
C 192.813 189.501 200.467 210.032 199.18 216.768
|
||||
C 198.997 217.725 193.399 233.642 195.48 233.771
|
||||
C 206.723 234.472 217.675 219.621 223.253 211.674
|
||||
C 225.374 208.652 228.272 205.371 228.942 201.601
|
||||
C 229.26 199.811 230.783 194.843 229.552 196.181
|
||||
C 226.662 199.322 228.319 211.951 228.07 215.841
|
||||
C 227.218 229.149 221.626 254.611 243.482 252.599
|
||||
C 250.425 251.96 256.492 226.59 258.419 220.303
|
||||
C 259.444 216.962 259.013 213.223 259.013 209.769
|
||||
C 259.013 208.308 259.013 203.923 259.013 205.385
|
||||
C 259.013 212.755 259.013 220.125 259.013 227.495
|
||||
C 259.013 227.682 258.482 235.071 259.101 235.311
|
||||
C 262.858 236.77 265.728 229.044 266.774 227.047
|
||||
C 271.766 217.517 276.337 210.994 285.96 205.65
|
||||
C 291.222 202.727 296.709 200.674 302.366 198.68
|
||||
C 304.282 198.004 306.19 197.307 308.109 196.643
|
||||
C 309.329 196.22 313.135 195.622 311.845 195.622
|
||||
C 294.383 195.622 253.081 217.121 278.59 237.339
|
||||
C 285.417 242.75 302.926 224.633 305.459 219.325
|
||||
C 306.975 216.148 307.799 212.712 308.536 209.288
|
||||
C 308.945 207.384 308.868 201.507 308.868 203.454
|
||||
C 308.868 208.342 308.673 213.27 308.868 218.153
|
||||
C 308.99 221.217 309.207 222.44 309.753 225.471
|
||||
C 312.256 239.385 315.474 230.74 316.464 221.652
|
||||
C 317.306 213.922 316.596 192.85 327.989 194.092
|
||||
C 330.505 194.366 332.763 200.083 333.878 201.859
|
||||
C 339.202 210.342 341.458 218.744 340.089 228.803
|
||||
C 340.022 229.293 337.904 240.303 337.803 240.292
|
||||
C 336.033 240.112 337.597 236.735 337.348 234.972
|
||||
C 336.805 231.126 336.035 227.316 335.392 223.486
|
||||
C 335.292 222.89 330.653 199.952 334.649 198.337
|
||||
C 335.204 198.113 350.368 207.725 352.518 208.29
|
||||
C 356.435 209.319 362.282 210.397 366.335 209.304
|
||||
C 368.315 208.77 369.852 202.073 369.638 204.113
|
||||
C 367.917 220.513 351.273 236.492 376.017 239.263
|
||||
C 380.12 239.722 384.769 239.861 388.875 239.518
|
||||
C 403.542 238.292 414.11 224.33 418.308 211.454
|
||||
C 419.454 207.937 423.59 190.135 427.799 188.775
|
||||
C 429.242 188.309 427.301 191.768 427.04 193.263
|
||||
C 426.978 193.62 426.132 199.169 426.104 199.358
|
||||
C 424.999 206.931 423.79 214.45 422.501 221.998
|
||||
C 419.295 240.781 424.373 248.212 405.185 255.701
|
||||
C 402.127 256.895 398.175 258.172 394.974 258.842
|
||||
C 389.908 259.903 386.377 260.152 381.131 260.314
|
||||
C 357.429 261.046 337.825 254.86 314.815 252.444
|
||||
C 269.741 247.711 222.783 244.845 177.734 251.217
|
||||
C 159.647 253.775 141.35 262.09 130.533 277.55
|
||||
C 127.57 281.786 122.824 291.518 125.781 296.933
|
||||
C 129.493 303.729 141.105 303.258 147.469 302.408
|
||||
C 165.396 300.016 182.161 288.992 199.816 284.646
|
||||
C 243.881 273.8 294.734 275.575 339.915 275.575
|
||||
C 364.36 275.575 392.966 272.789 407.599 295.442
|
||||
31
05/genuary05.py
Executable file
31
05/genuary05.py
Executable file
@ -0,0 +1,31 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
COORDS = 'coords.txt'
|
||||
|
||||
def load_coords():
|
||||
data = []
|
||||
with open(COORDS, 'r') as cfh:
|
||||
for line in cfh:
|
||||
parts = line[:-1].split(" ")
|
||||
datum = { "command": parts[0] }
|
||||
datum["points"] = [ float(p) for p in parts[1:] ]
|
||||
data.append(datum)
|
||||
return data
|
||||
|
||||
def coords_string(coords):
|
||||
return " ".join([ coords["command"] ] + [ str(f) for f in coords["points"] ])
|
||||
|
||||
def coords_to_path(coords, r, g, b):
|
||||
d = " ".join([ coords_string(c) for c in coords ])
|
||||
svg = f'<path style="fill: none; stroke: rgb({r}, {g}, {b});"'
|
||||
svg += f' d="{d}" />\n'
|
||||
return svg
|
||||
|
||||
|
||||
data = load_coords()
|
||||
|
||||
print('<svg width="400" height="400" xmlns="http://www.w3.org/2000/svg">')
|
||||
|
||||
print(coords_to_path(data, 255, 0, 0))
|
||||
|
||||
print("</svg>")
|
||||
4
05/hand-drawn.svg
Normal file
4
05/hand-drawn.svg
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
|
||||
<path style="fill: none; stroke: rgb(0, 0, 0);" d="M 80.107 136.864 C 55.389 136.864 45.712 152.199 35.366 173.102 C 31.485 180.943 26.276 192.676 28.383 201.859 C 29.313 205.912 35.044 208.885 38.488 210.34 C 44.787 213.001 53.26 215.24 60.179 213.559 C 75.439 209.85 74.096 186.023 57.157 197.011 C 53.128 199.624 53.735 208.69 53.516 212.661 C 52.972 222.493 51.789 234.063 45.903 242.252 C 43.972 244.94 39.789 252.466 35.524 251.004 C 33.067 250.161 32.112 240.437 31.757 238.152 C 29.112 221.142 38.923 211.834 54.762 207.567 C 80.568 200.615 107.266 213.751 132.877 209.062 C 139.784 207.797 156.015 198.581 152.121 188.782 C 148.882 180.631 138.825 178.422 131.202 178.27 C 109.961 177.849 99.403 194.069 98.935 214.063 C 98.84 218.1 97.35 226.466 100.542 229.707 C 104.274 233.495 122.191 239.186 127.115 235.05 C 130.329 232.349 129.991 223.94 131.563 220.067 C 135.912 209.351 140.683 201.272 151.333 195.545 C 154.578 193.8 162.955 189.853 167.003 191.765 C 170.932 193.62 168.564 216.244 168.34 220.087 C 168.172 222.977 167.46 225.779 166.623 228.538 C 166.274 229.685 165.7 233.06 165.367 231.909 C 162.258 221.168 169.666 183.869 185.65 187.758 C 192.813 189.501 200.467 210.032 199.18 216.768 C 198.997 217.725 193.399 233.642 195.48 233.771 C 206.723 234.472 217.675 219.621 223.253 211.674 C 225.374 208.652 228.272 205.371 228.942 201.601 C 229.26 199.811 230.783 194.843 229.552 196.181 C 226.662 199.322 228.319 211.951 228.07 215.841 C 227.218 229.149 221.626 254.611 243.482 252.599 C 250.425 251.96 256.492 226.59 258.419 220.303 C 259.444 216.962 259.013 213.223 259.013 209.769 C 259.013 208.308 259.013 203.923 259.013 205.385 C 259.013 212.755 259.013 220.125 259.013 227.495 C 259.013 227.682 258.482 235.071 259.101 235.311 C 262.858 236.77 265.728 229.044 266.774 227.047 C 271.766 217.517 276.337 210.994 285.96 205.65 C 291.222 202.727 296.709 200.674 302.366 198.68 C 304.282 198.004 306.19 197.307 308.109 196.643 C 309.329 196.22 313.135 195.622 311.845 195.622 C 294.383 195.622 253.081 217.121 278.59 237.339 C 285.417 242.75 302.926 224.633 305.459 219.325 C 306.975 216.148 307.799 212.712 308.536 209.288 C 308.945 207.384 308.868 201.507 308.868 203.454 C 308.868 208.342 308.673 213.27 308.868 218.153 C 308.99 221.217 309.207 222.44 309.753 225.471 C 312.256 239.385 315.474 230.74 316.464 221.652 C 317.306 213.922 316.596 192.85 327.989 194.092 C 330.505 194.366 332.763 200.083 333.878 201.859 C 339.202 210.342 341.458 218.744 340.089 228.803 C 340.022 229.293 337.904 240.303 337.803 240.292 C 336.033 240.112 337.597 236.735 337.348 234.972 C 336.805 231.126 336.035 227.316 335.392 223.486 C 335.292 222.89 330.653 199.952 334.649 198.337 C 335.204 198.113 350.368 207.725 352.518 208.29 C 356.435 209.319 362.282 210.397 366.335 209.304 C 368.315 208.77 369.852 202.073 369.638 204.113 C 367.917 220.513 351.273 236.492 376.017 239.263 C 380.12 239.722 384.769 239.861 388.875 239.518 C 403.542 238.292 414.11 224.33 418.308 211.454 C 419.454 207.937 423.59 190.135 427.799 188.775 C 429.242 188.309 427.301 191.768 427.04 193.263 C 426.978 193.62 426.132 199.169 426.104 199.358 C 424.999 206.931 423.79 214.45 422.501 221.998 C 419.295 240.781 424.373 248.212 405.185 255.701 C 402.127 256.895 398.175 258.172 394.974 258.842 C 389.908 259.903 386.377 260.152 381.131 260.314 C 357.429 261.046 337.825 254.86 314.815 252.444 C 269.741 247.711 222.783 244.845 177.734 251.217 C 159.647 253.775 141.35 262.09 130.533 277.55 C 127.57 281.786 122.824 291.518 125.781 296.933 C 129.493 303.729 141.105 303.258 147.469 302.408 C 165.396 300.016 182.161 288.992 199.816 284.646 C 243.881 273.8 294.734 275.575 339.915 275.575 C 364.36 275.575 392.966 272.789 407.599 295.442"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
Loading…
x
Reference in New Issue
Block a user