Re: LiveGraphics3D: missing geometry

*To*: mathgroup at smc.vnet.net*Subject*: [mg18156] Re: LiveGraphics3D: missing geometry*From*: Martin Kraus <Martin.Kraus at informatik.uni-stuttgart.de>*Date*: Sat, 19 Jun 1999 23:54:24 -0400*Organization*: University of Stuttgart*References*: <7kckm1$lrl@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Clara wrote: > > Hi all! Hi Clara! :) > I am doing a scholar work in mathematica 2.0 and I use the applet > LiveGraphics3D to display my graphics in an web browser. For everyone who never heared about LiveGraphics3D: It is a free Java applet which allows to display and interactively rotate Mathematica graphics in HTML pages. (No knowledge about Java is required to use it, but a basic understanding of HTML is very helpful.) The applet (and its documentation) can be downloaded here: http://theorie3.physik.uni-erlangen.de/~mkraus/Live.html or in MathSource: http://www.mathsource.com/cgi-bin/MathSource/Enhancements/Interfacing/Web/0209-281 > My problem is the applet do not show the graphic properly (some geometry > is missing). Do you know about this problem? In fact if geometry is missing there is usually an error in the input which is not reported by the applet. This is because the applet ignores primitives and directives which it does not know. In these cases Mathematica usually sends a warning saying "unkown graphics primitive ..." (or something like that) but the applet just drops it. I guess this is what happened to you. > Have you any solution for it? Yes! :) Just correct the input! As a check you can always let Mathematica show the expression which you want the applet to show. If Mathematica can show it without complaining, the applet should also. > Thanks in advance for any help. > The code I am using is the following: > > Needs["Graphics`ContourPlot3D`"] > f[x_,y_,z_]= x+y-3z-4; > g[x_,y_,z_]= x^2+y^2-z^2; > > g1=ContourPlot3D[f[x,y,z],{x,-4,3},{y,-4,3},{z,-4,3}, > PlotPoints->2, Boxed->False,DisplayFunction->Identity]; > > g2=ContourPlot3D[g[x,y,z],{x,-3,3},{y,-3,3},{z,-3,3}, > PlotPoints->5, Boxed->False,SphericalRegion->False, > FaceGrids->None,DisplayFunction-> Identity]; > > g3= Show[g1,Graphics3D[{FaceForm[ > SurfaceColor[RGBColor[0.502,1.000,1.000]]], > Cases[g2,_Polygon,Infinity]}],DisplayFunction->$DisplayFunction] > This seems to be correct. (I cannot test it right now, sorry.) > NumberForm[InputForm[Graphics3D[SurfaceGraphics[g3]]],5] This line probably produces the problem because SurfaceGraphics3D[g3] should not evolve to anything sensible. (You can convert a SurfaceGraphics3D object to a Graphics3D object but NOT vice versa!) I would suggest to use: NumberForm[InputForm[g3],5] This should work fine. (I do not understand what you intended with Graphics3D[SurfaceGraphics[...]]. SurfaceGraphics only appear when you use Plot3D, otherwise you should (and have to) avoid them.) In general you can always check for problems with Mathematica by calling Show with the argument of InputForm. In your case you should try within Mathematica: Show[Graphics3D[SurfaceGraphics[g3]]] (* THIS CODE DOES NOT WORK! *) which should produce a warning or an error within Mathematica. If you keep having problems, please let me know. Otherwise, if you succeed to use the applet, please put your graphics into the web and let me know the URL. :) In any case I am happy about any feedback about LiveGraphics3D! (I happen to be the author.) Greetings Martin Kraus