#Subdivision

2025-05-19

#GameDev #Godot #Geometry #Procedural #PCG #CatmullClark #Subdivision #GeometryMerging #Prototyping

A short playlist showing a couple of examples of merging geometry from an input set of cubes and then CCS subdividing it...

youtube.com/watch?v=4hPTj0EJ1-

2025-04-24
2025-04-13

#Godot #GameDev #Subdivision Not a particularly interesting example, but here's sharp edges working on a cylindrically-build surface...

A Godot scene with a subdivision surface that is hollow and with sharp circumferential ribs on the outside
2025-04-13

#Godot #Subdivision #GameDev Fear the power of my Vertex-Sharpener!

A smoothly curving bit of pipe-bend shaped geometry, except with regular spikey bits all over it...
2025-04-13

#Godot #CSharp #Subdivision #Manifold #ScreenshotLastThursdayAfternoon

Building the SDS (SubDivisionSurface) from optionally hollow cylindrical sections is working out really well

Could you imagine playing a "not-really-tower-defence" on the inner/outer surface of this?

Need-to-add: pretty much everything, sharp edges, branching...

Please-excuse: lighting, grid positioned by hand in only approximately the right place...

View inside a curving cylindrical manifold, with a rectangular grid marking out the surface...View outside a curving cylindrical manifold, with a rectangular grid marking out the surface...
2025-04-04

#Godot #PGC #Subdivision #CatmullClark #GameDev #ProceduralContent #CSharp #LotsOfScaryLinq

OK, finally got away from cubes... of course, you can't see exactly what shape this is, because I didn't add any normal calculations yet, but "roughly spherical" broadly sums it up...

If I get time tomorrow I'll add the normals, and then look into adding the calculation refinement that lets us tag verts/edges as "sharp"... Combos of sharp and smooth edges let us create all sorts of shapes, like if you leave the top and bottom edges sharp, but the side ones smooth you get a roughly cylindrical shape... Or you can do a block with a hole in it if you do the same thing to the edges around a square hole...

Very basic Godot scene showing a broadly circular featureless grey mass, which I solemnly swear is really an approximate sphere...
2025-01-14

SpheresInBW

Video: youtu.be/bGh1KBXK_X4

Blogpost: blog.illestpreacha.com/genuary

#Genuary #Livecoding #3d #genuary14 #genuary12 #genuary17

The prompt for Genuary 2025 Day 14 is “ #BlackWhite ” , Day 12 is “ #subdivision ” and Day 17 is “ #Pi=4”

SpheresInBW uses #Hydravideosynth @hydra for subdividing the sketch, #LiveCodeLab for the Black and white component while the coded #SonicPi composition uses pi=4 to arrange the sounds

#Poetry

The motions repeat
As the Grid is seen
In black and white
With the background Scenes
Between day and night
As the motions sweep
As the pixels are seen

#creativecoding #coding #animation
#audiovisual #Sounddesign #worldbuilding

Bob LeFridge :tinoflag:BobLefridge@mastodon.nz
2024-09-07

Whoa up, Auckland. What's with building subdivisions before putting in sewage systems?

There's Cardinal West (300 homes) where locals are already complaining about the stink. Next month Warkworth Ridge (646 homes) comes on stream, to be followed by Kahawai Point (800 homes) and a 50ha Clarks Beach subdivision in May 2026.

All of these involve trucking sewage from new housing developments. Surely better planning is required?

nzherald.co.nz/nz/stink-over-t

#NZ #Subdivision

Karsten Schmidttoxi@mastodon.thi.ng
2024-08-28

Retired:
Karsten Schmidt's "Generative 3D printed voxel diatoms" (2010)

#Nature #Biology #Diatoms #Generative #Art #3DPrint #Subdivision #Mesh #Voxel #Toxiclibs

Two 3D printed diatom-inspired filigree sphere-like objects, created via a recursive subdivision mesh (with displacements) of a seed cube. One of the objects is white, the other black.Close-up of two 3D printed diatom-inspired filigree sphere-like objects, created via a recursive subdivision mesh (with displacements) of a seed cube. One of the objects is white, the other black.Macro view of two 3D printed diatom-inspired filigree sphere-like objects, created via a recursive subdivision mesh (with displacements) of a seed cube. One of the objects is white, the other black.Macro view of a black 3D printed diatom-inspired filigree sphere-like object, created via a recursive subdivision mesh (with displacements) of a seed cube.
Karsten Schmidttoxi@mastodon.thi.ng
2024-06-13

