Skip to content

Instantly share code, notes, and snippets.

@cocomoff
Created December 4, 2019 07:11
Show Gist options
  • Save cocomoff/3c4b6f8b941ff8b08f6527c08378f391 to your computer and use it in GitHub Desktop.
Save cocomoff/3c4b6f8b941ff8b08f6527c08378f391 to your computer and use it in GitHub Desktop.
example of module
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### モジュール定義"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"module DiscreteFrechet\n",
"\n",
"using Plots\n",
"\n",
"struct Point\n",
" x::Float16\n",
" y::Float16\n",
"end\n",
"export Point\n",
"\n",
"const Curve = Array{Point, 1}\n",
"export Curve\n",
"\n",
"function Base.show(io::IO, p::Point)\n",
" println(io, \"($(p.x), $(p.y))\")\n",
"end\n",
"\n",
"function Base.show(io::IO, curve::Curve)\n",
" for (ip, p) in enumerate(curve)\n",
" print(io, \"($(p.x), $(p.y))\")\n",
" ip < length(curve) && print(\"--\")\n",
" end\n",
" println(io)\n",
"end\n",
"\n",
"dist(p1::Point, p2::Point) = sqrt((p1.x - p2.x) ^ 2 + (p1.y - p2.y) ^ 2)\n",
"export dist\n",
"\n",
"\n",
"function plot_curve(lcurve; xlim=[0.0, 2.0], ylim=[0.0, 2.0])\n",
" p = plot(size=(500, 500), leg=false, xlims=xlim, ylims=ylim)\n",
" \n",
" for curve in lcurve\n",
" xs = [p.x for p in curve]\n",
" ys = [p.y for p in curve]\n",
"\n",
"\n",
" for i in 1:length(curve)-1\n",
" pi, pj = curve[i:i+1]\n",
" plot!([pi.x, pj.x], [pi.y, pj.y], alpha=0.3, lw=3, color=:black, z=0)\n",
" end\n",
"\n",
" plot!(xs, ys, seriestype=:scatter, color=:red, z=1)\n",
" end\n",
" \n",
" p\n",
"end\n",
"export plot_curve\n",
"\n",
"function plot_curve_with_alignment(c1, c2; xlim=[0.0, 2.0], ylim=[0.0, 2.0])\n",
" p = plot(size=(500, 500), leg=false, xlims=xlim, ylims=ylim)\n",
" \n",
" for curve in [c1, c2]\n",
" xs = [p.x for p in curve]\n",
" ys = [p.y for p in curve]\n",
"\n",
"\n",
" for i in 1:length(curve)-1\n",
" pi, pj = curve[i:i+1]\n",
" plot!([pi.x, pj.x], [pi.y, pj.y], alpha=0.3, lw=3, color=:black, z=0)\n",
" end\n",
"\n",
" plot!(xs, ys, seriestype=:scatter, color=:red, z=1)\n",
" end\n",
" \n",
" d, assign = dF(c1, c2)\n",
" println(assign)\n",
" \n",
" for (i, j) in assign\n",
" pi = c1[i]\n",
" pj = c2[j]\n",
" println(pi, \":\", pj)\n",
" plot!([pi.x, pj.x], [pi.y, pj.y], alpha=0.3, lw=1, color=:black, z=0)\n",
" end\n",
" \n",
" p\n",
"end\n",
"export plot_curve_with_alignment\n",
"\n",
"function dF(P, Q)\n",
" D = zeros(length(P), length(Q))\n",
" D .= -1\n",
" \n",
" # (1, 1)\n",
" D[1, 1] = dist(P[1], Q[1])\n",
" \n",
" # 1-column\n",
" for i in 2:length(P)\n",
" D[i, 1] = max(D[i - 1, 1], dist(P[i], Q[1])) \n",
" end\n",
" \n",
" # 1-row\n",
" for j in 2:length(Q)\n",
" D[1, j] = max(D[1, j - 1], dist(P[1], Q[j]))\n",
" end\n",
" \n",
" # (i, j)\n",
" for i in 2:length(P), j in 2:length(Q)\n",
" D[i, j] = max(\n",
" min(D[i - 1, j], D[i - 1, j - 1], D[i, j - 1]),\n",
" dist(P[i], Q[j])\n",
" )\n",
" end\n",
" \n",
" # backtracking\n",
" list = Tuple{Int, Int}[(length(P), length(Q))]\n",
" while true\n",
" cur = list[end]\n",
" up = (cur[1], cur[2] - 1)\n",
" left = (cur[1] - 1, cur[2])\n",
" upleft = (cur[1] - 1, cur[2] - 1) \n",
" selected = nothing\n",
" selected_value = Inf\n",
" for p in [up, left, upleft]\n",
" if 1 <= p[1] <= length(P) && 1 <= p[2] <= length(Q)\n",
" if D[p[1], p[2]] < selected_value\n",
" selected_value = D[p[1], p[2]]\n",
" selected = p\n",
" end\n",
" end\n",
" end\n",
" push!(list, selected)\n",
" selected == (1, 1) && break\n",
" end\n",
"\n",
" # display(D)\n",
" D[length(P), length(Q)], list\n",
"end\n",
"export dF\n",
"\n",
"\n",
"end\n",
"\n",
"using Main.DiscreteFrechet"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0.5, 1.5)--(0.7, 1.5)--(1.0, 1.8)\n",
"\n",
"1.0\n",
"1.414\n"
]
}
],
"source": [
"p1 = Point(0.5, 1.5)\n",
"p2 = Point(0.7, 1.5)\n",
"p3 = Point(1.0, 1.8)\n",
"curve = [p1, p2, p3]\n",
"curve2 = [Point(0.3, 1.2), Point(0.5, 1.0), Point(0.9, 1.1), Point(1.1, 1.5)]\n",
"println(curve)\n",
"\n",
"p1 = Point(0.0, 0.0)\n",
"p2 = Point(0.0, 1.0)\n",
"p3 = Point(1.0, 1.0)\n",
"println(dist(p1, p2))\n",
"println(dist(p1, p3))"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"500\" height=\"500\" viewBox=\"0 0 2000 2000\">\n",
"<defs>\n",
" <clipPath id=\"clip9100\">\n",
" <rect x=\"0\" y=\"0\" width=\"2000\" height=\"2000\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip9100)\" d=\"\n",
"M0 2000 L2000 2000 L2000 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip9101\">\n",
" <rect x=\"400\" y=\"200\" width=\"1401\" height=\"1401\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip9100)\" d=\"\n",
"M149.898 1866.71 L1952.76 1866.71 L1952.76 47.2441 L149.898 47.2441 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip9102\">\n",
" <rect x=\"149\" y=\"47\" width=\"1804\" height=\"1820\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 200.922,1866.71 200.922,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 626.125,1866.71 626.125,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1051.33,1866.71 1051.33,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1476.53,1866.71 1476.53,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1901.73,1866.71 1901.73,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,1815.21 1952.76,1815.21 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,1386.1 1952.76,1386.1 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,956.976 1952.76,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,527.857 1952.76,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,98.7384 1952.76,98.7384 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1866.71 1952.76,1866.71 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1866.71 149.898,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 200.922,1866.71 200.922,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 626.125,1866.71 626.125,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1051.33,1866.71 1051.33,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1476.53,1866.71 1476.53,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1901.73,1866.71 1901.73,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1815.21 176.941,1815.21 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1386.1 176.941,1386.1 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,956.976 176.941,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,527.857 176.941,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9100)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,98.7384 176.941,98.7384 \n",
" \"/>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 200.922, 1918.71)\" x=\"200.922\" y=\"1918.71\">0.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 626.125, 1918.71)\" x=\"626.125\" y=\"1918.71\">0.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1051.33, 1918.71)\" x=\"1051.33\" y=\"1918.71\">1.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1476.53, 1918.71)\" x=\"1476.53\" y=\"1918.71\">1.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1901.73, 1918.71)\" x=\"1901.73\" y=\"1918.71\">2.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 1832.71)\" x=\"129.898\" y=\"1832.71\">0.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 1403.6)\" x=\"129.898\" y=\"1403.6\">0.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 974.476)\" x=\"129.898\" y=\"974.476\">1.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 545.357)\" x=\"129.898\" y=\"545.357\">1.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9100)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 116.238)\" x=\"129.898\" y=\"116.238\">2.0</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,527.857 796.372,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 796.372,527.857 1051.33,270.554 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"527.857\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"796.372\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"796.372\" cy=\"527.857\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"1051.33\" cy=\"270.554\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"1051.33\" cy=\"270.554\" r=\"14\"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 456.085,785.161 626.125,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,956.976 966.203,871.488 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9102)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 966.203,871.488 1136.04,527.857 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"456.085\" cy=\"785.161\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"456.085\" cy=\"785.161\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"956.976\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"956.976\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"966.203\" cy=\"871.488\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"966.203\" cy=\"871.488\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"1136.04\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9102)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"1136.04\" cy=\"527.857\" r=\"14\"/>\n",
"</svg>\n"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fig = plot_curve([curve, curve2])\n",
"fig"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Frechet 例題"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(2.0, Tuple{Int64,Int64}[(3, 3), (2, 2), (2, 1), (1, 1)])\n"
]
}
],
"source": [
"P = [Point(1, 1), Point(2, 1), Point(2, 2)]\n",
"Q = [Point(2, 2), Point(0, 1), Point(2, 4)]\n",
"println(dF(P, Q))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(0.0, Tuple{Int64,Int64}[(3, 3), (2, 2), (1, 1)])\n"
]
}
],
"source": [
"P = [Point(1, 1), Point(2, 1), Point(2, 2)]\n",
"Q = [Point(1, 1), Point(2, 1), Point(2, 2)]\n",
"println(dF(P, Q))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### alignment"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tuple{Int64,Int64}[(3, 4), (2, 4), (2, 3), (1, 2), (1, 1)]\n",
"(1.0, 1.8)\n",
":(1.1, 1.5)\n",
"\n",
"(0.7, 1.5)\n",
":(1.1, 1.5)\n",
"\n",
"(0.7, 1.5)\n",
":(0.9, 1.1)\n",
"\n",
"(0.5, 1.5)\n",
":(0.5, 1.0)\n",
"\n",
"(0.5, 1.5)\n",
":(0.3, 1.2)\n",
"\n"
]
},
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n",
"<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"500\" height=\"500\" viewBox=\"0 0 2000 2000\">\n",
"<defs>\n",
" <clipPath id=\"clip9500\">\n",
" <rect x=\"0\" y=\"0\" width=\"2000\" height=\"2000\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip9500)\" d=\"\n",
"M0 2000 L2000 2000 L2000 0 L0 0 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip9501\">\n",
" <rect x=\"400\" y=\"200\" width=\"1401\" height=\"1401\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<path clip-path=\"url(#clip9500)\" d=\"\n",
"M149.898 1866.71 L1952.76 1866.71 L1952.76 47.2441 L149.898 47.2441 Z\n",
" \" fill=\"#ffffff\" fill-rule=\"evenodd\" fill-opacity=\"1\"/>\n",
"<defs>\n",
" <clipPath id=\"clip9502\">\n",
" <rect x=\"149\" y=\"47\" width=\"1804\" height=\"1820\"/>\n",
" </clipPath>\n",
"</defs>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 200.922,1866.71 200.922,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 626.125,1866.71 626.125,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1051.33,1866.71 1051.33,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1476.53,1866.71 1476.53,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 1901.73,1866.71 1901.73,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,1815.21 1952.76,1815.21 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,1386.1 1952.76,1386.1 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,956.976 1952.76,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,527.857 1952.76,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:2; stroke-opacity:0.1; fill:none\" points=\"\n",
" 149.898,98.7384 1952.76,98.7384 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1866.71 1952.76,1866.71 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1866.71 149.898,47.2441 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 200.922,1866.71 200.922,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 626.125,1866.71 626.125,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1051.33,1866.71 1051.33,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1476.53,1866.71 1476.53,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 1901.73,1866.71 1901.73,1839.42 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1815.21 176.941,1815.21 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,1386.1 176.941,1386.1 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,956.976 176.941,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,527.857 176.941,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9500)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:1; fill:none\" points=\"\n",
" 149.898,98.7384 176.941,98.7384 \n",
" \"/>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 200.922, 1918.71)\" x=\"200.922\" y=\"1918.71\">0.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 626.125, 1918.71)\" x=\"626.125\" y=\"1918.71\">0.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1051.33, 1918.71)\" x=\"1051.33\" y=\"1918.71\">1.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1476.53, 1918.71)\" x=\"1476.53\" y=\"1918.71\">1.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:middle;\" transform=\"rotate(0, 1901.73, 1918.71)\" x=\"1901.73\" y=\"1918.71\">2.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 1832.71)\" x=\"129.898\" y=\"1832.71\">0.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 1403.6)\" x=\"129.898\" y=\"1403.6\">0.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 974.476)\" x=\"129.898\" y=\"974.476\">1.0</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 545.357)\" x=\"129.898\" y=\"545.357\">1.5</text>\n",
"</g>\n",
"<g clip-path=\"url(#clip9500)\">\n",
"<text style=\"fill:#000000; fill-opacity:1; font-family:Arial,Helvetica Neue,Helvetica,sans-serif; font-size:48px; text-anchor:end;\" transform=\"rotate(0, 129.898, 116.238)\" x=\"129.898\" y=\"116.238\">2.0</text>\n",
"</g>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,527.857 796.372,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 796.372,527.857 1051.33,270.554 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"527.857\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"796.372\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"796.372\" cy=\"527.857\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"1051.33\" cy=\"270.554\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"1051.33\" cy=\"270.554\" r=\"14\"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 456.085,785.161 626.125,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,956.976 966.203,871.488 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:12; stroke-opacity:0.3; fill:none\" points=\"\n",
" 966.203,871.488 1136.04,527.857 \n",
" \"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"456.085\" cy=\"785.161\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"456.085\" cy=\"785.161\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"956.976\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"626.125\" cy=\"956.976\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"966.203\" cy=\"871.488\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"966.203\" cy=\"871.488\" r=\"14\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#000000; stroke:none; fill-opacity:1\" cx=\"1136.04\" cy=\"527.857\" r=\"18\"/>\n",
"<circle clip-path=\"url(#clip9502)\" style=\"fill:#ff0000; stroke:none; fill-opacity:1\" cx=\"1136.04\" cy=\"527.857\" r=\"14\"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:0.3; fill:none\" points=\"\n",
" 1051.33,270.554 1136.04,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:0.3; fill:none\" points=\"\n",
" 796.372,527.857 1136.04,527.857 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:0.3; fill:none\" points=\"\n",
" 796.372,527.857 966.203,871.488 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,527.857 626.125,956.976 \n",
" \"/>\n",
"<polyline clip-path=\"url(#clip9502)\" style=\"stroke:#000000; stroke-width:4; stroke-opacity:0.3; fill:none\" points=\"\n",
" 626.125,527.857 456.085,785.161 \n",
" \"/>\n",
"</svg>\n"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot_curve_with_alignment(curve, curve2)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Julia 1.1.0",
"language": "julia",
"name": "julia-1.1"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "1.1.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment