X-Ray tool

Some experiments to make sort of X-Ray images, indeed It outputs distance








Reference Engine from Artec /Renault


from

Armadillo

11 Likes

Very cool. Could you explain the process a bit more?

I first define a screen (radiographic film), I have a tool for that
You input objects, a direction, and pixel size in X and Y. This tool outputs two planar meshes that represent a film with pixels.

Then I throw ray along the meshes and I look if segments of ray are inside or outside (for a volume) and I sum the distances

If object are surface I have a default thickness that I add each time there is an intersection

As I output distance it is also possible to use real attenuation for X ray, so it could be possible to mimic better Xray looking.

3 Likes

clever! Thank you for the break down

It uses that
https://developer.rhino3d.com/api/rhinocommon/rhino.geometry.intersect.intersection/meshline

Interesting!

It seems you picked the darker area of the picture and set that for bound-limit 0-1 greyscale for the rest the picture. Maybe adding a fixed threshold would give a more constant appearance to objects.
In your video it seems the torso is changing thickness depending on the camera angle…

… will this be part of Nautilus?

Indeed I didn’t make lot of effort on this, because max distance change depending on the angle. Yes I must have used a threshold or an attenuation Law (exp(-lambda*distance)). to make realistic images.

Yes it will be in Nautilus along Thickness Analysis. But here I have some Gradient problem doing the same as in Rhino


Now my tools outputs the same color as Rhino

3 Likes

Cool stuff!

I think that a volumetric representation (and its mesh) would be a good addition to Rhino. 3D meshers are out there. Oddly, CF-Mesh (free/shareware) (cfmesh) merely makes truncated cubes, but the magic is that it runs reliably. Tetgen’s/Negen’s unstructured mesh can make some beautiful meshes, but OpenFoam complains about their “badness.”

That stated, Rhino’s Quad-remesh, makes some good looking structured surface meshes, and would make a good basis for a 3D mesh (nudge). One of the hardest parts of solving–is getting a good mesh.

Paraview (free as in beer) has a good volumetric visualization. It might be able to do its own tetrahedrialization.

If you knew the present camera normal, an object may be sliced depth-wise. The pieces could be given a translucent material.

Nice and professional works :slight_smile:

hello! is there any way you could share the tool used to get screen from object. As well as the radiation tool.

thanks!

Hello
this is in 1.9.7 version, available in Package Manager

At the moment Xray is in paid version


Xray_licence.gh (9.8 KB)

Evaluation licence to put i same directory as LDLIB.dll or one directory upper (better i you use package manager)
NautilusLicencesEvaluation.xml (13.9 KB)

X ray around (it uses the screen normal for the direction of Ray


XrayAround_licence.gh (10.6 KB)

Thickness Analysis is also there


Thickness Analysis.gh (7.6 KB)

1 Like