Some of you think this is probably vaporware by now, but there actually has been a 2D/3D mesh package since 2016, which for various reasons has been dormant for the past few years, since I never got around refactoring & publishing it properly, mostly because some of the features are very low level and in need of a more TS/JS-friendly API (though I made several attempts on that front since).

The mesh implementation combines my favorite modeling, topology & traversal features of Blender's BMesh and SideFX Houdini's attribute system, i.e. attribs which can be attached to different mesh entities: points, vertices, edges, faces and meshes themselves. These can then be used to create groups, colors, metadata & control behavior of operations. There're also three subdivision operators implemented (all attribute aware), one is shown in the example anim... Around ~5 years ago it's even been used in actual (mass) production, i.e. for creating the outsoles & traction patterns of several trainers/shoes by a global footwear/sports brand.

After the upcoming release of the new thi.ng/geom v8.0.0, I'm really hoping to find bandwidth over the summer to finally get back into this... If anyone would be interested in sponsoring/funding part of this work, even better & please get in touch! 🙏 As mentioned, since many parts of the implementation are already quite low level, I'm also going to explore porting it all to Zig and then provide a nice TS/JS API via thi.ng/wasm-api... With both projects more stable & proven, this seems pretty feasible (and interesting) to me...

#ThingUmbrella #OpenSource #Mesh #Geometry #Subdivision #Blender #Houdini #TypeScript #Ziglang

Karsten Schmidttoxi@mastodon.thi.ng
2024-05-30

Animated versions... (only tweening uniform displacement value)

#ThingUmbrella #Generative #Geometry #Splines #Subdivision

Karsten Schmidttoxi@mastodon.thi.ng
2024-05-30

Added a new[1] configurable curve subdivision kernel for thi.ng/geom to (iteratively) subdivide polygons/polylines with displacement, allowing for super compact code, infinite variation, and beautiful results like shown...

[1] Actually been using this approach since 2010, initially for 3D mesh subdivisions (3rd image)

#ThingUmbrella #Generative #Geometry #Splines #Subdivision #TypeScript #JavaScript

Black circular curve outline with repeated swirly structures created via repeated subvisions of a seed squareBlack-filled circular curve with repeated swirly structures created via repeated subvisions of a seed squareScreenshot of a mesh subdivision tool from 2010. Starting from a single cube, the edges are first successively subdivided and their mid-points displaced with different amplitudes over 7 levels of recursion. With each new level, more details are introduced and create a highly organic looking structure. The mesh vertices were also smoothed using a Laplacian filter...TypeScript source code snippet to generate the 2D curve shown in the first image:

// convert polygon to path of Hobby spline segments
asPath(
    // iteratively subdivide poly
	subdivCurve(
        // create square and convert to polygon
		asPolygon(rect(100))[0],
		[
          	// 1st & 2nd pass: cubic spline subdiv
			SUBDIV_CUBIC_CLOSED,
			SUBDIV_CUBIC_CLOSED,
            // 3rd & 4th pass: subdivide w/ displacements
            // (inserts 2 new points per edge, each point
            // is displaced along the edge normal...)
			SUBDIV_DISPLACE([0, -0.4, 0.4], true),
			SUBDIV_DISPLACE([0, -0.4, 0.4], true)
		]
	),
	{ mode: "hobby" }
)
Karsten Schmidttoxi@mastodon.thi.ng
2023-10-12

#HowToThing #021 — Iterative animated convex polygon subdivision and heat map visualization (using poly area as metric)

The main aspect of this example is to show various thi.ng/geom shape types, operations & conversions to solve the problem of iteratively dividing convex polygons, whilst considering some aesthetic and geometric constraints. E.g. using the polygon/polyline sampler from thi.ng/geom-resample to query the poly boundary, finding & splitting the longest edge, using ray casting to find the opposite split point on the boundary, adding & constraining random variance...

The second part deals with applying this subdivision iteratively, assigning shape colors based on area, animating the whole process and drawing everything to a canvas...

There's a lot to take in here, but all is commented & hope it's not too much for one example! (Please do let me know!)

Demo:
demo.thi.ng/umbrella/poly-subd

Source code:
github.com/thi-ng/umbrella/blo

The attached animations illustrate the varying split positions (and resulting aspect ratios) and increasing random variance/jitter...

#ThingUmbrella #GenerativeArt #Geometry #Polygon #Subdivision #TypeScript #JavaScript #Tutorial

Screenshot of the 1st part of the linked TypeScript source codeScreenshot of the 2nd part of the linked TypeScript source code

Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst