Render .ply files into .svg
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
km0 26b2371004 upload after plotter party 10 months ago
output upload after plotter party 10 months ago
plyplot/translate_svg upload after plotter party 10 months ago
translate_svg upload after plotter party 10 months ago
.gitignore upload after plotter party 10 months ago
README.md upload after plotter party 10 months ago
correct-svg-size.vl upload after plotter party 10 months ago
plyplot.vl upload after plotter party 10 months ago
plyplot_line.vl upload after plotter party 10 months ago
plyplot_perlin.vl upload after plotter party 10 months ago
plyplot_perlin_2.vl upload after plotter party 10 months ago
plyplot_rect2.vl upload after plotter party 10 months ago

README.md

Plyplot

Render pointcloud files to ready-to-plot svg.

Excerpt coming from the contribution for the Pen plotting at XPUB zine.

Plot twist - it was not a technical issue

For the last four years I've been researching practices of 3D documentary, finding some interesting tension between a genre that traditionally claims to be "objective" and "natural", and a super digital & constructed technique such as photogrammetry. ( A process to create 3d models starting from a series of photos of the same subject).

Eventually this tension resolved with the growing awareness that the friction is not a matter of technical complexity or abstract remediation, but more related to the context around each tool, its language, and the way it interacts with its surroundings.

With this in mind I've started enjoying working with photogrammetry models, despite their visual clunkiness and not-so-ergonomic form-factors. In particular, I've been busy with pointclouds portraying geological subjects, such as avalanches and quarries.

Pointclouds is pointillism for 3D models, and from pointillism to plotillism is really a short call.

So here is a prototype to transform pointcloud files (.ply) to SVG ready to plot, in short: plyplot.

  1. Take a lot of pictures of an avalanche
  2. Generate the photogrammetry with software such as Meshroom, export it as .ply file
  3. Run plyplot to render the SVG
  4. Plot

Plyplot is a vvvv script that project the 3D pointcloud into a 2D view, rendering it as an SVG.

Outcomes and issues

Some plotters complained! Too many points to plot. Wonder if the bottleneck was inkscape, since I was plotting from the its plugin. Will try a more lazy approach, sending just a few point at the time and not all of them together. (This is somehow the way NLTK uses to operate with very large dataset, or haskell with infinite lists)

The SVG paths were triggering some error in the plotter: probably because their coordinates were overflowing the viewbox attribute of the SVG. Solved it by applying the transform to the path positions before rendering the SVG.

The programming environment caused some problem! Plyplot was developed in vvvv, a visual programming language really handy to develop quick prototypes. It's my go-to choice when I want to relax and figure out a problem having fun.

Unfortunately the editor is available only for Windows, that is not exactly the most popular OS in the xpub bubble.

In my two years studying here, I've progressively used it less and less, especially for the reason of not being able to share the scripts with my dear friends, and a perceived problem of technical accessibility.

My initial aproach to share it was to rewrite it using browser based libraries, but because of time and energy constraints the plan didn't work out. During the research I found indeed some really interesting resources linked at the end, but in general the contribution was spiraling, an not in a plotter way.

I had almost decided not to share anything, until I realized:

What if this script doesn't need to be universally accessible? What if the operative system it runs on is not a technical problem, or a problem at all? What if it's already enough, even precious to share the tool and the context around it, the situation from which it emerged?

Plot twist: it was not a technical problem. It wasnt even a problem at all.

Somehow these thoughts resonated a lot with the initial riddle between documentary and 3d and the situatedness of a tool. So I felt like sharing the script even though it runs only on windows 😝😝😝 Find it on the xpub git tomorrow!

This was a nice redemption arc for me, I humbly thank my friends in the bubble.

Resources:

Setup

The prototype includes several vvvv patches with diferent tryouts. In order to run them you need to install vvvv gamma.