designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Curve Farthest Point

August 26, 2013 | Algorithms
#computational-geometry #grasshopper #parametric-curve

Today’s tip is about two-dimensional curve-point calculations. It is very handy to use “closest point” components in Grasshopper. You can calculate distances and directions between curves, surfaces, and points. Then, place point objects in relation to the proximity of another object. However, there is no “farthest point” implemented yet. I tried to calculate the farthest point from a curve. First, I tried to translate the curve in a fashion that would result in the opposite of the closest point calculation. It is giving the farthest point. However, this idea has collapsed quickly because, in complex curves, you cannot determine the correct mirroring plane.

Curve Farthest Point animation

Then, the “Extremes “component seemed to be a solution. It finds the highest and lowest parts of an object on a given plane. Again I couldn’t determine the correct plane, especially in complex curves. Somehow, these experiments worked in some shapes but never guaranteed that they would work on every possible curve. Finally, a very simple solution appeared to me as you see below. I just placed a circle on the point with enough radius. Then, I find the closest points between the curve and the circle. This automatically gives the farthest one between the curve and the point. You can also put multiple curves to it.

Curve Farthest Point Grasshopper definition

However, the radius of the circle was another quick problem I love to study. The total length of the curve (so that the possible linear curve directly points towards to point counts) + the distance between the curve’s closest point (so that the curve might be far away from the point) seemed to be a solution. Of course, you can put a very big number to the radius also. Here is the Grasshopper definition of this simple trick:

Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2013, August 26). Curve Farthest Point. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/curve-farthest-point/

Related Posts

Detecting Closed Shapes

August 26, 2013

Again, I continue with some simple solutions for Grasshopper. The surface split component gives all possible surfaces sliced with given curves. And it creates “invalid” curves with at least one open edge. I used this to perceive the closed regions within a given complex curve set. Just put the “Clean” component to erase the outer invalid surfaces and there remain the closed ones. However this time the question was where to put the circle and what its radius of it…

Detecting Inner Regions in Grasshopper

August 26, 2013

This is a simple trick that shows the utilization of the “surface split” component in Grasshopper. It is used for detecting the inner regions of any given two-dimensional linework. Thus, it resembles the hatch boundary detection of AutoCAD and similar software. There is no built-in hatch component in Grasshopper. But maybe you can use this as a starting point if you want to develop it. The definition starts with drawing a circle around a point large enough. The size of…

Shortest Path Generator

April 30, 2012

This is the continuation of my scripting experiment within Grasshopper. Like the minimum spanning tree algorithm, this is also a famous problem of computational geometry; the shortest path problem. I’m now coding faster and understanding the namespace more easily in Grasshopper. This time, the challenge was implementing Dijkstra’s algorithm for the Shortest Path Generator. Again, it’s a quite powerful algorithm, I even plan to use it in my current project. Although there is a faster alternative, Shortest Walk-in Food4Rhino and it…

Minimum Spanning Tree

April 26, 2012

This is the updated version of my MST code from 2012. After over a hundred hours of Rhinocommon and Grasshopper SDK studies, and lots of dead ends, I was finally able to calculate the minimum spanning tree of any given curve network in Grasshopper. Problems like these are interesting to me because of their clear logic and diverse areas of applications in design. I tried to simulate Dijkstra’s, Kruskal’s, and Prim’s algorithms, but no chance. There are similar solutions such…

Catenary Dome without Kangaroo

August 13, 2026

When thinking about serious and specific topics, I suddenly find myself looking back at the basics again. Catenary curves, are not the most beautiful one among those mathematical forms found in nature. However, it still tells us a lot about structures. The name apparently comes from catenaria, the Latin word for “chain”. This Grasshopper code was actually an example from our book 10 years ago (link here). It seems catenary curves could potentially be used in a type of dome…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #rhino-python
    • #polyhedra
    • #parametric-surface
    • #robot
    • #tessellation
    • #boolean
    • #kuka-prc
    • #dome
    • #design-object
    • #image-sampler
    • #tutorial
    • #terrain
    • #sandblasting
    • #stone
    • #animation
    • #cycloid
    • #art
    • #aperiodic
    • #tiling
    • #dodecahedron
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement