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.
60 lines
4.2 KiB
Markdown
60 lines
4.2 KiB
Markdown
3 months ago
|
# Plyplot
|
||
|
|
||
|
Render pointcloud files to ready-to-plot svg.
|
||
|
|
||
|
Excerpt coming from the contribution for the [Pen plotting at XPUB](https://hub.xpub.nl/chopchop/PEN-PLOTTING-PARTY/Pen_plotters.pdf) 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:
|
||
|
|
||
|
- [Plyplot](https://git.xpub.nl/kamo/plyplot)
|
||
|
- [Render 3d scenes from webgl to svg](https://www.generativehut.com/post/render-3d-scenes-from-webgl-to-svg)
|
||
|
- [From obj to pen plotter](https://www.generativehut.com/post/from-obj-to-pen-plotter)
|
||
|
- [Plotter vision - SVG culling](https://plotter.vision/)
|
||
|
|
||
|
## Setup
|
||
|
|
||
|
The prototype includes several [vvvv](https://visualprogramming.net/) patches with diferent tryouts. In order to run them you need to install vvvv gamma.
|