#polygons

Added a simple rule so shapes have children of the same type. A bit more orderly.

#CreativeCoding #OPENRNDR #Kotlin
#Geometry #polygons

Code generated image made out of regular polygons of equal side length touching on the sides. About 30 ~ 40 orange polygons with black contour and gray background. It resembles those designs one can cut with scissors to then glue and create a regular 3D polyhedron.

I'm writing small programs for a presentation. Programs that are simple to write in one framework or language which would be not so simple to write in different ones.

I feel like printing, cutting and folding it to create a 3D shape, knowing that it would not produce a nice closed one ๐Ÿ™‚

#CreativeCoding #OPENRNDR #Kotlin #Geometry #RegularPolygons #Polygons

Code generated design made of squares, pentagons, hexagons, heptagons and octagons of equal side length. Gray background, orange shapes with black outline. The shapes touch another shape in one or more edges. Uses a growth algorithm, trying to add new shapes while avoiding overlap with existing shapes or touching the window borders.The Kotlin source code of the program with the imports removed (otherwise the text is too long for Mastodon)

fun main() = application {
    configure {
        width = 900
        height = 900
    }
    program {
        val contours = listOf(4, 5, 6, 7, 8).map { sides ->
            val c = regularPolygon(sides, Vector2.ZERO, 100.0)
            c.transform(transform { scale(50.0 / c.segments.first().length) })
        }
        val result = mutableListOf(contours.random().transform(transform { translate(drawer.bounds.center) }))
        repeat(100) {
            val a = result.random()
            val b = contours.random()
            val poseA = a.segments.random().pose(0.5, YPolarity.CW_NEGATIVE_Y)
            val poseB = b.segments.random().pose(0.5, YPolarity.CCW_POSITIVE_Y)
            val candidate = b.transform(poseA * poseB.inversed).clockwise
            if (result.none {
                    it.shape.intersection(candidate.shape).area > 0.0 || candidate.intersections(drawer.bounds.contour).isNotEmpty()
                }) result.add(candidate)
        }
        val rounded = result.map { it.roundCorners(4.0 ) }
        extend {
            drawer.clear(ColorRGBa.DARK_GREY)
            drawer.fill = ColorRGBa.ORANGE
            drawer.translate(drawer.bounds.center - result.bounds.center)
            drawer.contours(rounded)
        }
    }
}Code generated design made of squares, pentagons, hexagons, heptagons and octagons of equal side length. Gray background, orange shapes with black outline. The shapes touch another shape in one or more edges. Uses a growth algorithm, trying to add new shapes while avoiding overlap with existing shapes or touching the window borders.
Raรบl Nanclares ๐Ÿœrnanclares@fosstodon.org
2025-02-13

Does anybody know the "Flatten" SAGA GIS tool? Any idea how to replicate it with Python/PostGIS? I've been trying but my knowledge of Shapely is just not enough. Basically, what it does is "flattening" a polygon layer, intersecting overlapping polygons.

#python #shapely #polygons

2025-01-16

At work today:

"These three things don't match. Can you guys fix that, we want the official polygons"

"Uh, looks like those are all official, but don't match"

"WAIT, WE found another one we aren't using yet, so you will have FOUR sets of different polygons that are official!"

#gis #polygons

2025-01-10

Iโ€™ve dropped all my jokes about #polygons ... too edgy.

#geometry

Julia with a frustrated expression  is juggling polygons, more lie at the bottom . Text: Iโ€™ve dropped all my jokes about polygons ... too edgy.
2025-01-10

Polygons

Iโ€™ve dropped all my jokes about polygons โ€ฆ too edgy.

#geometry #NZComedy #Polygons

Julia with a frustrated expression is juggling polygons, more lie at the bottom . Text: Iโ€™ve dropped all my jokes about polygons ... too edgy.
BNHR.XYZ :tux: :qgis:bnhrdotxyz@fosstodon.org
2024-11-04

30 DAY MAP CHALLENGE 2024 | DAY 3 - POLYGONS

Shapes of (K)yรธu(si)
of triangles, circles, and ovals

DATA
> Digitized from OpenStreetMap (copyright OSM contributors)

PROCESS
> Duplicate the digitized layer.
> Apply a hand-drawn smudgy-pen outline style and a pencil fill with categorized symbology.
> Styles are from the hand-drawn styles by Andy Woodruff (facebook.com/bnhr.xyz/posts/pf)

#30DayMapChallenge #30DayMapChallenge2024 #Day3 #Polygons #MadeWithQGIS #QGIS #QC #Kyusi #QuezonCity #Philippines

A map showing colored outlines of the Quezon City Triangles, Quezon City Memorial Circle, and the University of the Philippines Academic Oval.
2024-11-03

#30DayMapChallenge Day 3: Polygons

For a vineyard owner ๐Ÿ‡, choosing the best spot is the key to quality wine! With Kontur Atlas, we compared two areas to find the perfect one ๐Ÿ—บ๏ธ
Curious? Letโ€™s connect!

#30DaysMapChallenge #VineyardPlanning #SustainableAgriculture #KonturAtlas #Polygons

