4

What if you scale underlying points of MeshRegion? That way you have complete control and you can use geometric transformation functions like ScalingTransform, RotationTransform, etc. (* mesh comes form OP's code *) newCrds = ScalingTransform[{2, 1}] /@ MeshCoordinates[mesh] MeshRegion[newCrds, MeshCells[mesh, 2], Frame -> True]


4

I faced with the same issue. Using Mathematica's function ExportString[…, "ExpressionJSON"] I attempted to export the whole tree of graphical functions and wrote a parser in JS. It was uploaded to GitHub, here is the link. There is a primitive construction with a lot of "switch-case" statements. Each of them implements self function like changing the color ...


2

You can use the special form ImageSize -> 1 -> {a,b} for setting image size: Row[Table[Labeled[ VoronoiMesh[pts, PlotRangePadding -> 0, Frame -> True, ImageSize -> 1 -> 20 {s, 1}], "s = " <> ToString[s], Top], {s, { .8, 1, 1.3, 2}}], Spacer[5]]


2

You can use First to extract the graphics primitives of any graphics expression, including e.g. the output of RegionPlot. Then you can simply apply your GeometricTransformation to that: Manipulate[ Graphics3D[ Rotate[ First@RegionPlot3D[Ellipsoid[{0, 0, 0}, {1, 1, 2}], Mesh -> Full], θ, {0, 0, 1} ] ], {θ, 0, 2 π} ]


2

With Mathematica 12 a possible approach is OuterPolygon: pol = Polygon[{{{0, -1}, {1, 1}, {-1, 1}}, {{-1, -1}, {1, -1}, {1, 0}, {-1, 0}}}] Graphics[{FaceForm[], EdgeForm[{Thick, Blue}], pol}] Graphics[{FaceForm[], EdgeForm[{Thick, Blue}], OuterPolygon[pol]}]


2

You can use BoundaryDiscretizeGraphics: bdg = BoundaryDiscretizeGraphics @ speakerIcon Graphics[{EdgeForm[{Black, Thin}], FaceForm[], MeshPrimitives[bdg, 2]}, ImageSize -> 30] Alternatively, you can use BoundaryDiscretizeRegion + RegionUnion: bdr = BoundaryDiscretizeRegion[ RegionUnion[Triangle[{{0, -1}, {1, 1}, {-1, 1}}], Rectangle[{-1, -1}, {1, 0}]...


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