Blake Courter's Avatar

Blake Courter

@bcourter.bsky.social

Incubating engineering software startups. Applying SDFs to design and manufacturing problems by generalizing them to fields with unit gradient magnitude (UGFs). https://www.blakecourter.com/

273 Followers  |  212 Following  |  69 Posts  |  Joined: 26.08.2023  |  1.8957

Latest posts by bcourter.bsky.social on Bluesky

For example, a laid-off friend doing back-end webdev applied to over 100 positions without response, but after one intro was hired at a client and is thriving.

Anyhow, the story seemed like it might be good radio.

30.07.2025 12:59 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Several interesting startups I advise are hiring but have difficulty getting attention. Research labs have been letting amazing talent go due to lost gov’t funding, especially in biotech. I find myself doing an unusual amount of matchmaking.

30.07.2025 12:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@marketplace.org Heard you mention the job market yesterday and thought I’d share this emerging phenomenon from the perspective of the tech industry. The job market appears to be log jammed by AI both flooding employers with applications and AI processing such applications.

30.07.2025 12:47 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Roller screw - Wikipedia

Something everybody should be aware of: planetary roller screws.

en.m.wikipedia.org/wiki/Roller_...

14.04.2025 13:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Inigo Quilez Articles on computer graphics, math and art

IQ's smin post has many graphics friendly versions. iquilezles.org/articles/smin/

17.02.2025 18:51 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

BTW, my biz partner at GCL, Luke Church, is working on a side project with Kai Bachman, who originally introduced me to Luke! We are building a UGF-based modeler at GCL. Happy to chat.

17.02.2025 12:43 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Well, perhaps I could be explaining it better. There’s nothing too profound, just that UGF are an abstraction of SDFs that happen to be very useful for engineering. Most folks don’t realize SDFs closure problems, so I try to clarify the picture.

17.02.2025 12:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Great to see you found the UGF material, and curious whether it helped. If you can find the offset intersection, you should be able to create a UFG result with no bulging.

There are other results based on gradients and intersection curves as well. I was just OCD for rolling ball blends.

16.02.2025 18:24 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Meet the 2025 Brains Fellows We’re excited to introduce the 2025 class of Brains Fellows!

As Gradient Control Laboratories has started to consider how to increase our impact, we’ve joined the Speculative Technologies β€œBrains” accelerator program for feedback on our broader ambitions.

Am thrilled to be with such an inspiring peer group and mentor team.

blog.spec.tech/p/meet-the-2...

02.02.2025 19:38 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1

Looking forward to giving your model a spin!

Curious to see if you’re using explicit or implicit geometry and what kind of IDs or classifiers you throw on topology. Also parameterizations.

(At GCL, we make an implicit modeling kernel and work with CAE startups.)

28.01.2025 12:05 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Looking forward to trying out Adam CAD. Thanks @arnicas.bsky.social !

28.01.2025 11:59 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Agentic Engineering: how AI automata will participate in engineering in 2025 - Blake Courter At Gradient Control Laboratories (GCL), we have the privilege of seeing patterns emerging among the most innovative engineering software startups. Last year,...

Agentic Engineering: how AI automata will participate in engineering in 2025

Predictions for engineering software this year and some of the fun to be had wiring it up. To what extent will engineering services left-shift into engineering software?

www.blakecourter.com/2025/01/20/a...

22.01.2025 00:12 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

There’s a new reference implicit kernel in town. The GCL modeling stack was based on libfive, and we’re already in the process of adding Fidget! Congrats @mattkeeter.com

10.01.2025 18:06 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

A triply orthogonal system of surfaces from stereographic projection of Hopf coordinates

10.12.2024 00:51 β€” πŸ‘ 29    πŸ” 8    πŸ’¬ 0    πŸ“Œ 1

Thanks. I started moving into zotero yesterday.

I think I have been capitalizing titles wrong in my bibtex.

03.12.2024 12:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

πŸ“ Am getting started on a paper after some off research, and now have a large directory of poorly named PDFs and a giant bibtex file. Would anyone recommend Zotero or a similar reference manager to get a bit more organized? (I'm an academic late bloomer.)

Ideally, it would work out of Google Drive.

01.12.2024 19:09 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

With this approach, you can create any surface in the local 2D coordinate system of the edge.

In the next session, we'll look at that two-surface coordinate system more closely, treating it as a basis for remapping any kind of edge treatment!

(10/n, n = 10)

25.11.2024 03:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Instead, we can create a surface at an arbitrary angle Θ to the normalized S or D fields via S * cos(Θ) + D * sin(Θ) .

Algebraic geometers call this family a "pencil".

With such an angled face at any angle and offset, we can describe any surface from the edge in "Hesse normal form".

(9/n)

25.11.2024 03:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

But what about asymmetric chamfers? One approach is to expand A + B into

A * t + B * (1 - t)

Indeed, such interpolating will create suitable geometry, but how do we control it with CAD-like parameters?

(8/n)

25.11.2024 03:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

To convert to a constant width or a constant setback chamfer, one simply does some trig on the triangle to figure out what the inset should be based on the angle between the gradients of A and B.

(7/n)

25.11.2024 03:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

To get a chamfer, we just need to offset our normalized A + B field inward and intersect again. This result produces a constant inset chamfer, where the width increases with dihedral angle between faces.

(6/n)

25.11.2024 03:14 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Here is A + B with A ∩ B overlaid above. Looks okay at first glance, but notice (left) that the spacing between the contours is wider than our original fields. It's gradient magnitude is not unity, but we can normalize the field by dividing by that magnitude (right).

(It's a bit subtle.)

(5/n)

25.11.2024 03:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

UGFs are more special than general implicits because their gradient has unit magnitude. The sum and difference of two unit vectors are perpendicular, as seen in the diagonals of the rhombus of the vectors.

Defining:
S = A + B
D = A - B

Interactive version: www.shadertoy.com/view/dd2cWy

(4/n)

25.11.2024 03:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

We will can intersect these together by taking the max of the fields. (Our sign convention is that inside is negative.)

This corner, A ∩ B, is what we want to chamfer. Note that this result is not an SDF, but a UGF, because the field extending up from the corner is sharp.

(3/n)

25.11.2024 03:03 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Let's work in 2D so we can visualize the field. We will take two planes represented as signed distance fields (SDFs), and let's call those fields "A" and "B".

Here's A. B will just be it's mirror image across the vertical axis:

(2/n)

25.11.2024 03:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

Let's take a look at another application where UGFs are the appropriate setting: chamfers, in particular the constant-width flavor.

(UGFs are a generalization of SDFs considering fields with unit gradient magnitude. www.blakecourter.com/2023/05/18/f...)

Images are from #nTop .

(1/n)

25.11.2024 03:01 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 9    πŸ“Œ 0

Have some old twitter threads that I embed on my blog, and would prefer them hosted here. Let's see how porting one over goes...

25.11.2024 02:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It’s orange juice thickened with flour. Perhaps there’s a category of starch thickened sauces, which is common in Chinese cuisine, but not included in the French tradition?

23.11.2024 17:02 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I’m going to have to look into the thickening properties of tomato. That’s new to me.

Not only is social media fun again, I’m remembering how it feels to be a foodie… :)

23.11.2024 16:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
chicken in orange sauce - Google Search

Oh, this isn’t a glaze. More like chicken breast soup. Unfortunately, I searched, and found something close. Pretty sure we use the flour; less sure about the brown sugar.

Apologies in advance. Nice knowing you. www.google.com/gasearch?q=c...

23.11.2024 16:26 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@bcourter is following 18 prominent accounts