# Tag Info

43

Yes we can. The following DashedGraphics3D[ ] function is designed to convert ordinary Graphics3D object to the "line-drawing" style raster image. Clear[DashedGraphics3D] DashedGraphics3D::optx = "Invalid options for Graphics3D are omitted: 1."; Off[OptionValue::nodef]; Options[DashedGraphics3D] = {ViewAngle -> 0.4, ViewPoint ...

15

Let's get a black torus: torus = First@ParametricPlot3D[{Cos[u] (3 + Cos[t]), Sin[u] (3 + Cos[t]), Sin[t]}, {u, 0, 2 Pi}, {t, 0, 2 Pi}, PlotStyle -> Black, Mesh -> None, PlotPoints -> 10] and now, this is a way to go: DynamicModule[{d1 = 0, d2 = 0}, Column[{ Graphics3D[{ ...

13

body[t_] = Integrate[#[u^2], {u, 0, t}] & /@ {Cos, Sin} ParametricPlot3D[body[t]~Join~{t}, {t, -2 Pi, 2 Pi}, BoxRatios -> 1, SphericalRegion -> True]

8

Seeing Silvia's phenomenal answer I've been inspired to take a crack at this. My method requires the use of ColorFunction so it only works for plots rather than general Graphics3D geometry. However, it does find silhouette edges in the interior of the image, as well as those hidden behind other surfaces (such as the missing side walls of the internal ...

6

Please tell me if this meets your needs, I feel it does: Graphics3D[{{Yellow, Sphere[AstronomicalData["Sun", "Position"], 0.05]}, AstronomicalData[#, "OrbitPath"] & /@ otherCelestials}, Axes -> True, SphericalRegion -> True, ViewVector -> {{1, -2, 1}, {0, 0, 0}}] Manipulate[ Graphics3D[{{Yellow, ...

5

This is a bug which seems to be related to the fact that the foreshortening of the arrow is not scaled correctly with the end points of the arrow. The head and shaft of the arrow are treated separately, which may have some benefits (for example, it allows you to independently specify an option Appearance in Arrowheads that determines if the head appears ...

5

I was surprised that Graph supports 3D coordinates at all (!!). Layout algorithms supported in Graph are 2D only. The problem doesn't seem to be with Graph itself but the Graphics3D object it translates to. Here's a smaller example of the same: Show@Graph[{1 -> 2}, VertexCoordinates -> {1 -> {0, 0, 0}, 2 -> {1, 0, 0}}] Show converts it to a ...

5

Kuba has identified the missing piece of the puzzle in his comment, Scale. With Scale you can make the dodecahedron smaller or larger. Other than that it's just a matter of replacing Sphere. Graphics3D[{{Opacity[.3], FaceForm[Yellow], PolyhedronData["Dodecahedron", "Faces"]}, Brown, Scale[PolyhedronData["Dodecahedron", "Faces"], 0.5]},Boxed -> ...

4

Wrong use of Graph in this case I believe. I think the following does what you're after: Graphics3D[{FaceForm[], EdgeForm[Blue], PolyhedronData["GreatRhombicosidodecahedron", "Faces"], PointSize[Large], Red, Point /@ PolyhedronData["GreatRhombicosidodecahedron", "VertexCoordinates"]}, Boxed -> False]

3

BSplineFunction[{{0., 1.}, {0., 1.}}, "<>"] is a map from parametric space to "plotting" space, i.e. $\mathrm{BSplineFunction}:(u,v)\mapsto (x,y,z)$, so instead of Plot3D[surfFn[x/7, y/5][[3]], {x, 0, 7}, {y, 0, 5}], it should be written as ParametricPlot3D[surfFn[u, v], {u, 0, 1}, {v, 0, 1}]. cpts = Table[{x, y, RandomReal[{0, 2}]}, {x, 0, 7}, {y, 0, ...

3

Like bobthechemist says you have to use ViewCenter to specify what point you want to zoom in on without specifying any absolute coordinates. For example in ViewCenter->{0.5,0.5,0.5} the 0.5 means 50 percent of the plot range in the x, y and z direction respectively. Similarly when you position objects you have to give their position in a number of ...

3

If ViewVector is set to be Automatic it will be the vector that starts at ViewPoint and ends at ViewCenter, which means that ViewVector and ViewPoint are tied to each other. You can think of the origin of ViewVector as the position where the camera filming the scene is located, and its direction as what direction it points in. So as long as ViewVector is ...

3

It looks to me like you've got some inconsistency in your VertexNormals. This can certainly happen with numerically generated functions though, as others have rightly pointed out, it's hard to say for sure without some more specific info. Here's a simple way to force this sort of thing to happen. (* A list of vertices to feed to Polygon *) pts = ...

3

The orbit path is given in astronomical units whereas the position is given in meters, so you have to scale: UnitConvert[Quantity[1, "AstronomicalUnit"], "m"] (* Quantity[149597870700, "Meters"] *) Animate[ Graphics3D[ { (AstronomicalData[#, "OrbitPath"] /.Line[a__] :> Line[149597870700 a]) & /@ AstronomicalData["Planet"], ...

2

WRI Tech support confirm a bug. ImagePadding->All should work. Edit To address Bretts comment: In 2D ImagePadding->All works -- the ImageSize increases in the x direction by the amount of padding required. Nothing has to give. Why does something have to give in 3D?

2

Also fix BoxRatios, PlotRange... 1-way: PerformanceGoal -> "Quality": Animate[SphericalPlot3D[Sin[(3/z)*x], x, y, PlotStyle -> Opacity[0.7], PerformanceGoal -> "Quality", BoxRatios -> 1, PlotRange -> 1], {z, 1, 5}] 2-way: specify explicitly options that set the quality: Animate[SphericalPlot3D[Sin[(3/z)*x], x, y, PlotStyle -> ...

1

What is going on? By Trace-ing the ContourPlot3D, I found the warning (on my MMA) comes from a function SystemProtoPlotDumpfindextreme (Hereafter, the context SystemProtoPlotDump will be omitted for readability): findextreme[{f_, {x_, xmin_, xmax_}, {y_, ymin_, ymax_}, {z_, zmin_, zmax_} }] := ...

Only top voted, non community-wiki answers of a minimum length are eligible