Hi all,
this is a feature request for a brilliant library currently developed by Marlon Schumacher. Suppose I have a 3D gesture stored with the save-spat-sdif object in OM-Spat. With “segment-gesture”, I can segment the gesture temporally according to the sdif frames. But what if I what to segment the gesture spatially, for example producing a series of slices of the 3D curve into the XY plane? So, there any tools in OM-Geste to analyze the gesture spatially by slicing it according to an arbitrarily specified plane? If not, I’d really need something like this in OM-Geste, because that would improve the analysis of the gestures bringing it on an entire new level. Thanks for your kind attention.
Best,
Francesco
Hi Francesco,
Thanks for your interest! Would you have a concrete example of an application for the slicing of a point moving in 3D into XY planes?
On a first thought it seems to me to be something rather useful for manipulating functions in general - not specific to OM-Geste. For the time being, I have attached an OM patch (not very efficient) that should do what you were asking for.
Cheers,
Marlon
om-geste_xyplane.omp (40.3 KB)
Dear Marlon,
many thanks for your quick reply and for your interesting patch. You are right: this kind of manipulation would be useful for manipulating 3D functions in general, and not only OM-Geste, but also OM-Prisma could be improved with this new feature. I have no concrete examples, and the XY was chosen arbitrarily, but, thinking in abstract, an example of application of the slicing (according to a cutting plane that is not necessarily equivalent to XY, YZ or XZ, but with an arbitrary angle) could be useful to use the slices as sdif frames (for analysis and synthesis).
All the best,
Francesco
Dear Marlon,
I have two questions regarding your beautiful patch: I see that the filter is applied only to one coordinate (the z in your example), and so the slices of the 3dc which can be obtained with this method are 3-dimensional (with the only exception that, if I use a step = 1 in the arithm-ser, I get a series of separate voxels), but what would you do in order to extract 2D slices of the 3dc? I guess that something in the filter patch should be changed: any ideas? Moreover, what should be added to the overall parch to join the coplanar points (in fact, the 2D slices should contain all the points that are coplanar with respect to the cutting plane)? Thanks as always for your patience and your kind attention.
Best,
Francesco
Hi Marlon,
are there any news about the “slicing” algorithm for OM-Geste and OM-Prisma? It would be great if you could implement it in your libraries within this year…
All the best,
Francesco
Hi,
It’s been a while What you are asking for is doable but requires a bit more work. If we assume for now that the cutting plane is the horizontal plane you can use a single z value to find if the line between two successive points in our 3D curve cuts this plane (e.g. via different signs in the difference between the z values of nth-point and plane and nth-1-point and plane), and linearly interpolate to get the point on the plane. Then, if I understand correctly, you can construct new 2Dcurves (BPCs) from these interpolated points.
Cheers,
M
Thanks Marlon for your reply. Your idea is good, and similar to my experiments, with which I’ve come to the conclusion that what I’m exactly looking for is a lisp implementation of the 2D Fourier Slice Theorem (also known as the Projection-slice theorem). That is the most precise way to define the “wanted feature” I was talking about (and basically it would be an expansion of the set of the projective transformations already present in OMPrisma and now in the main OM package as OM-Rotate, OM-Mirror, etc…). All the best,
Francesco