Erik Mondrian

@rainstormsky.com

Writer, Artist, Scholar, Dreamer. 🏳️‍🌈 Passionate about virtual places; there's more to life than being real. he/they #NoAI https://youtube.com/erikMondrian https://primfeed.com/erik.mondrian https://fosstodon.org/@erikMondrian

People are amazing. People are beautiful. People are brilliant and naive, suspicious and trusting, full of love and doubt and fear and that poison we call "hate" but which is often just pain and desperation and insecurity, magnified and misdirected by those who benefit from keeping us apart.

Been meaning to make some tutorial videos for @blender.org's Python API (or even a detailed walkthrough of how I used bpy to create my #SecondLife terrain models). In the meantime, a quick example of how to turn a mesh grid into a sine wave, in just two lines of code. More info in the alt text. #b3d

A screenshot of the "Layout" workspace in Blender 5.2.0, showing a mesh grid and how to create it (using Add -> Mesh -> Grid). Also shown are the "Add Grid" parameters, where the X and Y Subdivisions have each been changed to 100 and the Size has been set to 10 meters.

Note: You can increase or decrease the subdivisions in order to change how smooth the wave will be. Changing the mesh's size here will affect how many times the wave will repeat across the mesh (how many cycles, in other words).A screenshot of the "Scripting" workspace in Blender 5.2.0, showing the interactive Python Console, where the following two lines of code were just run:

for vertex in bpy.data.objects['Grid'].data.vertices:
    vertex.co.z = sin(vertex.co.x)

Note: You can also combine functions and/or use different coordinates (multiplying the sin of the x coordinates by the cos of the y coordinates, for example). Have fun and experiment!

Below the Console is a 3D Viewport where the mesh grid now resembles a sine wave; to the right is the Text Editor, displaying the following text and code examples:

# Don't forget to 'import bpy' and any other necessary modules (like math) if running scripts from Blender's Text Editor or when using Blender from the command line. If using its interactive Python Console, the bpy module is already available.

# Also, because of the Console's "Convenience Variables" for bpy's context and data hierarchies, the code to the left could also be written there as follows:

for vertex in D.objects['Grid'].data.vertices:
    vertex.co.z = sin(vertex.co.x)

# Again, keep in mind that the 'C' and 'D' variables are just shortcuts. If you want to use them in scripts outside of Blender's Python Console, you have to define them yourself.



# Extra Credit:

# An object is not the same as its mesh. A mesh technically lives in its own branch of the bpy.data hierarchy; each mesh can be linked to one or more objects. In this case, the 'Grid' object and the 'Grid' mesh happen to share the same name, but they don't necessarily have to.

# In the code example(s) shown here, the '.data' of the 'Grid' object refers to the mesh data that it's linked to (different object types have different kinds of data), and the vertices belong to the mesh. We could therefore also have written the code this way instead, addressing the mesh directly:

for vertex in bpy.data.meshes['Grid'].vertices:
    vertex.co.z = sin(vertex.co.x)
Erik Mondrian@rainstormsky.com · last yr.

Did some personal "art therapy" today with @blender.org and its #Python API, repositioning the vertices of a mesh grid using trigonometric functions like sine and cosine. The results are quite abstract, but I like how they turned out. They work pretty well as desktop backgrounds too. #b3d #VisualArt

An abstract image made in Blender, showing a curved plane that resembles part of a sine wave. There is also a checkerboard pattern of raised and lowered tiles, tinted purple, that alternate between light and shadow.

I know he means well, but it's still frustrating when a friend keeps suggesting that I just "try AI" during a particularly challenging project (especially when he doesn't understand all the details involved). I don't use AI out of principle; I also know when, even if I wanted to, it wouldn't help.

Just because I embrace my differences, it doesn't mean that I'm not bothered by the fact that I don't really fit in. You can be true to yourself and still sometimes wish that you were more like other people.

Bite-sized thoughts are all well and good, but what happens when we need to chew on ideas and questions that aren't as easily reduced to a social media post? With so many people apparently turning to AI to do the "thinking" for them, maybe the real issue is we don't know why we should think at all.

I can't believe it's actually been 21 years (and a couple days) since I first joined #SecondLife, way back on March 23, 2005. 🦊 This virtual world is not without its challenges, of course, but it's still an amazing place (with amazing people) that keeps me coming back over two decades later. #RezDay

A screenshot of the "Happy Rez Day" email that I received from Linden Lab a couple days ago, on March 23, commemorating my twenty-one years in Second Life:

"Erik, it's your 21st Rez Day!

Second Life is fun, weird, and always evolving, but the magic ingredient is YOU. The vibrant worlds you build and the sense of community you provide for others is simply priceless. Here's to another year of imagination and experiencing the impossible.

-The Second Life Team"

The email then lists a few "milestones" to let me know that I visited 662 different regions over the course of the past year, teleported 640 times, and at one point logged in (and out) every day for nine days in a row. The email also mentions that the average Resident visited 87 different regions, with 220 teleports, and had a daily log-in streak of three days in a row.

Thinking a lot lately about all the things in #SecondLife that we as longtime Residents overlook and "forgive" mainly because we're so used to them, forgetting how off-putting they might be to people who aren't as familiar with SL and its idiosyncrasies. It's no wonder so few new users stick around.

This is not a slight against allies. We wouldn't survive without them. 🧡 Still: I think it's extremely difficult (maybe impossible) for straight, cisgender people to truly understand what it feels like to live in a world where your gender identity or sexuality (or both) do not match the norm. #LGBTQ

The name "Popular Science" doesn't mean we shift our coverage depending on public opinion. It means we cover relevant subjects that are rigorously researched, reliable, and grounded in reality. And trans lives are grounded in reality. We see y'all. No matter what. www.popsci.com/science/tran...

First-of-a-kind study shows encouraging data for trans kids who socially transition

Ninety-four percent of participants in a new study stood firm in their trans identity after five years, and "detransitioning" is rare.

popsci.com

Today is the Transgender Day of Remembrance. It is a day set aside on the 20th of November every year to honor those lost due to anti-transgender violence. This is a day for mourning our loses, and a day to rededicate ourselves to the fight against anti-trans hatred. #TDoR2025 🧵

A transgender pride flag at night, being illuminated by a nearby light source. This is the flag pole near Castro Street in San Francisco.