o76923, to python
@o76923@kitty.social avatar

I still think it's nuts that 's best solutions for rendering are a bunch of wrappers around CairoSVG with the two next best solutions being use Inkscape from the command line and wand, a wrapper around ImageMagick.

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Example #167, and the very first example showing basic usage of the new https://thi.ng/geom-webgl interop package (still unreleased): Parsing a SVG path, sampling it with uniform vertex density (configurable), converting it into a complex polygon (w/ holes) and then into WebGL buffers (w/ vertex color option enabled), randomizing colors via probabilistic color theme, and — finally — drawing it all...

Demo (reload for new variation):
https://demo.thi.ng/umbrella/geom-webgl-basics/

Source code:
https://github.com/thi-ng/umbrella/blob/develop/examples/geom-webgl-basics/src/index.ts

#ThingUmbrella #WebGL #SVG #Geometry #Tessellation #Triangulation #DebugArt #TypeScript #Typography #Polygon
#ThingUmbrella

Edent, to random
@Edent@mastodon.social avatar

🆕 blog! “Getting lots of BIMI images using Python”

I've written before about the moribund BIMI specification. It's a way for brands to include a trusted logo when they send emails. It isn't much used and, apparently, is riddled with security issues. I thought it might be fun to grab all the BIMI images from the most popular websites, so I can potentially use […]

👀 Read more: https://shkspr.mobi/blog/2024/06/getting-lots-of-bimi-images-using-python/

kubikpixel, to CrystalsHashtags German
@kubikpixel@chaos.social avatar

»Adobe will Zugriff auf Inhalte von Photoshop-Usern:
Der Konzern hat seine Nutzungsbedingungen aktualisiert. Wer zustimmt, gibt dem Unternehmen das Recht, auf seine Daten zuzugreifen.«

Ich empfehle und nutze schon länger @krita, @GIMP, @inkscape, @Blender und/oder @penpot aber ich bin ja kein Grafikprofi. Abgesehen davon wird selten zugegeben, dass die Fixierung auf einen Hersteller nicht unbedingt professionell ist.

🖌️ https://www.inside-it.ch/adobe-will-zugriff-auf-inhalte-von-photoshop-usern-20240606


#adobe #photoshop #copyright #zugriff #grafik

kubikpixel,
@kubikpixel@chaos.social avatar

🧵 …ich hatte weiter oben unter anderem auf @penpot hingewiesen. Um deren infos so wie dessen Einsatz zu lernen, folgt doch deren Videos Account im Fediverse auf @peertube und/oder deren Kanäle der einzelnen Sparten. Somit wird es sicherlich auch ein professionell nutzbare Photoshop Alternative für euch bei der Gestaltung von Webseiten.

[ENG]
📺 @penpot_app
📺 https://peertube.kaleidos.net/w/wEMuvYaf1TBt29hi5PkpvV


#fediverse #grafik #webdesign #penpot #video #internet #peertube #lernen #css #design #videos #svg

fractalkitty, to random
@fractalkitty@mathstodon.xyz avatar

I decided to do the bobble birbs in elm:

https://bobbles.art/

andre, to blender
@andre@fedi.jaenis.ch avatar

Today I watched

How I made a 3D Level in a 2D Game -
https://yewtu.be/watch?v=Qvlb-Yo6Rqo

over lunch.

Interesting! So much math going on here.
Not diving deep but explaining the high level concepts.

I had wondered similar questions for SVG in the past. Seeing this makes me believe it's doable.

Don't have the time to knee into it at the moment.

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Testing/debugging the dynamic tessellation feature of the upcoming thi.ng/geom-webgl interop package... This will provide a single polymorphic function to convert https://thi.ng/geom shapes into WebGL binary data & model/attribute specs, with lots of options for memory layout, indexing, instancing and other advanced usage...

By default (and as shown here), polygons are tessellated via ear cutting[1], but users have a choice of 9 other algorithm presets (or their own custom ones), incl. iterative application of multiple tessellation strategies..

[1] https://en.wikipedia.org/wiki/Polygon_triangulation

A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient
A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient
A random, blobby, triangulated polygon, with each triangle tinted in a random colorful gradient

toxi,
@toxi@mastodon.thi.ng avatar

As part of the work on the upcoming thi.ng/geom-webgl package, today I've also been completely rewriting all tessellators in https://thi.ng/geom-tessellate and extending the package with more features, incl. an adapted version of https://github.com/mapbox/earcut to handle complex polygons (with holes, but can also be combined/nested with all the other tessellators, incl. the non-triangular ones)...

