0
$\begingroup$

With dimension reduction, It's possible to visualize image data in 2D by using the PlotMarkers option:

ListPlot[List /@ xy, 
PlotMarkers -> (Image[#, ImageSize -> 100] & /@ tree), 
ImageSize -> 2000]

(which comes from here: https://www.wolfram.com/language/11/improved-machine-learning/visualize-a-dataset-using-feature-extraction.html?product=mathematica)

However, if one wishes to have 3D dimension reduction with images as points, you can't really do that.

I have seen a post that says one can replace the points in ListPointPlot3D with shapes like so:

lpdata = Table[(4 Pi - t) {Cos[t + Pi/2], Sin[t + Pi/2], 0} + {0, 0, t}, {t, 0, 4 Pi, .1}];

lpp1 = ListPointPlot3D[lpdata, 
    Filling -> Bottom,  ColorFunction -> "Rainbow", BoxRatios -> 1, 
    FillingStyle -> Directive[LightGreen, Thick, Opacity[.5]],  ImageSize -> 400];
lpp2 = lpp1 /. Point[x__] :> (Sequence@{EdgeForm[], Cone[#, .3]} &@
        ({x} /. {{a_, b_, c_}} :> {{a, b, c}, {a, b, .5 + c}}));

Row[{lpp1, lpp2}, Spacer[5]]

From: Point style in ListPointPlot3D

This and this post: Use a custom3D graphic for points in ListPointPlot3D

Are somewhat relevant, but I wanted to ask if it's at all possible to replace points with classic 'sprites' that are 2D images in 3D space that always face the viewer, or even just small static 2D planes in 3D space with the image projected onto it would be great.

Is any of this possible?

$\endgroup$
  • 1
    $\begingroup$ Well, there's Inset[]: Graphics3D[Table[Inset[Graphics[{Texture[ExampleData[{"TestImage", "Lena"}]], Polygon[{{0, 0}, {1, 0}, {1, 1}, {0, 1}}, VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}, ImageSize -> Tiny], ConstantArray[j, 3]], {j, -4, 4, 2}]] $\endgroup$ – J. M. is away Dec 30 '16 at 9:24
  • $\begingroup$ How can I utilise that in the context of listpointplot3d? $\endgroup$ – Peaser Dec 30 '16 at 10:16
  • $\begingroup$ You seem to be well-versed in making substitutions judging from the code you posted, so: Normal[lpp1] /. Point[plist__] :> Inset[sprite, #] & /@ plist $\endgroup$ – J. M. is away Dec 30 '16 at 10:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.