13

Giacomo Balla (1871 - 1958) was an Italian painter best known as a key proponent of Futurism. In his paintings, he depicted light, movement and speed. Balla's oil painting "Numeri innamorati" (Numbers in love) was created in 1920. The original size of the work is 76,5 x 54 cm.

enter image description here

The best starting point I found was J.M.'s answer to this question:

Strategies for creating 3D text

RegionProduct[DiscretizeGraphics[
  Text[Style["8", FontFamily -> "Alegreya SC"]], _Text, 
  MaxCellMeasure -> 0.1],
 MeshRegion[{{0}, {4}}, Line[{1, 2}]]]

enter image description here

Being unfamiliar with MeshRegions and related functions, I don't know how to proceed from here. I don't want to reproduce the painting, but only extrude the numbers as shown:

  • Black front
  • Grayish, shadowy, diagonal extrusions
  • An appropriate font (the upper parts of 3 and 5 must be flat, not curved)

Thank you in advance for your answers and hints.

eldo
  • 67,911
  • 5
  • 60
  • 168
  • Seems like other than lighting, one can also modify glow and specularity in mathematica as shown in the links that follow https://reference.wolfram.com/language/howto/ControlTheResponseOfA3DSurfaceToLighting.html and https://reference.wolfram.com/language/tutorial/TheStructureOfGraphicsAndSound.html#20392 – userrandrand Dec 12 '23 at 20:30

1 Answers1

17
  • Mono fonts seems flat.

  • We use RegionProduct with Point and Line and RegionBoundary.

fonts = BoundaryDiscretizeGraphics[
   Text[Style["8543", 
     FontFamily -> "Bitstream Vera Sans Mono"]], _Text];
above = RegionProduct[fonts, Point[{10.}]];
below = RegionProduct[fonts, Point[{0.}]];
body = RegionProduct[RegionBoundary@fonts, Line[{{0.}, {10.}}]];
Graphics3D[{EdgeForm[], Black, above, Red, below, FaceForm[White], 
  body}, ViewPoint -> {5, 5, 10}, ViewVertical -> {0, 1, 0}, 
 Boxed -> False, Lighting -> "Accent"]

enter image description here

cvgmt
  • 72,231
  • 4
  • 75
  • 133
  • 1
    Thank you, cvgmt, such a nice and short (!) solution – eldo Dec 12 '23 at 11:44
  • In my Windows 11 system, I only found "Harlow Solid Italic" is flat. fonts = BoundaryDiscretizeGraphics[ Text[Style["8543", FontFamily -> "Harlow Solid Italic", FontSlant -> Plain]], _Text] – cvgmt Dec 13 '23 at 11:21