Instead of producing an array of faces (each itself an vertex array), all tessellators are now producing/populating/adding to a single tessellation, consisting of a vertex array and another array of face vertex IDs. This makes the result much more flexible for a number of use cases, incl. WebGL/WebGPU conversion.

Very happy with how the new API for both packages is turning out. The last image shows the source code for generating a single frame of the "SB" anim, starting with parsing two SVG paths, grouping & fitting them into a target bounding rect, then tessellating the entire group, rebuilding a new group from the resulting triangles, and finally serializing everything to SVG. For WebGL, there'll be a single asWebGLModel() function which performs shape tessellation automatically behind the scenes (fully configurable, though)...

The letter "B" tessellated into dozens of triangles, each tinted with a randon, iridescent, rainbow colored gradient
TypeScript source code snippet to create a single frame of the anim in the previous image: // create paths/shapes from SVG definitions (truncated here) const S = pathFromSvg(

Animated GIF of the letters "SB" tessellated into dozens/hundreds of pink triangles with black wireframes

toxi, to typescript
@toxi@mastodon.thi.ng avatar

Current status: Updating the https://thi.ng/geom readme to give a better overview of the full extensive API, ahead of the v8 release (soon)... Attached are screenshots of three sections of the readme showing:

  1. list of 32 shape types (both 2D and 3D)
  2. list of 54 polymorphic functions/operations to manipulate/convert/analyze shapes & shape hierarchies
  3. list of additional 40 shape creation functions

Still to come: Documenting the bundled preset implementations of:

  • vertex convolution kernels (3)
  • curve subdivision strategies (8)
  • polygon/polyline to bezier conversion strategies (3)
  • polygon tessellators (9)

(...and how most of these can be combined & applied iteratively. Some of the recent/existing examples are already hinting at the potential...)

Screenshot of a section of the linked GitHub readme, showing a table of 54 polymorphic functions/operations to manipulate/convert/analyze shapes & shape hierarchies
Screenshot of a section of the linked GitHub readme, showing a list of links to additional 40 shape creation functions

mathling, to genart
@mathling@mastodon.social avatar

interlude

Escape from
3sin(z)⁶+3sin(z)⁵-sin(z)⁴-2sin(z)³+2sin(z)²+3sin(z)
island

More refactoring: an escape plot using the smooth colouring techniques from the Newton fractals

toxi, to random
@toxi@mastodon.thi.ng avatar

Added a new small example for a new feature in https://thi.ng/geom, which allows embedding custom https://thi.ng/hiccup data/elements (e.g. for presentation/visualization purposes) into shape/geometry hierarchies...

In the example we're using some gradient definitions and then also show how the same geometry can be drawn to canvas and serialized to SVG

Demo:
https://demo.thi.ng/umbrella/geom-extra-hiccup/

Commented source:
https://github.com/thi-ng/umbrella/blob/develop/examples/geom-extra-hiccup/src/index.ts

