{ "cells": [ { "cell_type": "code", "execution_count": 8, "id": "charming-vegetable", "metadata": {}, "outputs": [], "source": [ "using PyPlot" ] }, { "cell_type": "markdown", "id": "inside-theorem", "metadata": {}, "source": [ "## Points/Lines in 2D" ] }, { "cell_type": "code", "execution_count": 2, "id": "cultural-electron", "metadata": {}, "outputs": [ { "data": { "image/png": "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e7taW1sVCASsx0kY7M07ducNe/OO3XnD3qL1/tzu/Tk+mISIkba2NklSKBQyngQAAMSqra1NmZmZg37e574pV+JAT0+Pjh8/rnHjxsnn85nO0traqlAopE8++UQZGRmmsyQS9uYdu/OGvXnH7rxhb9Gcc2pra9Nll12mpKTBrwxJiDMjSUlJuvzyy63H6CcjI4NvNg/Ym3fszhv25h2784a99fd1Z0R6cQErAAAwRYwAAABT/oceeugh6yESjd/v1w9+8AONGZMQz3LFDfbmHbvzhr15x+68YW/eJMQFrAAAYOTiaRoAAGCKGAEAAKaIEQAAYIoYAQAApoiRAVRWVio3N1epqanKz8/Xnj17vvb2L7zwgq666iqlpKToqquu0osvvjhMk8aXWPZWVVWl+fPna/z48Ro/frwWLFigd955ZxinjS+xfs/1eu655+Tz+XTrrbde5AnjU6x7+/zzz1VSUqJgMKjU1FTNmDFDNTU1wzRt/Ih1b9u3b9eVV16ptLQ0hUIhrV27Vl988cUwTRs//v3vf2vx4sW67LLL5PP59Ne//vUb7/P6668rPz9fqampmjp1qv7whz8Mw6QJyKGf5557zgUCAVdVVeUOHjzoVq9e7caOHes+/vjjAW9fX1/v/H6/Ky8vd4cOHXLl5eVuzJgx7u233x7myW3Furc777zTPf74427fvn3u0KFD7he/+IXLzMx0//nPf4Z5cnux7q5XQ0ODy8nJcfPnz3e33HLLME0bP2LdW0dHh5s1a5b78Y9/7N544w3X0NDg9uzZ4/bv3z/Mk9uKdW9PP/20S0lJcc8884z76KOP3Msvv+yCwaBbs2bNME9ur6amxq1fv9698MILTpJ78cUXv/b2x44dc+np6W716tXu4MGDrqqqygUCAff8888P08SJgxj5imuvvdatWrWq37Hp06e7srKyAW9/2223uR/96Ef9jt10003u9ttvv2gzxqNY9/ZVXV1dbty4ce5Pf/rTxRgvrnnZXVdXl5s7d6578skn3fLly0dljMS6tx07dripU6e6zs7O4RgvbsW6t5KSEvfDH/6w37HS0lI3b968izZjIhhKjPzmN79x06dP73fsl7/8pfv+979/MUdLSDxN8yWdnZ3au3evCgsL+x0vLCxUfX39gPd56623om5/0003DXr7kcjL3r6qvb1dkUhEl1566cUYMW553d3mzZs1YcIErVix4mKPGJe87O2ll15SQUGBSkpKlJ2drby8PJWXl6u7u3s4Ro4LXvY2b9487d27t+9p1GPHjqmmpkY/+clPLvq8iW6wnw/vvfeeIpGI0VTxibeI+5KWlhZ1d3crOzu73/Hs7Gw1NzcPeJ/m5uaYbj8SednbV5WVlSknJ0cLFiy4GCPGLS+7e/PNN7Vr1y7t379/OEaMS172duzYMb366qu66667VFNTow8//FAlJSXq6urSgw8+OBxjm/Oyt9tvv12fffaZ5s2bJ+ecurq6dO+996qsrGw4Rk5og/186OrqUktLi4LBoNFk8YcYGYDP5+v3sXMu6tj53H6k8rqHRx99VM8++6zq6uqUmpp6scaLa0PdXVtbm+6++25VVVUpKytruMaLW7F8z/X09GjixInauXOn/H6/8vPzdfz4cW3dunXUxEivWPZWV1enLVu2qLKyUtddd52OHDmi1atXKxgMasOGDcMxbkIbaNcDHR/tiJEvycrKkt/vj/o/hBMnTkTVba/vfOc7Md1+JPKyt16PPfaYysvL9corr+jqq6++mGPGpVh3d/ToUTU0NGjx4sV9x3p6eiRJY8aM0QcffKBp06Zd3KHjgJfvuWAwqEAgIL/f33dsxowZam5uVmdnp5KTky/qzPHAy942bNigpUuXauXKlZKkmTNn6vTp07rnnnu0fv16JSXxbP9gBvv5MGbMGH372982mio+8V30JcnJycrPz1c4HO53PBwOa86cOQPep6CgIOr2tbW1g95+JPKyN0naunWrfvvb3+qf//ynZs2adbHHjEux7m769Ok6cOCA9u/f3/fn5ptv1o033qj9+/crFAoN1+imvHzPzZ07V0eOHOmLN0k6fPiwgsHgqAgRydve2tvbo4LD7/fLnX0BxEWbdSQY7OfDrFmzFAgEjKaKU1ZXzsar3pe97dq1yx08eNCtWbPGjR071jU0NDjnnFu6dGm/q87ffPNN5/f73SOPPOIOHTrkHnnkkVH90t6h7u13v/udS05Ods8//7xramrq+9PW1mb1JZiJdXdfNVpfTRPr3hobG90ll1zifvWrX7kPPvjA/f3vf3cTJ050Dz/8sNWXYCLWvW3cuNGNGzfOPfvss+7YsWOutrbWTZs2zd12221WX4KZtrY2t2/fPrdv3z4nyW3bts3t27ev72XRZWVlbunSpX23731p79q1a93Bgwfdrl27eGnvIIiRATz++ONu8uTJLjk52X3ve99zr7/+et/nbrjhBrd8+fJ+t//LX/7irrzyShcIBNz06dPdCy+8MMwTx4dY9jZ58mQnKerPxo0bh3/wOBDr99yXjdYYcS72vdXX17vrrrvOpaSkuKlTp7otW7a4rq6uYZ7aXix7i0Qi7qGHHnLTpk1zqampLhQKueLiYve///3PYHJbr7322oD/3erd1/Lly90NN9zQ7z51dXXummuuccnJyW7KlClux44dwz94AvA5x3k2AABgh2tGAACAKWIEAACYIkev2VUAAAA8SURBVEYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmPr/cJNiY5ZGRFcAAAAASUVORK5CYII=", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = rand(10,2)\n", "plot( p[:,1], p[:,2], \".\")#Marker type is important\n", "axis(\"equal\"); grid(true);" ] }, { "cell_type": "code", "execution_count": 3, "id": "infinite-reading", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot( p[:,1], p[:,2], \"o-\")#Marker type is important\n", "axis(\"equal\"); grid(true);" ] }, { "cell_type": "code", "execution_count": 4, "id": "linear-replication", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "clockwise_oriented (generic function with 1 method)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function clockwise_oriented(p1, p2, p3)\n", " # Return true if the line-segment between points p1,p2 is clockwise\n", " # oriented to the line-segment between points p1,p3\n", " cross = (p3[2] - p1[2]) * (p2[1] - p1[1]) - (p3[1] - p1[1]) * (p2[2] - p1[2])\n", " return cross > 0\n", "end" ] }, { "cell_type": "code", "execution_count": 5, "id": "functioning-multimedia", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "convex_hull (generic function with 1 method)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function convex_hull(p)\n", " # Find the nodes on the convex hull of the point array p using\n", " # the Jarvis march (gift wrapping) algorithm\n", "\n", " _, pointOnHull = findmin(first.(p)) # Start at left-most point\n", " hull = [pointOnHull] # Output: Vector of node indices on the convex hull\n", " \n", " while length(hull) ≤ 1 || hull[1] != hull[end] # Loop until closed polygon\n", " nextPoint = hull[end] % length(p) + 1 # First candidate, any point except current\n", " for j = 1:length(p) # Consider all other points\n", " if clockwise_oriented(p[hull[end]], p[nextPoint], p[j]) # If \"more to the left\", switch\n", " nextPoint = j\n", " end\n", " end\n", " push!(hull, nextPoint) # Update current point\n", " end\n", " return hull\n", "end" ] }, { "cell_type": "code", "execution_count": 6, "id": "experienced-personal", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = [ randn(2) for i = 1:10 ]\n", "hull = convex_hull(p)\n", "plot(first.(p), last.(p), \".\")\n", "plot(first.(p[hull]), last.(p[hull]))\n", "axis(\"equal\"); grid(true);" ] }, { "cell_type": "markdown", "id": "respiratory-density", "metadata": {}, "source": [ "The way to understand the convex hull intuitively is this - imagine stretching a rubber band around a bunch of pins at the location of the points. The convex hull is the shape the rubber band will end up taking." ] }, { "cell_type": "markdown", "id": "comparable-ratio", "metadata": {}, "source": [ "A shape whose convex hull is equal to itself is convex (there are loads of definitions of convexity). This is actually a very important feature for many applciations (optimisation, solution of numerical PDEs, rendering, ...)." ] }, { "cell_type": "markdown", "id": "gothic-assistant", "metadata": {}, "source": [ "## Interpolation\n", "\n", "Why is this a bad idea? I stole/adapted the code from https://www.matecdev.com/posts/julia-interpolation.html" ] }, { "cell_type": "code", "execution_count": 1, "id": "abstract-agenda", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LagrangeInterp1D (generic function with 1 method)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function LagrangeInterp1D( fvals, xnodes, barw, t )\n", " numt = 0\n", " denomt = 0\n", "\n", " for j = 1 : length( xnodes )\n", " tdiff = t - xnodes[j]\n", " numt = numt + barw[j] / tdiff * fvals[j]\n", " denomt = denomt + barw[j] / tdiff\n", "\n", " if ( abs(tdiff) < 1e-15 )\n", " numt = fvals[j]\n", " denomt = 1.0\n", " break\n", " end\n", " end\n", "\n", " return numt / denomt\n", "\n", "end" ] }, { "cell_type": "code", "execution_count": 5, "id": "coordinated-equipment", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "EquispacedBarWeights (generic function with 1 method)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Equispaced points\n", "EquispacedNodes(n) = [2*(j/n-0.5) for j=0:n]\n", "EquispacedBarWeights(n) = [ (-1)^j * binomial(n,j) for j=0:n ]" ] }, { "cell_type": "code", "execution_count": 6, "id": "moving-review", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "f (generic function with 1 method)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "f(x) = 1/(1 + 16*x^2)" ] }, { "cell_type": "code", "execution_count": 11, "id": "overall-freedom", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "PyObject " ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sampling\n", "n = 15;\n", "xnodes = EquispacedNodes(n);\n", "w = EquispacedBarWeights(n);\n", "f_sample = f.(xnodes);\n", "\n", "# Interpolation\n", "t = LinRange(-1,1,100)\n", "f_interp = [LagrangeInterp1D( f_sample, xnodes, w, t[j] ) for j=1:length(t)]\n", "plot(t,f.(t), label=\"Exact\")\n", "plot(t,f_interp, label=\"Interp\")\n", "legend();" ] }, { "cell_type": "markdown", "id": "settled-arrow", "metadata": {}, "source": [ "This is called Runge's phenomenon, whereby high order interpolatory polynomials can oscillate wildly even though they are meant to be higher order accurate approximations of a function." ] }, { "cell_type": "markdown", "id": "black-turner", "metadata": {}, "source": [ "## Bezier Curves" ] }, { "cell_type": "markdown", "id": "middle-stuart", "metadata": {}, "source": [ "Bezier curves are an example of a parametric curve used to approximate a shape smoothly using polynomials. They were introduced for construction of cars in fact and are the basis of a lot of types of curves used in real practical applications. \n", "\n", "In your homework you will explore a version of this known as a cubic spline to draw a car.\n", "\n", "Here is a demo of sort of how Bezier curves work:" ] }, { "cell_type": "code", "execution_count": 7, "id": "functional-junction", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "eval_bezier (generic function with 1 method)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function eval_bezier(ctrlpts, x)\n", " #ctrlpts: control points\n", " #x: value at which to evaluate\n", " n = length(ctrlpts)-1\n", " val = [0.0,0.0]\n", " for i = 0:n\n", " val += binomial(n, i) * (1-x)^(n-i) * x^i * ctrlpts[i+1]\n", " end\n", " \n", " return val\n", "end" ] }, { "cell_type": "code", "execution_count": 8, "id": "remarkable-neighborhood", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "quad_demo (generic function with 1 method)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function quad_demo()\n", " #Things to set\n", " t = 0.4 #Parameter at which to evaluate\n", " nsmooth = 30; #Smoothness of graph\n", " #Control points\n", " ctrlpt0 = [0,0]\n", " ctrlpt1 = [1,1]\n", " ctrlpt2 = [1.2,0.4]\n", " \n", " ctrlpts = [ctrlpt0, ctrlpt1, ctrlpt2]\n", " \n", " \"\"\"DON'T TOUCH BELOW HERE\"\"\"\n", " \n", " #Bezier part, evaluate Bezier Curve\n", " xvals = LinRange(0,1,nsmooth)\n", " xxvals = []\n", " yyvals = []\n", " for x in xvals\n", " vals = eval_bezier(ctrlpts, x)\n", " push!( xxvals, vals[1] )\n", " push!( yyvals, vals[2] )\n", " end\n", " #Plot graph\n", " plot( xxvals, yyvals )\n", " \n", " #Plot control points and control polygon\n", " for i in 1:length(ctrlpts)-1\n", " plot( [ctrlpts[i][1], ctrlpts[i+1][1]],[ctrlpts[i][2], ctrlpts[i+1][2]],\"k.-\" )\n", " end\n", " \n", " #DeCasteljau Algorithm\n", " ptA = ctrlpt0 + t * (ctrlpt1 - ctrlpt0)\n", " ptB = ctrlpt1 + t * (ctrlpt2 - ctrlpt1)\n", " plot(ptA[1], ptA[2], \"ro\")\n", " plot(ptB[1], ptB[2], \"ro\")\n", " plot([ptA[1], ptB[1]],[ptA[2], ptB[2]],\"r-\")\n", " ptC = ptA + t * (ptB - ptA)\n", " plot(ptC[1], ptC[2], \"ro\")\n", " \n", "end" ] }, { "cell_type": "markdown", "id": "arbitrary-sacramento", "metadata": {}, "source": [ "Bezier curves and other spline based curves define a control polygon, shown in black below, of the shape you roughly want your final product to look like. It may/may not depending on user preference be interpolatory, and just guides the shape of your curve." ] }, { "cell_type": "code", "execution_count": 9, "id": "fuzzy-cheat", "metadata": {}, "outputs": [ { "data": { "image/png": "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RGzM6jASExPD2bNnmThxIidOnKBJkyasWbOGmjVrApCcnJxrPkbLli1ZvHgxL774IuPGjaNu3bosWbKEFi1aFNy7EBERkRLL6n1GbKEw9hkRERGRwlUo+4yIiIiIFDSFEREREbEphRERERGxKYURERERsSmFEREREbEphRERERGxKYURERERsSmFEREREbEphRERERGxKau3g7eFa5vEpqam2rgSERERyatr39t32uy9RISRtLQ0APz9/W1ciYiIiFgrLS0Nd3f3W/68RNybxmKxcPz4cSpUqICdnV2BPW9qair+/v4cOXJE97y5A/WVddRfeae+yjv1Vd6pr/KuMPvKMAzS0tKoXr16rpvoXq9EXBmxt7fHz8+v0J6/YsWK+mXNI/WVddRfeae+yjv1Vd6pr/KusPrqdldErtEEVhEREbEphRERERGxKdOECRMm2LoIWzKZTDzwwAM4OJSIESubUl9ZR/2Vd+qrvFNf5Z36Ku9s3VclYgKriIiIlF4aphERERGbUhgRERERm1IYEREREZtSGBERERGbKvVhJC4ujtq1a+Pi4kJQUBCJiYm3bb98+XICAgJwdnYmICCAlStXFlGltmdNX82fP582bdrg4eGBh4cHHTp0YNu2bUVYre1Z+7t1zeLFi7GzsyM6OrqQKyw+rO2rCxcuMGTIEKpVq4aLiwuNGjVizZo1RVStbVnbV7NmzaJBgwaUK1cOf39/RowYQXp6ehFVazvffPMNkZGRVK9eHTs7O1atWnXHczZt2kRQUBAuLi7UqVOHt99+uwgqtT1r+2rFihV07NiRKlWqULFiRUJCQli3bl3hFmmUYosXLzYcHR2N+fPnG3v27DGGDRtmuLq6GocPH75p+y1bthgmk8mYPHmy8dtvvxmTJ082HBwcjO+++66IKy961vbV448/bsyZM8fYsWOH8dtvvxn9+vUz3N3djaNHjxZx5bZhbX9dk5SUZPj6+hpt2rQxoqKiiqha27K2r65evWoEBwcbnTp1Mr799lsjKSnJSExMNHbu3FnElRc9a/vqww8/NJydnY1FixYZhw4dMtatW2dUq1bNGD58eBFXXvTWrFljjB071li+fLkBGCtXrrxt+4MHDxrly5c3hg0bZuzZs8eYP3++4ejoaCxbtqyIKrYda/tq2LBhxtSpU41t27YZf/zxhzFmzBjD0dHR+Omn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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "quad_demo();" ] }, { "cell_type": "markdown", "id": "transparent-plymouth", "metadata": {}, "source": [ "So you see that the first red point is $t$ along the first line, the second red point is $t$ along the second line, and the middle red point is $t$ along the line connecting the first two points. This is exactly how Bezier curves are defined.\n", "\n", "Bezier curves are the building blocks for something called B-Splines (basis splines) which form a basis for the spline functions used in practice. You will be implementing in your hw a cubic spline (probably the most common one used).\n", "\n", "The example below shows a cubic Bezier curve, which is similar to the cubic spline you will be doing but slightly different. (The cubic spline is interpolatory for one)" ] }, { "cell_type": "code", "execution_count": 10, "id": "hollow-drain", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "cubic_demo (generic function with 1 method)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function cubic_demo()\n", " #Things to set\n", " t = 0.7 #Parameter at which to evaluate\n", " nsmooth = 30; #Smoothness of graph\n", " #Control points\n", " ctrlpt0 = [0,0]\n", " ctrlpt1 = [4,1]\n", " ctrlpt2 = [9,1]\n", " ctrlpt3 = [3,4]\n", " \n", " ctrlpts = [ctrlpt0, ctrlpt1, ctrlpt2, ctrlpt3]\n", " \n", " \"\"\"DON'T TOUCH BELOW HERE\"\"\"\n", " \n", " #Bezier part, evaluate Bezier Curve\n", " xvals = LinRange(0,1,nsmooth)\n", " xxvals = []\n", " yyvals = []\n", " for x in xvals\n", " val = eval_bezier(ctrlpts, x)\n", " push!( xxvals, val[1] )\n", " push!( yyvals, val[2] )\n", " end\n", " #Plot graph\n", " plot( xxvals, yyvals )\n", " \n", " #Plot control points and control polygon\n", " for i = 1:length(ctrlpts)-1\n", " plot([ctrlpts[i][1], ctrlpts[i+1][1]],[ctrlpts[i][2], ctrlpts[i+1][2]],\"k.-\")\n", " end\n", " \n", " #DeCasteljau Algorithm\n", " ptA = ctrlpt0 + t * (ctrlpt1 - ctrlpt0)\n", " ptB = ctrlpt1 + t * (ctrlpt2 - ctrlpt1)\n", " plot(ptA[1], ptA[2], \"ro\")\n", " plot(ptB[1], ptB[2], \"ro\")\n", " ptC = ctrlpt2 + t * (ctrlpt3 - ctrlpt2)\n", " plot(ptC[1], ptC[2], \"ro\")\n", " ptD = ptA + t * (ptB - ptA)\n", " ptE = ptB + t * (ptC - ptB)\n", " plot(ptD[1], ptD[2], \"go\")\n", " plot(ptE[1], ptE[2], \"go\")\n", " ptF = ptD + t * (ptE - ptD)\n", " plot(ptF[1], ptF[2], \"go\")\n", " \n", " plot([ptA[1], ptB[1]],[ptA[2], ptB[2]],\"r-\")\n", " plot([ptB[1], ptC[1]],[ptB[2], ptC[2]],\"r-\")\n", " plot([ptD[1], ptE[1]],[ptD[2], ptE[2]],\"g-\")\n", " \n", "end" ] }, { "cell_type": "code", "execution_count": 11, "id": "educated-think", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cubic_demo();" ] }, { "cell_type": "markdown", "id": "important-nomination", "metadata": {}, "source": [ "## Splines\n", "\n", "Splines are piecewise polynomial representations of curves such that they can approximate a shape well but do not oscillate like polynomial interpolants. " ] }, { "cell_type": "code", "execution_count": 12, "id": "available-peoples", "metadata": {}, "outputs": [], "source": [ "using Dierckx" ] }, { "cell_type": "markdown", "id": "republican-worthy", "metadata": {}, "source": [ "For demo purposes I'm using a package, derivation of these splines can be found on wikipedia or wolfram. Or you can just come and ask me (they can actually be very efficient derived from the Bezier curves above)" ] }, { "cell_type": "code", "execution_count": 13, "id": "specified-stephen", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Spline1D(knots=[-1.0,-0.733333 … 0.733333,1.0] (14 elements), k=3, extrapolation=\"nearest\", residual=0.0)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "spl = Spline1D(xnodes, f_sample)" ] }, { "cell_type": "code", "execution_count": 18, "id": "blond-consent", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "xeval = LinRange(xnodes[1], xnodes[end], 100)\n", "yeval = [spl(x) for x in xeval]\n", "plot( xeval, yeval );\n", "plot(t,f.(t), label=\"Interp\");" ] }, { "cell_type": "markdown", "id": "excellent-twelve", "metadata": {}, "source": [ "So we see that this actually does it much better without any oscillations. This is because the spline is composed of low degree polynomials so cannot oscillate as much." ] }, { "cell_type": "markdown", "id": "encouraging-penalty", "metadata": {}, "source": [ "## Delaunay Triangulation" ] }, { "cell_type": "code", "execution_count": 16, "id": "personalized-crest", "metadata": {}, "outputs": [], "source": [ "using PyCall" ] }, { "cell_type": "markdown", "id": "mighty-connection", "metadata": {}, "source": [ "In 2D, geometry becomes more complex, and to discretise, you need to define \"elements.\" For example this can be by triangulating your domain - one famous method that is pretty much guaranteed to work (remarkably) is the Delaunay triangulation.\n", "\n", "Some interesting properties of Delaunay:\n", "1) The circles around each 3 points forming a triangle do not contain circumcentre of any other triangle\n", "\n", "2) The minimum angle is maximised\n", "\n", "3) Guaranteed to terminate (this is very important - otherwise it could infinite loop or something)" ] }, { "cell_type": "code", "execution_count": 13, "id": "breeding-morocco", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "delaunay (generic function with 1 method)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function delaunay(p)\n", " tri = pyimport(\"matplotlib.tri\")\n", " t = tri[:Triangulation](p[:,1], p[:,2])\n", " return Int64.(t[:triangles] .+ 1)\n", "end" ] }, { "cell_type": "code", "execution_count": 14, "id": "false-design", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "tplot (generic function with 2 methods)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function tplot(p, t, u=nothing)\n", " clf()\n", " axis(\"equal\")\n", " if u == nothing\n", " tripcolor(p[:,1], p[:,2], Array(t .- 1), 0*t[:,1],\n", " cmap=\"Set3\", edgecolors=\"k\", linewidth=1)\n", " else\n", " tricontourf(p[:,1], p[:,2], Array(t .- 1), u[:], 20)\n", " end\n", " draw()\n", "end" ] }, { "cell_type": "code", "execution_count": 15, "id": "ignored-setup", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "p = randn(10,2)*2\n", "t = delaunay(p)\n", "tplot(p,t)\n", "plot(p[:,1], p[:,2], \".\", markersize=18), axis(\"equal\");" ] }, { "cell_type": "code", "execution_count": 16, "id": "precise-bible", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiIAAAGdCAYAAAAvwBgXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dfWyV9f3/8fdpkYLQVpGAI1RlOO9GnAiGYLzB6XDMGHWJ0cS4adRfUDAS/phBE0Wj6RJ1M3GBybaIG1HMbmRbok6STTQxLKASnYsm6Fz7teJA8Zy2IS205/cHntJzet2f63N7PR/J+aOn55zr0tLrevX9/ryvq1StVqsCAABgQIvpHQAAAMVFEAEAAMYQRAAAgDEEEQAAYAxBBAAAGEMQAQAAxhBEAACAMQQRAABgzCTTOxBldHRU+vr6pL29XUqlkundAQAACVSrVenv75c5c+ZIS0t0zcPqINLX1yddXV2mdwMAAGTQ29src+fOjXyN1UGkvb1dRI7+h3R0dBjeG6A4rjv5/9V9/eK+TYb2BICLKpWKdHV1jZ3Ho1gdRGrtmI6ODoIIoNGk0uS6r6//xmr52+BvDe0NAFclWVbBYlUAda6c9qNUzwNAMwgiABIjjADIG0EEQCqEEQB5IogAGEPIAKAbQQRAagQWAHkhiAAQkfThgjACIA/agkh3d7eUSiVZs2aNrk0CUIwwAqBZWoLIrl27ZNOmTXLuuefq2ByAlKICRcuMEzO/FwDiKA8iAwMDctNNN8mvfvUrOfHE6AMaADsRRgCoojyIrFq1Sq666iq54oorYl87NDQklUql7gHAnLgAAgDNUhpEtm7dKm+//bZ0d3cnen13d7d0dnaOPbjhHaBe0moGVREAKigLIr29vXLPPffIli1bZMqUKYnes27dOimXy2OP3t5eVbsHQAHCCIC0StVqtarig7dt2ybXXXedtLa2jj03MjIipVJJWlpaZGhoqO57QSqVinR2dkq5XOamd4ACWRapjn55MPZzuUEeUGxpzt/K7r57+eWXy3vvvVf33K233ipnnXWW3HvvvbEhBIC7rpz2I8IIgESUBZH29nZZsGBB3XPTpk2Tk046acLzAPTL2kZpmXFioqoIYQRAElxZFUBqTNMAyIuyikiQ1157TefmAISIq4bkFTSoigCIQ0UEQCZJwwqTNACiEEQAxKqe2C7VE9szv58wAiAMQQQomDzbMmleSxgBEIQgAiCxZqoiIoQRABMRRIACUREE0i5sJYwAGI8gAiBSYxUkqCrCOC+ArAgiQEEkqUToChRURQDUEEQApJZHVYQwAkCEIAIUQtaTftTi1GYXrooQRgAQRAB8LY+2TJbPIIwAxUYQAZBZHlUREcIIUGQEEcBzuk/yTNAASIMgAiBQULVjpGNqotfRogGQFEEE8FjSk3ua4BAURvJCGAGKhyACIJGoAJLnRc4II0CxEEQATzVzQo9bhJq0RZMVYQQoDoIIUHAqF5c289mEEaAYCCKAh3ScxFVXRQAUA0EEQKyw9SFJFq5SFQEQhSACoE6zVY28qyKEEcBvBBHAM2lO3HmsD1FdFREhjAA+I4gAiJTluiF5jvPWEEYAPxFEAI80e7LO2lbRtXCVMAL4hyACFFQzFYrhzuO0bxOAnwgigCd0VQvCQghVEQBZEEQAhIpaHxIUSHQsXBUhjAA+IYgAEBF1FyNT9bmEEcAPBBHAA2lPynmt1TBZFREhjAA+IIgACBQUKIKCR5KFqyrGeWsII4DbCCKA4/I4EefdPsly7ZFmEEYAdxFEgIJRMUJruioCwF0EEcBhOisBaa8dovvuvFRFADcRRABMkKW1YnrhqghhBHARQQRwVJaTbtBJX2WVIojq7RFGALcQRADECp6WaU30Ot1VERHCCOASggiAOmnaMknDSCMdC1cJI4AbCCKAg/I6yepqy+ge5wXgDoIIUBB5VhzGV0KoigBoBkEEcIzuk2uSUBEURhrpHuetIYwAdiOIABiTZwsl7XVHalRc5IwwAtiLIAI4JOsJVcfYrs1VERHCCGArpUFk48aNcu6550pHR4d0dHTI0qVL5eWXX1a5SQA5Sjq2m+b9JsZ5awgjgH2UBpG5c+fKT3/6U9m9e7fs3r1bvvvd78o111wj77//vsrNAl5SfRLNoy1j88JVAHZSGkSuvvpq+cEPfiBnnHGGnHHGGfLoo4/K9OnTZefOnSo3CyCG7qupNjI5zktVBLCLtjUiIyMjsnXrVhkcHJSlS5cGvmZoaEgqlUrdA0BzVI3tpnmNbVURwghgD+VB5L333pPp06dLW1ubrFy5Ul588UU555xzAl/b3d0tnZ2dY4+uri7Vuwc4wcSJM+nUy1D7xMOI7QtXRQgjgC2UB5EzzzxT9uzZIzt37pQ777xTfvzjH8u///3vwNeuW7dOyuXy2KO3t1f17gEQPa0Sm8Z5awgjgHmlarVa1bnBK664QubPny9PP/107GsrlYp0dnZKuVyWjo4ODXsH2KeZk2XSsd2gIJJkYmZ8NaStf3TC6yeXRxq+PjzhNa2VQxOeKx3sr/t69MuDE16Tp78N/lbp5wNFk+b8rf06ItVqVYaGhnRvFkAKWcZ2g1o0ST7X5DhvDZURwJxJKj/8vvvukxUrVkhXV5f09/fL1q1b5bXXXpNXXnlF5WYBb+g4Qapsywx3tk6oiiRRPbF9QlWkZcaJyisjAPRTWhH5/PPP5eabb5YzzzxTLr/8cvnnP/8pr7zyinzve99TuVkAIfJcDBpUAVFZFVGNqghghtKKyG9+8xuVHw8ggu6x3aj3NlZFhjuPC1wvMp6JqsiV037EehFAM+41A1jK1F/oWadbalwd562hMgLoRRABCsxkS8TGcd4awgigD0EEsFCzJ0LVd9uNWwvielVEhDAC6EIQATCm2bvtjufyOC8AfQgigGV0/SVuoi2TNdSYujsvVRFAPYIIUACq2zKHpx99JHltI1vHeWsII4BaBBHAInmc9EyO7QaFkSSfadvdeRsRRgB1CCIARKT5sd0wSaoiQWxauCpCGAFUIYgAnkt6k7usGqsgKqsiQXQuXCWMAPkjiACWcKEtk7W64cM4LwA1CCIAcm/L6F64SlUEcBdBBLCAzpObyrZMWnmO8+pEGAHyQxABPKbzaqqNfK6KiBBGgLwQRADD8jqh2XK33fF8HeetIYwAzSOIAAWnamw3jC/jvDWEEaA5BBHAIJUnMd1ju828ztVxXgDNI4gAHrBlbDfsUu9JPs/lcV6qIkB2BBGgwPJsy0QFkKzTNa4sXBUhjABZEUQAQ3SfuHS2ZVRWRYLYUBURIYwAWRBEAA+ZHNsN4/s4bw1hBEiHIAIYkOfJysaxXZHg4OH7OG8NYQRIjiACFJSu9SFx8hzntQlhBEiGIAJopvoEZcvYbthri1IVAZAMQQRwmC1ju1GKOM5bQ1UEiEcQAQrIdFumCOO8NYQRIBpBBNDIxEnJhrvtFnWct4YwAoQjiAAesXFsN0xRxnlrCCNAMIIIoEneJyJbx3aPTK/KkenVCc9nb8f4s3CVMAJMRBABPBZUKdC1PiQojCR5v6/jvACCEUQADXT8Jay6LdPMtUKiPqNo47xURYB6BBHAQTa3ZaK+Fin2OG8NYQQ4hiACKGbTScf02G7en5X1v8d0VUTErn8XgEkEEcBTNoztilAViUIYAQgigBdsH9tVuXDV1XHeGsIIio4gAiik4iTjyvqQOIzzAhAhiABeMjm2G4Zx3nBURVBkBBFAEV0nFxfGdsMwznsMYQRFRRABHOJ6WyZt+6amCAtXRQgjKCaCCKCAbScUE22ZI9NH5cj00UyfV8Rx3hrb/u0AqhFEAM/YMrYbhnHeeIQRFAlBBMiZzpOIrWO74yshQVURxnkB1CgNIt3d3XLBBRdIe3u7zJo1S6699lr58MMPVW4S8Jbr60Pi5DnOm4TNC1dFqIqgOJQGkR07dsiqVatk586dsn37djly5IgsX75cBgcHVW4WKCwbx3ZF3KmK2IYwgiIoVavVfP6cSWD//v0ya9Ys2bFjh1xyySWxr69UKtLZ2Snlclk6Ojo07CHQHJUnjsa/1oP+ok8aRBqrCEnHdoOeCwoUYYtUJw20NHxdmvCa4wYmvq/xubb+iZ8/uTwS8Nzhuq9bK4cmvKZ0sH/Cc6NfHpy4Ewb9bfC3pncBSCXN+VvrGpFyuSwiIjNmzAj8/tDQkFQqlboHALfaMkkmZaLen0SRFq6KUBmB37QFkWq1KmvXrpWLLrpIFixYEPia7u5u6ezsHHt0dXXp2j2gaTaeLGxoy4zHOG92Nv77AvKgLYisXr1a3n33XXn++edDX7Nu3Topl8tjj97eXl27BzjP9rHdMIzzJkcYgY8m6djI3XffLX/5y1/k9ddfl7lz54a+rq2tTdra2nTsEpAr3ScIF8Z2o17TuFYkicPTJ64VGWpvCVwvMt5w53ET1oqMdEwNXC8yXsuME61bKwL4SGlFpFqtyurVq+VPf/qT/P3vf5d58+ap3BzgJZfWh+T5WYzzBqMqAt8oDSKrVq2SLVu2yHPPPSft7e2yb98+2bdvnxw6FP2XCOASG04Mto7tiojI9CMTnmKctzk2/JsD8qI0iGzcuFHK5bIsW7ZMvvGNb4w9XnjhBZWbBbzm1N12ayEkYRhJsi9FvTtvI8IIfKG8NRP0uOWWW1RuFvCGS22ZNGO7aT43iazrXJIuXCWMAOpwrxmgCbaeCKxpy4znSFUkDGEEUIMgAjjO2rHdgOAR+FwDm8d5bQ0jgMsIIkBGqv8SDTrpuTy2m/d7TS1ctTGMUBWBywgigGeS3FumGU2P7SqsigTJc5y3hjAC5IcgAmRgy0FfdVtG1xVWGefNhy3/LoE0CCKAI5xqy8RVPRJURYLYMM5bY2NVRIQwAvcQRAALuTS2m99nZ6uKBFE9zltDGAGaRxABUrL5IG/l2G4Yx8d5a2wNI4ArCCKAo1wa2506fUimTh9K9NpGNo/z1tgYRmwOzMB4BBEgBR0H96KM7eb9mdmnavJZuEoYAbIhiACesH5sV8SZqkiQPMOgToQR2I4gAiRk0wHdpbHdxvARGEYauDrOa2NVRMSuf7tAI4IIYDmn2jIZx3J9GOetIYwA6RBEgAR0HcSLMrarsioSJM9x3iQII0ByBBHAA7aO7SYJHGMcGedNWqGyNYwAtiGIAI5xaWw3SqqQMo4L47w1NoYRqiKwDUEEiGGyLePU+pA8ZKyKBDE9zmszwghsQhABHOfC2G6YIozz2lgVESGMwB4EESCCbQdrl8d2m3mdq+O8NYQRIBxBBLCUU22ZhOtDTph2KNlGchznTUL1wlURwggQhiAChNB5gC7C2G4thASFERurIkGarUjZGkYAkwgigMNcHdtNVBnxbJy3xsYwQlUEJhFEgAA2Hph9GdsNU4Rx3hrCCHAMQQQwLM+x3aATqa1juyqrIkHyHOf1FWEEJhBEAEepbsuoWB8Sx5VxXl+rIiKEEehHEAEa2Hggdqktk6bFkniKpoHr47w1hBGAIAJYx6mxXQWyVkWC2DzOW2NrGAF0IYgA4+j+S7BIY7tpvl+Ucd4aG8MIVRHoQhABHOTq2G6YIo/z1hBGUFQEEeBrNhx0g05iLq0PyVOe47xJmFy4ajMbfi/gN4IIYIjqtoyt60NOntYvJ0/rn/C8jVWRICrHeW2siogQRqAWQQRwjC9ju0FhpFGRxnlrCCMoGoIIIPYeZF1qy2RtpYxX9HHeGlvDCKACQQSwRBHGdhurICqrIkHyHOdNopmfqY1hxNbADrcRRFB4Jg6ujO2me5+N47yqqyIihBEUA0EEcIhvY7siyaoigTwf57UZYQR5Ioig0Gw5oDK2Wy9rVSSI6+O8NlZFROz53YH7CCKAZkUe203zPcZ5jyGMwGcEERSWawdRX8Z2wzDOG40wAl8RRAALudSWyWNsN0ye47xJ2LxwVcTeMAI0gyACGFbEsd1mXqe7KhLExDhvjY1hhKoImqE0iLz++uty9dVXy5w5c6RUKsm2bdtUbg5IzNSBk7HdY+ZO/UrmTv0q0+cVdZzXZoQRZKU0iAwODsp3vvMd+cUvfqFyM4D3fBzbDcM4bzwbqyIihBFkozSIrFixQh555BH54Q9/qHIzQCo2HSyLOrY7vhKisioSJM9x3iRU3Z2XMAJfWLVGZGhoSCqVSt0D8AVju829x8Zx3qxVkbwQRuADq4JId3e3dHZ2jj26urpM7xI84+IB0vexXZFkVZEgRR7nrbE1jABJWRVE1q1bJ+VyeezR29trepcArVxqy2RtjSQNHZmrIgF8HeetsTGMuBj6YYZVQaStrU06OjrqHkBebDswMrZbLyigMM6bHGEErrIqiAC+Ymw3GcZ5/UMYQRylQWRgYED27Nkje/bsERGR//znP7Jnzx7p6elRuVnASUEnqSKN7YbJc5w3CRfHeWtsrIqIEEYQTWkQ2b17tyxcuFAWLlwoIiJr166VhQsXygMPPKBys8AEth0IVbdlXBjbbeY1uqsiQWwb560hjMA1k1R++LJly6Raza/0C7jIpbaM6bHdqM/aN1h/sj5h2iH5ajCm1TH9iMhA/WHuyPRRmTQQHSIOTxc5biD+uUbDna0yuTzS8NxxMrl8OPqNOWuZcaKMfnlQ6zaBrFgjAu+5+peYS22ZZtaHnDr1wITnGOdtno2VEVd/F6EWQQSwgEtju1kFhYtaCAkKI41sHedNwtTCVcIIXEAQgddsPOgxtpuMK+O8WasiQfKuitjKxt9LmEMQARRyaX1IVnmM7Yokq4ok3T7jvMfYWBURIYzgGIIIYFhRx3aTBI+sVZFABRznrSGMwGYEEXjLxoMcY7vRsi5c9W2cVwVbwwhAEAEUcaktY9P6EKULVx25O6+qtSI2hhEb/2CAXgQReMnlg5tLbZm81ofEyXWcNwEfx3lrCCOwDUEEMKjoY7thbKyKBHFtnNdmhJHiIojAO7Ye0BjbbQ7jvPmxsSoiYu/vLtQiiAAKuLQ+JCvVbRnGedUijMAWBBF4xaWDGGO7x3xz8v/km5P/F/teW8d5k7Bt4aoIYQR2IIgAGjC2m40r47xZqyJBdK8VsTWMoDgIIkDOXGrL2LY+JElVJOm2GedNzsYwQlWkOAgi8IbrBy6X2jJ5rg+JCx/K786bgM/jvDWEEZhCEAEMYGw3XFAwKeI4L44ijPiPIAIv2HywYmw3PZULV10Z56UqcozNv99oHkEEyJFL60Oy0tmWGS/Pcd4kijbOW0MYgW4EETjPtQMUY7vJ2FgVCeLTOG+NrWEEfiKIAArZOrYb2JaxaGw3DOO8+tgYRlz7owPJEETgNJsOTEVty6i8rDvjvMF0VEVECCPQgyACGFbUtkzWkGHrOG8SLi1ctRlhxC8EEUCjoo7tJnXacV9MeM6Vcd6sVZEgNo3z2lgVESGM+IQgAmfZdCAKOlgztptOLYQEhZEkGOdVhzAClQgigEFBf/m6tD4kq7RtmaxVkSCM82ZjaxiB+wgicJKLfwmpbsu4tD4kTtIWTSPfxnmT0LlWxMYw4uKxAPUIIoACTrVlLFkf0ihJi8b3cV7bqiIihBHkjyAC59h20GFst3lJ14XkOc6bCOO8zrDtuIDkCCKAIYztxrOxKhKkaOO8NlZFRAgjriKIwCmuHmgY280P47x2IIwgLwQRoAmM7TYvrurBOG8w01UREcII8kEQAQxgbDf/z7FhnDcJnxauitgbRuAOggic4epfOYztNs+Vcd6sVZEgLozz1tgYRlw9XhQRQQTIkVNtGUvXh3xzUlW+OWniCd3GhauM8x5DGEFWBBE4wcYDCmO7zcu6/qOmiOO8SMfGYwfqEUQAzRjbTcaVqkiQPMd547RW6ve7dDC/oJiWjVUREcKI7QgisJ7LBxHGdtNpDB9BYWTCexwe523U1p/fZBPquXwc8R1BBMiAsd3mZW3L5DnOm0SeC1fTmlweafj6cN3XjdUQwEUEEUAjxnYzvNfGqkgCkwZKuXyOS0a/PGh6FyJRFbETQQRWc/nAwdiuOlaM86Z03ED0141tmcZqiO1sDyE1Lh9TfEUQAXLgVFvGkfUhSb8XJevC1UaHBtrqnxiYlGl/mkFbBr7SEkQ2bNgg8+bNkylTpsiiRYvkjTfe0LFZOM7Wv1wY221es2O7YZ+R15Vb05o00NLwdX1bprH64RtXqiEiIn8b/K3pXUAD5UHkhRdekDVr1sj9998v77zzjlx88cWyYsUK6enpUb1pwCqM7TYn6zhvo/87dELd1/sG66tZXw2qv0CYb20ZoBnKg8jPfvYzue222+T222+Xs88+W5588knp6uqSjRs3qt40HGZrNSRIUFuGsd10srZedIhryzRWQ1SwuS1DNQTNUvobNDw8LG+99ZYsX7687vnly5fLm2++OeH1Q0NDUqlU6h6ATVS3ZRjbTeeTwyfVff3x8Ky6r/97aGZu20oqri3je5sGSEtpEDlw4ICMjIzI7Nmz656fPXu27Nu3b8Lru7u7pbOzc+zR1dWlcvdgKZeqIUmpbsv4OLargg1tmUZxbZnGaohNqIYgD1oWq5ZK9X8hVKvVCc+JiKxbt07K5fLYo7e3V8fuAblyqS3j0tjux0fqjxmN1RAVbGjLNLKpLQPkQekM2syZM6W1tXVC9eN///vfhCqJiEhbW5u0tbVNeB6wlVNjuxkFtWV0rw9pDCGBr4lpyzRWQ1QoUluGagjyojTOT548WRYtWiTbt2+ve3779u1y4YUXqtw0HGVzW6aoY7tZBbVlgtaHxIWMJCEki7i2zIRqiAJp2zJUQ9IjhNhP+VV51q5dKzfffLMsXrxYli5dKps2bZKenh5ZuXKl6k0DVijq2G4ewkJI3CJVJWLaMkW6pLtL1RDYT3kQueGGG+SLL76Qhx9+WD777DNZsGCBvPTSS3Lqqaeq3jQcY3M1JAhju/n5+EiprkUTVQVJsjYkri3TWA1RIe0l3fNQOpjfdFMYl0II1RA3aLlO8V133SV33XWXjk0BSjC2q14tjDQbQrKIbctouKS7S9MyQJ703zABCOBaNSQpxnbTSdqKqXuPjrZMg6Je0p1qCFQgiAA5caktY2p9yCeHT0p9QbOwEBIWQGxoyzTiku5AOO6+C+NcrIYwtqtH2hCShQ1tmUY2tmWohkAVKiJADMZ285WkKpKlFaPrcu5FbcsAqlARARQp8thuXMUiKmhEVUHShhAbLumeti1DNaQ5VEPcQ0UERvnSlnFpfUhWqtsyWRekJg0hSdh4SXckRwhxE79VQATGdrNLUxXJ2orJM4RkUYRLurtUDYGbqIjAGBerIUkVZWz3v4dmRk7NfDw8K3KUV2cVxMVLuiM5qiHuoiICNMmltkye60NUUh1CEuGS7lRDoAVBBEa4Wg1hbHeiuGmVtKO2ebZi9g22a7tuiIlLuqvkUgihGuI2WjNACMZ28xPXoqm9JkyeVZCgSRkdbZlGtGWAo6iIADnzcWw3bvFns9fwyHtBapoQEqjgbRmqIdCJIALtfGrLuLQ+pFnNhpGwsJHlAmVZWjFhISSPaohvbRlAJ1ozQADGdtUz2YqpCQwhBu60m0RrRU8bjWoIdCOIQCtXqyFJuT62u2+wPTKM/N+hE2IXrsaN80bJUgURyTGEBOCS7nYihPiD1gyQkUttmTTrQ+KmTFStF9HZigkNITlUQ1y+065L1RD4g4oItHG5GlKEsV2TjLZiREIDCJd0txPVEL/wWwY0KMLYbhxdVZG8rw2SZwgJ4vMl3amGwBSCCLRwuRoSJKgt4+PYbpRmw0jWVkyYPFsxkwZacqmGuNKWcSmEUA3xD60ZIIbqtoypsd2vBqdGXtAsbuFqM2xtxYiEt2N8v3YIYAoVEWAcl9oyeawPibvAV94tGl2tmKwLUtOEEF/aMlRDYBpBBMr51pYJYmtbxga14KGzFRMqQysmayXElbYMYBpBBEjJpbFdkfjrZaiuiohEt2LShpCvBqemDyEDk1JPxkwaKIWGEFerH42ohsAGBBEo5Xo1xJexXRvCSNL32NqKqQkKIVzSXS1CiN9YrAp8zaX1IS7LsiBVJP9WTBgVVRAb2zIuVUPgNyoiUMb1akgQq8d2Y66HYUNVJOtUjK2tmOMG/GnT2IpqiP8IIkAIp8Z2c6IyjJhuxWRdkBoVQoK40JahGgKb0JqBEq5VQ1xqy0SuDxmYFHktkUMDbcoucBZG683qNLVi8g4hk8uHM73Pd1RDioGKCNAEE22Z2Ct+WtSi0XqBMsOtGBcqISJUQ2AfKiJAQtaO7RoQd9VVHxekRn3PlRDiEqohxUFFBLlzrS0TxNax3RrTVZGscl2QKmI8hLT1jxJCgCYRRFB4tq4PaZrhFk3S19OKQSOqIcVCawa58qEaEsTGsd1JAy253G9GtSK2Ymy8bogrCCHFQ0UEaGDT2G7cfU5Mt2jiqiKmrw1y9Ht6WjGTyyNjDwDJEUSQGxerId62ZVJQFUZyb8WEMN2KIXzkh2pIMdGaATLIsy0TZ9JAKfIy77Etmphri+TNt1ZMVBuGAAI0jyCCXLhYDUlKx9jucQPRLRvVYSTuQmdfDU6VE6YdCv1+XItGVxXk6PcIIS6iGlJcBBFgHNvHdk2KCyNR7wtj8o65Uc+LRLdiXMXFzGAjv46UQAq2rQ+Ju3ma6YWrWZi+V0zUmo+sC1KRP6ohxUYQQdOK1pbRuT6kkekwkvRCZzbfMTfqe7RiAP1ozQBf09GWiVsLEvd9F+S5IFWEVozvqIZAaUXk0UcflQsvvFCOP/54OeGE8HtPwF2uVkNMtmXiWjC2t2iiqiJ5T8XQigH8pzSIDA8Py/XXXy933nmnys0A2phsy6ShO4zY3IrJepl2Qoh6VEMgorg189BDD4mIyObNm1VuBoa4Wg1Jqpmx3bb+0cipmWZbNHHjvDrRikEWhBDUWLVGZGhoSIaGjl3LoFKpGNwb+CqoLZPn+pAa02FEx7VFot4bud0ARbw2yOTyYa3bA2xk1dRMd3e3dHZ2jj26urpM7xIwJqgt4+pl3ccoGOmlFRNucvlw3aOoqIZgvNRBZP369VIqlSIfu3fvzrQz69atk3K5PPbo7e3N9M5NKWIAAA91SURBVDlQj7bMUXEnr7i7tBpfuJojXdcGEcm/FaMyhBA8gGipWzOrV6+WG2+8MfI1p512WqadaWtrk7a2/C+qBERR0ZZJw/UWTe01kZ8fsl9hXG7FEDiiUQ1Bo9RBZObMmTJz5kwV+wJHuFwNyXNst2ZyeSSyRRO3VsQFUWGEy7QTPoBmKF2s2tPTI19++aX09PTIyMiI7NmzR0RETj/9dJk+3fGrNgHjNBtGbK+KBLG5CiKiNoQQPLKhGoIgSoPIAw88IM8+++zY1wsXLhQRkX/84x+ybNkylZuGIi5XQ5LK8267eTIdRsZXRWwOIapaMYQPQA2lQWTz5s1cQwTWaHZsd3L5cOQFzVRXRWxQpGuDEDzyRTUEYdxuXEOrIlRD4sSdnJyfookZ5037Pl2XaRfJJ4S4POFSOthvehdCEUIQxaoLmgFontb1IhmqIEe/Z08rxsXQAfiEIILCCmvLtFYORa4TMd2isaaF42grhuChF9UQxKE1g0Rcb8uoGNuN4n2LxtE75hJCAPsQRIAArZVDkd/34YSWKYxkuEz70e+ZbcW4uu6jJu7fo62ohiAJgghiuV4NCRO3uK/ZMGJ7VSS1jK0YHfeKibpMu4sBpLVyqO4B+Iw1IvCe7rZMGk5c6CyCzVWQo99zJ4T4FjiohiApgggi+VoNqSkd7I+8lojqhasuy3NBatT3srZibOdb8ACyojWDwit6iybLHXrznoopSiumKO0WqiFIg4oIQvlSDRn98qDV7ZkkjLdoxr0uahth+xbG9yqI74EjCCEEaVERQSGMfnkw8vu2V0VsYHpBqogbIaQoVQ8gLwQRICHTYcRki8aGC5TZGkKYcDmGagiyoDWDQL60ZcaLa9HELVx1Qd4tGloxwYoeOIA8URFBobjeoomreuSJVswxVD3iUQ1BVgQRTOBjNUQn02EkjxYNrRjWegC60JpB4TTboom7togL4lo0Ye8J4ksrhsCRHdUQNIOKCOoUpRrie4smzxaOz5dpp+oBmEdFBDAk7qqrpi//XntN2GdHbTeM6Tvm+hY44gKzDlRD0CyCCApLdYsm7vLvtvOlFeNT+LAheIxHCEEeCCIYU5S2TBqm70Vjoiqic0FqmGZCiE/BQ8S+8AHkjSCCQnPh8u86w4irrRjCh35UQ5AXgghEpNjVENMtGhvu0OviHXN9Ch8uBA9AFaZmICL8ddMsX6dobJqK8e2iYqWD/WMP13C8QJ6oiADix+Xfm23RNL427feyVEGOfi88hPgQOGpcDByADlREgK+5fm2RvOhsxYT9P6HqYS+qIcgbQQRjOMCoZ3uLxnQrxvUAMj54+BQ+AJUIIsA4qqsiNggKFFFBIyqA5DkV48L/uyBFCh78sQIVCCJAA9dbNGkXptrSinFFUasehBCoQhBBHQ42epgOI7UKCK2YZIoYPABdmJoBAhT5Dr26rg1icwDxLXDEVfni8AcKVKIiggk46BxVxBZNkUOIT1WP0S8P1j0Am1ERASym+l40418XtY2wfQvjwloQHwLHeKoCB3+YQDWCCBDB9OXfdShSFcSn8EGlA76gNYNA/BWUnKstmiK0YnybcNHdbuE4AB2oiAAxfLxDr8+tGB8CRw1VDxQBQQRIwHSLJs879PpWBfEpeIjYEz6ohkAXWjMIxYEoXza0aHTdMVd1CPG13WJLCAF0oiICJOTDHXqDuNCK8SFwjGd74OCPEOhEEAFSsL1FE7dWpPG1UdsJ278weYcQn8KH7cFjPEIIdKM1g0gclPRT3aKJeo3Jy7Qz4QIUExURICXXL/9uUyvGh8Axnuuhgz88YIKyisgnn3wit912m8ybN0+mTp0q8+fPlwcffFCGh4dVbRLQxsXLv7f1j6YOISrumOtr1YMQAmSjrCLywQcfyOjoqDz99NNy+umny7/+9S+54447ZHBwUB5//HFVm4UCfxv8rVw57UemdwMN0qwXMVkF8SFwjOd64KgheMAWpWq1WtW1sccee0w2btwoH3/8caLXVyoV6ezslHK5LB0dHYr3DlEIIsHiLnQWN0UT16KJu/x7M9cWURlCfAofvgQPEcIH9Elz/ta6RqRcLsuMGTNCvz80NCRDQ0NjX1cqFR27hQSoigSzfYom6n1h2wsTFUJ8Ch4i/oQPggdcoC2IfPTRR/LUU0/JE088Efqa7u5ueeihh3TtElA4eVdBfAkgvgQPEcIH3JO6NbN+/frYsLBr1y5ZvHjx2Nd9fX1y6aWXyqWXXiq//vWvQ98XVBHp6uqiNWMJKiLhXGjREELq+RI+CB6wUZrWTOogcuDAATlw4EDka0477TSZMmWKiBwNIZdddpksWbJENm/eLC0tyQd1WCNiH8JIsCQ3xTMZRvJsxbgaQHwJHiKED9hP6RqRmTNnysyZMxO99tNPP5XLLrtMFi1aJM8880yqEAK4xNY79Ba9CuJL+CB4wGfK1oj09fXJsmXL5JRTTpHHH39c9u/fP/a9k08+WdVmAWNsW7haxAWpvgQPEcIHikNZEHn11Vdl7969snfvXpk7d27d9zRODCNnTM+olUcYieJjK8aX8EHwQFFpvY5IWqwRsRNBJJrphathfGnF+BI8RAgf8Je11xEBisB0iybo9VHbCttHmxA+AH8RRJAa7RnzkoYRV0MIwQMoDoIIoIANd+h1rRVD+ACKiSACKGKqReNKFYTgAUCEIIKMaM/YyfYQQvgA0IggAiiksypiYyuG4AEgDkEEmVEVSUZHGIl6b9g2VSF8AEiDIAJ4SmcI8SV8EDwA/QgigAY6p2h0tGJ8CR4ihA/ANIIImkJ7Jj95hBGVVRBfwgfBA7ALQQTQROUdelVUQXwJHiKED8BmBBFAIxUtmjxDCOEDgG4EETSN9oxe48NIs60YggcA0wgigGbNVkVEmquCED4A2IQgAhiQRxgJe1/Y9nxA8AD8QxBBLmjPmBVVBXE9hBA+AL8RRABD8qqK+FYFIXgAxUIQAQxqNoz4EkIIH0BxEUSQG9oz+rjeiiF4AKghiACGpa2KuFoFIXwACEIQASyQJIzEvd82BA8ASRBEkCvaM/rZFEIIHwDSIogAlkh7LxpbAgjhA0AzCCLIHVUR9UyGEIIHgDwRRACLJKmKmAghhA8AqhBEAMuEhRGdAYTgAUAXggiUoD2TLx0hhPABwASCCGCh8VURVSGE4AHABgQRwFIqAgjhA4BtCCJQhvaMeQQPALYjiACeIXwAcAlBBHAcwQOAywgiUIr2jBqEDwC+IIgAjiB8APARQQSwFMEDQBEQRKAc7ZljCBcAUM/qIFKtVkVEpFKpGN4TNOtIddj0Lkzw4r5N2rfJv2UARVA71tXO41GsDiL9/f0iItLV1WV4T+Cjzs4XTO8CAHitv79fOjs7I19TqiaJK4aMjo5KX1+ftLe3S6lUMr07qVQqFenq6pLe3l7p6OgwvTsYh5+N3fj52I2fj91s+flUq1Xp7++XOXPmSEtLS+Rrra6ItLS0yNy5c03vRlM6Ojr4ZbUUPxu78fOxGz8fu9nw84mrhNRExxQAAACFCCIAAMCY1vXr1683vRO+am1tlWXLlsmkSVZ3wAqJn43d+PnYjZ+P3Vz7+Vi9WBUAAPiN1gwAADCGIAIAAIwhiAAAAGMIIgAAwBiCiEZDQ0Ny3nnnSalUkj179pjeHYjIJ598IrfddpvMmzdPpk6dKvPnz5cHH3xQhoftuzdOUWzYsEHmzZsnU6ZMkUWLFskbb7xhepcgIt3d3XLBBRdIe3u7zJo1S6699lr58MMPTe8WAnR3d0upVJI1a9aY3pVECCIa/eQnP5E5c+aY3g2M88EHH8jo6Kg8/fTT8v7778vPf/5z+eUvfyn33Xef6V0rpBdeeEHWrFkj999/v7zzzjty8cUXy4oVK6Snp8f0rhXejh07ZNWqVbJz507Zvn27HDlyRJYvXy6Dg4Omdw3j7Nq1SzZt2iTnnnuu6V1JjPFdTV5++WVZu3at/PGPf5Rvf/vb8s4778h5551nercQ4LHHHpONGzfKxx9/bHpXCmfJkiVy/vnny8aNG8eeO/vss+Xaa6+V7u5ug3uGRvv375dZs2bJjh075JJLLjG9OxCRgYEBOf/882XDhg3yyCOPyHnnnSdPPvmk6d2KRUVEg88//1zuuOMO+d3vfifHH3+86d1BjHK5LDNmzDC9G4UzPDwsb731lixfvrzu+eXLl8ubb75paK8Qplwui4jwu2KRVatWyVVXXSVXXHGF6V1JxY3LrjmsWq3KLbfcIitXrpTFixfLJ598YnqXEOGjjz6Sp556Sp544gnTu1I4Bw4ckJGREZk9e3bd87Nnz5Z9+/YZ2isEqVarsnbtWrnoootkwYIFpncHIrJ161Z5++23ZdeuXaZ3JTUqIhmtX79eSqVS5GP37t3y1FNPSaVSkXXr1pne5UJJ+vMZr6+vT77//e/L9ddfL7fffruhPUepVKr7ulqtTngOZq1evVreffddef75503vCkSkt7dX7rnnHtmyZYtMmTLF9O6kxhqRjA4cOCAHDhyIfM1pp50mN954o/z1r3+tO5COjIxIa2ur3HTTTfLss8+q3tVCSvrzqf3S9vX1yWWXXSZLliyRzZs3S0sLGV234eFhOf744+X3v/+9XHfddWPP33PPPbJnzx7ZsWOHwb1Dzd133y3btm2T119/XebNm2d6dyAi27Ztk+uuu05aW1vHnhsZGZFSqSQtLS0yNDRU9z3bEEQU6+npkUqlMvZ1X1+fXHnllfKHP/xBlixZInPnzjW4dxAR+fTTT+Wyyy6TRYsWyZYtW6z+hfXdkiVLZNGiRbJhw4ax58455xy55pprWKxqWLValbvvvltefPFFee211+Rb3/qW6V3C1/r7++W///1v3XO33nqrnHXWWXLvvfda3z5jjYhip5xySt3X06dPFxGR+fPnE0Is0NfXJ8uWLZNTTjlFHn/8cdm/f//Y904++WSDe1ZMa9eulZtvvlkWL14sS5culU2bNklPT4+sXLnS9K4V3qpVq+S5556TP//5z9Le3j62bqezs1OmTp1qeO+Krb29fULYmDZtmpx00knWhxARgggK7tVXX5W9e/fK3r17JwRDioX63XDDDfLFF1/Iww8/LJ999pksWLBAXnrpJTn11FNN71rh1Uaqly1bVvf8M888I7fccov+HYI3aM0AAABjWJEHAACMIYgAAABjCCIAAMAYgggAADCGIAIAAIwhiAAAAGMIIgAAwBiCCAAAMIYgAgAAjCGIAAAAYwgiAADAGIIIAAAw5v8DEyo7shPs9cMAAAAASUVORK5CYII=", "text/plain": [ "Figure(PyObject
)" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "### Example: Plot function on mesh as color contours\n", "u = @. exp(-(p[:,1]^2 + p[:,2]^2))\n", "tplot(p, t, u);" ] }, { "cell_type": "markdown", "id": "contemporary-democrat", "metadata": {}, "source": [ "You might ask why not quadrilaterals? Some people do indeed prefer quadrilaterals (I'm one of them) but they can be very difficult to work with for certain applications. They are very widely used still however, for example in films (Pixar, ILM, ...) quads are very heavily used.\n", "\n", "If you're interested - read about something called subdivision surfaces/NURBS." ] }, { "cell_type": "code", "execution_count": null, "id": "rough-government", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.6.2", "language": "julia", "name": "julia-1.6" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.6.2" } }, "nbformat": 4, "nbformat_minor": 5 }