Egor Kotov ๐ŸŒ๐Ÿƒโ€โ™‚๏ธ๐ŸšŠ๐Ÿš‹๐Ÿš™EgorKotov@datasci.social
2024-11-03

#30DayMapChallenge #polygons #Spain #DANA #humanmobility #movilidad up to 2% of typical daily mobility in Spain was affected by DANA as of 31 October, based on open mobility data for 2023 and road closures data. Via: #rstats #spanishoddata ropenspain.github.io/spanishod

The map shows the affected municipalities in Spain and emphasizes the most affected areas by exaggerating the size of the polygons by the number of trips.
2024-11-03

Day 3 of #30DayMapChallenge #polygons, which I used as a prompt to explore some of the free data available in Denmark, as well as the standard #QGIS plugins provided by #klimadatastyrelsen.
A map of eel grass habitat in #Copenhagen harbour in 2012. If you have access to more recent data, I'd love to have it!

Explanation: sternaparadisaea.net/30-day-ma

Map of city with built up areas in brown, parks in green and sea in blue. Green outlined boxes in the harbour area indicate eel grass beds
2024-11-03

Regional Capitals of Italy.

Polygons of Parks and gardens (green), buildings (white) and piazzas/squares (red). Data from #OpenStreetMap via #osmnx and plotted with #geopandas & #matplotlib. font: Scoglietto by Petra Heidorn

took me far too long to work out the required OpenStreetMap tags to get the nodes for the regional capitals.

#30DayMapChallenge Day 3: #Polygons

On the left-hand side is a 4 x 5 grid of circular maps showing the city centres of each of the twenty regional capitals of Italy. Only polygons of parks and gardens (green), buildings (white) and piazzas (red) are shown. Above each circle is the city title, with the region name below. On the right-hand side is a map of Italy, showing the regions (in red) and the regional capitals are labelled in green. The whole figure has a black background.
2024-09-10

More emergency alert GIS fun here, where apparently the polygon for St. Croix, Virgin Islands is a wee bit... inaccurate (that said, it PROBABLY works fine for WEA/wireless alerts as it is unlikely there are cell towers on the beach areas not covered by the alert.... maybe) #gis #polygons m.ai6yr.org/@easwatch/11311587

Dramatically simplified GIS of the Virgin Islands, which does not include many parts of the island due to oversimplification.
Jean-Baptiste EtienneJeanBaptisteEt4@mathstodon.xyz
2024-07-04
Jean-Baptiste EtienneJeanBaptisteEt4@mathstodon.xyz
2024-07-04

Promenade de polygones rรฉguliers.

#loop #polygons #maths #geogebra

Karsten Schmidttoxi@mastodon.thi.ng
2024-06-10

More thi.ng/geom tessellation updates/features, now also supporting point/vertex welding, avoiding the creation of duplicate vertices when recursively tessellating a shape. Also, using thi.ng/adjacency we can then easily convert a tessellation into a graph (directed or undirected) and extract unique edges from it, all with absolutely minimal userland code...

This feature is super useful for plotting tessellations like these, but the extracted graph can also be used for a large number of other purposes (incl. nav meshes / path finding for agents). The adjacency package contains a bunch of helpful graph algorithms...

New example (#168):
demo.thi.ng/umbrella/geom-uniq

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

#ThingUmbrella #Geometry #Tessellation #Mesh #QuadMesh #Graph #Polygons #TypeScript

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

Just updated the convex hull example (and the underlying `clipConvex()` function in thi.ng/geom) to support paths (shown in the examples) and complex polygons...

Demo:
demo.thi.ng/umbrella/geom-conv

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

#ThingUmbrella #Geometry #ConvexHull #Polygons

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

Still only on a feature branch, but over the past few days I've been working on updating thi.ng/geom to add support for polygons with holes and paths with holes (or more generally support for sub-paths, e.g. multiple curves). Since both of these shape types are containers of multiple geometries and therefore require in some situations (e.g. shape conversions) different handling than the other shapes with a single boundary/geometry, adding support for these also includes updating a dozen or so polymorphic shape operators/functions and unfortunately will involve a few of breaking changes. For instance, some of these functions are returning an array of shapes now, instead of just a single one. Also related, some of the other geom support packages (e.g. thi.ng/geom-axidraw, thi.ng/geom-sdf) will have to be refactored more and partially have been already (likely only internally, though)...

As part of this work, I've also just added example #160(!!!) to demonstrate & test out some of this new functionality:

Demo:
demo.thi.ng/umbrella/geom-comp

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

Commits:
github.com/thi-ng/umbrella/com

I will of course send another update once this all has been merged & released...

#ThingUmbrella #Geometry #Polygons #Shapes #PoissonDisk #TypeScript #JavaScript #OpenSource

Screenshot of the linked example project, showing a star polygon undergoing a series of transformations, like iterative subdivision, shape reconstruction using cubic beziers, point sampling (grid based, random, poisson disk sampling with varying density based on proximity to shape boundary...)

Client Info

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