<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Geometry | Ben Ahlbrand CV</title><link>https://benjamin.ahlbrand.me/tags/geometry/</link><atom:link href="https://benjamin.ahlbrand.me/tags/geometry/index.xml" rel="self" type="application/rss+xml"/><description>Geometry</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Wed, 03 Feb 2021 00:00:00 +0000</lastBuildDate><image><url>https://benjamin.ahlbrand.me/media/sharing.png</url><title>Geometry</title><link>https://benjamin.ahlbrand.me/tags/geometry/</link></image><item><title>Laplacian Smoothing</title><link>https://benjamin.ahlbrand.me/post/2021-12-03-laplacian-smoothing/</link><pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate><guid>https://benjamin.ahlbrand.me/post/2021-12-03-laplacian-smoothing/</guid><description>&lt;p>I implemented laplacian smoothing in my core c++ pipeline using the discrete formulation of the cotangent laplace &lt;strong>&lt;a href="https://en.wikipedia.org/wiki/Laplace%E2%80%93Beltrami_operator" target="_blank" rel="noopener">operator&lt;/a>&lt;/strong>.&lt;/p>
&lt;p>As a test case, I tried &amp;ldquo;over-smoothing&amp;rdquo; a typical mesh to see it reduce along the medial axes. Below you see my source mesh before smoothing:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/elephant.png" alt="elephant" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>And after several iterations:&lt;/p>
&lt;p>
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/elephant-semi-smoothed.png" alt="elephant smoothed" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p>
&lt;p>And now several more:&lt;/p>
&lt;p>#
&lt;figure >
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/elephant-smoothed.png" alt="" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;/figure>
&lt;/p></description></item><item><title>Procedural Geometry with Parametric Modeling</title><link>https://benjamin.ahlbrand.me/post/2022-07-03-procedural-geometry-with-parametric-modeling/</link><pubDate>Sat, 01 Aug 2020 00:00:00 +0000</pubDate><guid>https://benjamin.ahlbrand.me/post/2022-07-03-procedural-geometry-with-parametric-modeling/</guid><description>&lt;p>I implemented several parametric modeling techniques with my homebrew geometry / math libraries in C++ and rendered in UE4.&lt;/p>
&lt;h4 id="solid-of-revolution">Solid of Revolution&lt;/h4>
&lt;p>Essentially you take a curve (perhaps a b-spline, pick your favorite) and revolve about an axis of rotation, creating vertices and triangles as you step.&lt;/p>
&lt;p>A more formal treatment is available at &lt;a href="https://en.wikipedia.org/wiki/Solid_of_revolution" target="_blank" rel="noopener">https://en.wikipedia.org/wiki/Solid_of_revolution&lt;/a>&lt;/p>
&lt;p>#
&lt;figure id="figure-solid-of-revolution">
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/image_2020-07-21_11-30-42.png" alt="solid of revolution" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
solid of revolution
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;p>Here&amp;rsquo;s another curve&lt;/p>
&lt;p>#
&lt;figure id="figure-solid-of-revolution">
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/image_2020-07-20_23-35-08.png" alt="solid of revolution" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
solid of revolution
&lt;/figcaption>&lt;/figure>
&lt;/p>
&lt;h4 id="extrusion">Extrusion&lt;/h4>
&lt;p>Here&amp;rsquo;s a curve knot that I extruded along the path &amp;ldquo;profile&amp;rdquo; of a knot.&lt;/p>
&lt;p>#
&lt;figure id="figure-extrusion">
&lt;div class="flex justify-center ">
&lt;div class="w-100" >&lt;img src="https://benjamin.ahlbrand.me/assets/capture-1-.png" alt="extrusion" loading="lazy" data-zoomable />&lt;/div>
&lt;/div>&lt;figcaption>
extrusion
&lt;/figcaption>&lt;/figure>
&lt;/p></description></item></channel></rss>