(Again, as with the other recent new examples, this is about an still unreleased feature of the upcoming v8.0.0 of https://thi.ng/geom, one of the biggest updates in recent years...)

#ThingUmbrella #SVG #Gradients #Visualization

chriskirknielsen, to CSS
@chriskirknielsen@front-end.social avatar

Man, I just really love and . Built a little distortion effect in SVGFM (https://svgfm.chriskirknielsen.com/ always be plugging), then added an animation tag in the turbulence primitive to get some movement, converted that to a data URI SVG with the filter ID at the end, and voilà, shown on hover!

PS: Of course it doesn't work at all in Safari, and looks pretty poor in Chrome compared to Firefox. 🫠

A short clip of buttons being hovered on my website in the Cyberpunk theme. Each button has a short animated glitch effect on hover, where the distortion applies to the content itself as well as the button box.

WPEWebKit, (edited ) to random
@WPEWebKit@floss.social avatar

We have Nikolas Zimmermann right now presenting about @webkit's new engine status.

For those who want to follow remotely:
https://www.youtube.com/watch?v=r4tPJDj7nm0

mathling, to genart
@mathling@mastodon.social avatar

interlude

I was doing some refactoring; so a nice little Newton fractal for you using the glorious "managua" gradient for the colouring

f(x) = sin(x)⁶+3sin(x)⁵-sin(x)⁴-2sin(x)³-2sin(x)²+sin(x)+2

itsfoss, (edited ) to linux
@itsfoss@mastodon.social avatar

Which one? 🙂

textovervideo,
@textovervideo@fosstodon.org avatar

@itsfoss I want to learn SVG. While not Linux related only, I want to learn the tools on Linux that are oriented to working with SVGs.

toxi, to typescript
@toxi@mastodon.thi.ng avatar
youronlyone, to keyboard
@youronlyone@c.im avatar

Uploaded four (4) #keyboard layout files over at #WikiCommons.

  • SVG format
    ** text and path methods
  • CC By-SA 4.0 International License

Here are the links:

  1. https://commons.wikimedia.org/wiki/File:Keyboard-layout-blank-text_(keycodes_only).svg

  2. https://commons.wikimedia.org/wiki/File:Keyboard-layout-blank-text_(keycodes_and_labels).svg

  3. https://commons.wikimedia.org/wiki/File:Keyboard-layout-blank-path_(keycodes_only).svg

  4. https://commons.wikimedia.org/wiki/File:Keyboard-layout-blank-path_(keycodes_and_labels).svg

PS

  • ‹text› method allows anyone to change the font as well as to translate the text.
  • ‹path› method is “embedded” (if you will), and thus, not translatable and the font design is fixed.

It's licensed under #CreativeCommons #BySA 4.0 because the source file, in PNG format, is under the same license. I actually prefer to release it under CC0/CCzero (a.k.a. Public Domain). Although in some jurisdictions, it can only be Public Domain because there's nothing artistic about an ISO-based keyboard layout.

The changes I made:

  1. Converted the PNG source to SVG.
  2. Removed the labels of non-basic keys.
  3. Updated the name of some keys
  4. Changed some of the symbols
  5. Used Noto Sans, Noto Symbols, and Noto Symbols 2.

Enjoy!

#SVG

friction, to animation
@friction@floss.social avatar
mathling, to genart
@mathling@mastodon.social avatar

#GenerativeArt interlude

One day in 10000BC, deep in the cave
A wee bit of art forgery

A little experiment with Symbola glyphs and path simplification

#XQuery #SVG

fractalkitty, to genart
@fractalkitty@mathstodon.xyz avatar

I thought I'd work on learning to animate svgs today:

https://bobble-birbs.netlify.app/

Of course they are birbs – 1000 of them.

toxi, to genart
@toxi@mastodon.thi.ng avatar

Little Friday night gift for a friend (& example in ): How to generate & then recursively tessellate a hex grid and visualize as SVG, all via just https://thi.ng/geom & https://thi.ng/transducers...

Demo:
https://demo.thi.ng/umbrella/geom-hexgrid/

Source code:
https://github.com/thi-ng/umbrella/blob/develop/examples/geom-hexgrid/src/index.ts

(cc @nkint)

toxi,
@toxi@mastodon.thi.ng avatar

(Almost) same code, alternative tessellation (swapped order: first quad fan, then edge split). Also using 4 colors (vs two) to tint result polys...

#ThingUmbrella #Geometry #Hexagon #Grid #Tessellation #Recursion #GenerativeArt #SVG #TypeScript #Javascript

toxi,
@toxi@mastodon.thi.ng avatar
toxi,
@toxi@mastodon.thi.ng avatar
doctormo, to python
@doctormo@floss.social avatar

I'm slowly making my way through a 8 thousand line python addition to 's library for parsing text and font elements in properly. It's important and useful, but it's also a lot.

I'm not sure how to say "please run pylint over your code because my eyes hurt trying to read this". without sounding like an ungrateful jerk. 😅

mathling, to genart
@mathling@mastodon.social avatar

interlude

I announced the new version of my art code yesterday, and a new slew of solid geometry stuff and hooks to my art shell was part of it. So here's a little bonus treat made with these things:

"large red fish fills portland dodecahedron at center"

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • khanakhh
  • mdbf
  • ethstaker
  • magazineikmin
  • GTA5RPClips
  • rosin
  • thenastyranch
  • Youngstown
  • InstantRegret
  • slotface
  • osvaldo12
  • kavyap
  • DreamBathrooms
  • JUstTest
  • Durango
  • everett
  • cisconetworking
  • normalnudes
  • tester
  • ngwrru68w68
  • cubers
  • modclub
  • tacticalgear
  • provamag3
  • Leos
  • anitta
  • lostlight
  • All magazines