Lineart

From wikiluntti
Revision as of 16:47, 24 October 2024 by Mol (talk | contribs) (→‎Michael Crum)

Introduction

String art

  • Radon transform (inverse of)
  • 2d FFT
  • Optimization

Radon Transform

The sum of the intensities in each direction (a line integral).

The new image will be

Virtually Passed YT

White canvas with nails around the circumference and add straight black lines between the nails.

Video: The Mathematics of String Art

  • Starting nail angle and ending nail angle . Maximum number of lines is
  • Convert image array to vectors, and make the linear combination: . Solve .
  • Problems:
    • Line darkness. Use some antialiasing algorithm; from step function to some other.
    • Pseudoinverse gives not binary result. Greedy algorithm.
  • FFT in part II gives much better results

Video: How To Make a Computer Create Something Beautiful: String Art

  • Radon transform; density function .
  • plot sinogram: .
  • Make linear transform where are the binary weights.
  • Need a Radon transform for lines.
  • max because the lines are of different length.

Michael Crum

https://michael-crum.com/string_art_generator/

  • Nail and the next nail using greedy algorithm (chooses the one that is best at the current situation). For other method, see https://en.wikipedia.org/wiki/Dynamic_programming
  • Gradient descent as a finite difference approximation and minimize L2 error.
  • Fix the error function to include the possibility to fix the error later with other color.
  • Include the natural blurring of human eye: https://www.sothebys.com/en/articles/pointillism-7-things-you-need-to-know
    • Convolution
    • Resize the original image such that one pixel corresponds to the diameter of the thread.
    • Blurring: Downscale by a factor and add transparency of .

Datagenetics

https://datagenetics.com/blog/december12019/index.html

References