Tag Info

Hot answers tagged

8

The following works for your curve: points = {{1, 4}, {.5, 6}, {5, 4}, {3, 12}, {11, 14}, {8, 4}, {12, 3}, {11, 9}, {15, 10}, {17, 8}}; deg = 3; pointsCLOSE1 = Join[points, points]; n = Length@pointsCLOSE1; knotsCLOSE1 = Range[0, 1, 1/(n + 1)]; ParametricPlot[deBoor[pointsCLOSE1, {deg, knotsCLOSE1}, t], {t, deg/(n + 1), 1}, Axes ...


7

When I set iterations = 3; α = π/5; and run your program and then execute curve // LeafCount I get (* 15649 *) The problem is that you should compute numerical (not exact) results Just replace: rotm[x_] := N@{{Cos[x], Sin[x]}, {-Sin[x], Cos[x]}}} and it runs


4

Calculating and specifying ImageSize are some kind of cumbersome. An easier way to do what OP asked would be using the same PlotRange for every plot. The main idea is to plot all graphics with default options, then measure their actual PlotRange with the Charting`get3DPlotRange function described by Michael E2 in his this answer, from which we can then ...


3

Using a specific projection I get this: Row[{Graphics3D[{Opacity[.6], pic1}, ImageSize -> {Automatic, 200}, PlotRangePadding -> None, ViewPoint -> {100, 100, 100}], Graphics3D[{Opacity[.6], pic2}, ImageSize -> {Automatic, 200*5/4}, PlotRangePadding -> None, ViewPoint -> {100, 100, 100}], Graphics3D[{Opacity[.6], pic3}, ...


3

Does it need to be using Row? The problem here is that the size of the sphere within the Graphics3D object depends upon the viewing point, viewing angle, etc. So even if you try to explicitly make the sizes of the two Graphics3D objects proportionally correct, you get this: pic1 = Sphere[{0, 0, 0}, 1]; pic2 = {Sphere[{-1, 0, 0}, 1], Sphere[{1, 0, 0}, 1]}; ...


3

I discovered a good reference by Google today occationly, please here There are many ways to generate closed curves. The simple ones are either wrapping control points or wrapping knot vectors. Wrapping Control Points Suppose we want to construct a closed B-spline curve $C(u)$ of degree $p$ defined by $n+1$ control points $P_0, P_1, \cdots, P_n$. The ...


1

@mikuszefski's idea of adjusting the overall height of the pictures, according to the number of spheres was very helpful. The diameter of an icosahedron with n shells (not counting the innermost sphere) is 2r(1+2n). Setting this as the image height, times a factor for magnification (here 150) produces this: Here's the code for this, there might be room for ...


1

Here are the modifications that need to be done on your plots h1 and h2 in order to flip them over the line y == x. If you look "under the hood" at the structure of these two plots by executing, for instance, FullForm@Normal@h1 you find that really there are only two objects, a Line and a Polygon. Both of these Heads take inputs which are lists of {x, y} ...


1

It turned out that for some reason the image got re-sized to a slightly different pixel width and height. Fixing the width explicitly to the original value removed the artifacts: Gimg1 = Graphics[Inset[img1, {0, 0}, {199.5, 141.5}, 400], PlotRange -> {{-199.5, 199.5}, {-141.5, 141.5}}, ImageSize -> 400]; Gimg2 = Graphics[Inset[img2, {0, 0}, {199.5, ...



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