News for hackers. Stuff that matters.
Re:Show HN: Programming with Escher by hatsuseno on Wednesday May 31, 2017 @05:27AM (#14451261)
The article references the Henderson Escher example, which is nicely surmised in a SICP lecture from '86: SICP-3A video https://youtu.be/2QgZVYI3tDs?list=PL8FE88AA54363BC46&t=3678

I was instantly thrown back to my time watching this series and doing the exercises, which I highly recommend to anyone.

Re:Show HN: Programming with Escher by Immortalin on Tuesday May 30, 2017 @08:35PM (#14449702)
This should be added to the Racket tutorial
Re:Show HN: Programming with Escher by ttoinou on Tuesday May 30, 2017 @09:17PM (#14449849)
Ok for forward drawing, what about backward drawing ? i.e. finding the (u,v) of the fish image from the (x,y) inside the infinite square ?
Re:Show HN: Programming with Escher by mapio on Wednesday May 31, 2017 @01:04AM (#14450523)
Beside the fact that the square fits the unit square and is not infinite at all, I'm not sure to get what you mean…
Re:Show HN: Programming with Escher by ttoinou on Wednesday May 31, 2017 @10:02AM (#14452570)
If you draw a line from Point A to Point B, that's called Forward Drawing / Mapping. Basically you will loop over every sample that you know (thanks to a mathematical study) go near your line.

The reverse would be to look at every sample you have and decides its colors based on the line information (the two points) with basic geometric calculus (distance of a point to a line). Applying anti-aliasing / thicks borders is more easy in this way also.

The reverse is called Backward Drawing / Mapping, and is fit for GPU programming and others uses. Some problems are only defined for one kind of drawing and it's difficult to transform it to the other kind. It's like finding the inverse function of a mathematical function, hard.

Re:Show HN: Programming with Escher by mapio on Wednesday May 31, 2017 @02:34PM (#14454835)
Sounds interesting… can you provide any reference? A technical/scientific paper, a book, a Wikipedia entry… I was unable to Google it using both "Backward Drawing" and "Backward Mapping" as keywords.
Re:Show HN: Programming with Escher by ttoinou on Wednesday May 31, 2017 @04:39PM (#14455722)
I learned "Forward Mapping" in a scientific paper when I was creating my own morphing and deformations algorithms, I don't remember which paper. (Some Googled links I just found : http://biomachina.org/courses/imageproc/051.pdf , https://www.cs.auckland.ac.nz/courses/compsci773s1c/lectures... )

The term is mainly used for image interpolation and GPU textures. I prefer to say "drawing" because the notion can be extended to anything you want to visualise.

On the internet you can find a lot of visualization by forward drawing on a canvas. But recently there's more and more backward drawing with GPU and shaders (goto https://www.shadertoy.com/ for a lot of examples)

Re:Show HN: Programming with Escher by Robin_Message on Wednesday May 31, 2017 @08:33AM (#14451952)
The u,v coordinates are infinite since an infinite number of copies fit in the unit square.
Re:Show HN: Programming with Escher by ttoinou on Wednesday May 31, 2017 @09:53AM (#14452486)
Yes that's what I meant thx The same question goes Escher Infinite Circle. I know it has something to do with Poincaré Disk Model but can't figure it out
Re:Show HN: Programming with Escher by jlebrech on Tuesday May 30, 2017 @05:08PM (#14448562)
reminds me of logo, or line drawing in basic
Re:Show HN: Programming with Escher by brudgers on Tuesday May 30, 2017 @10:04AM (#14445424)
It might make sense to link to the repository with Jupiter notebook, https://github.com/mapio/programming-with-escher in the rendered output for the convenience of the reader. If the repository points to the rendered output, well Escher.
Re:Show HN: Programming with Escher by mapio on Tuesday May 30, 2017 @10:32AM (#14445630)
Actually it is, at the end of the first section https://mapio.github.io/programming-with-escher/#Programming... the sentence reads: "The source notebook is available on GitHub (under GPL v3), feel free to use issues to point out errors, or to fork it to suggest edits. Square Limit and tiles."
Re:Show HN: Programming with Escher by brudgers on Tuesday May 30, 2017 @11:47AM (#14446133)
Ah, thanks. I missed it.
Re:Show HN: Programming with Escher by virgil_disgr4ce on Tuesday May 30, 2017 @04:30PM (#14448292)
"Basic algebraic facts about transofmrations"

Heh, was that intentional? X-)

Re:Show HN: Programming with Escher by mapio on Tuesday May 30, 2017 @05:57PM (#14448879)
Ahahah, no… it's just that I'm terrible with typos. Thank you for reporting it, now should be fixed https://github.com/mapio/programming-with-escher/commit/a102...
Re:Show HN: Programming with Escher by cauthon on Tuesday May 30, 2017 @06:21PM (#14449022)
Also this one, below the definition of `nonet()` :)

> to obtain the desider result

Awesome post!

Re:Show HN: Programming with Escher by mapio on Wednesday May 31, 2017 @01:01AM (#14450514)
Thanks, I'm flattered by all your positive comments!

Should be fixed now https://github.com/mapio/programming-with-escher/commit/1f04...