This method of images is also used to add reverberation to audio. If you have some audio and want to make it sound like it was spoken by someone in a room of a particular size, you do a similar thing where you tile the room and then draw lines from the source to every image of the microphone to calculate an impulse response function.
I’d like to see a version of this where the barriers are colored and the lasers are monochrome, but when a laser hits the barrier, instead of disappearing, it takes on that color. That way, you could see which barrier saves the target at any point.
Encircle yourself with the circles? That would be finite and if you're thin enough, might even be minimal? Certainly easier to find the configuration than the actual solution.
(ok ok, it looks like the blockers are point-size, so this wouldn't work of couse)
It works the other way, the shooter position is fixed as well as your position. Your are allowed to place a finite amount of blockers to make your position safe. The video comment say that it is always possible to make your place safe with at most 16 blockers.
There is a link to the actual code used.
You could try projecting rays from start through the obstacles to see where they intersect after a limited number of reflections. This should narrow it to a few candidate spots
The other day, when I was at a museum, I had to solve this particular problem. You see I really needed to get inside the room and move around after hours.
I spent a whole month making friends with the guards, only to have them change shift at the last minute. Thankfully, my cohort pointed out I could wear a reflective suit. All is well that ends well!
The chosen visualization complicates it. In a perfectly square room, a beam in any direction, originating from some interior point p0, will hit the four mirrors and form a rectangle, passing through the original p0 at the same angle. When tracing a beam, we don't have to consider more than five mirror strikes.
Moreover, this rectangle can only pass through another distinct point p1 exactly once. If we know that if p1 lies on a beam rectangle that is interrupted by an obstacle, there are only two possibilities: p1 lies on the unobstructed part of the rectangle between p0 and the obstruction. Or else it lies on the shaded part. We can determine which rectangles that pass through p0 also pass through p1, and then for each one determine whether p1 is in the shaded part.
I suspect this can be done with some computational geometry (with a fair number of cases in it) without resorting to a brute-force ray-casting technique.
This was beautiful. I never imagined the existence of a solution was always guaranteed, given that this includes the case where you are using point-particle blockers.
I think the solution can be reached following from a set of simple observations about a single line of sight:
- in a square room all angles are right
- with wall at right angles the laser light will always create an inscribed square and return to the source for any given angle
- there is exactly one angle in a range <0,90> at which the light bounced from a single wall will go through an arbitrary point in the room
- there are 4 walls which gives at most 4 squares to be blocked
- the blocking point can be set anywhere on the inscribed square before the target - this gives at most 2 points per square (we can consider them left- and right- -hand directed) hence 8 points necessary
- at start we selected only angles from the <0,90> degree range for the ease of calculation, so there are also symmetric versions in the (90,180> range
- which gives us at most 16 points to block all the possible squares in both directions
There was an interactive web page where you could place single point light sources and obstacles freely in a 2D room and then see in real time the shadows and where are the safe points. Too bad I can't remember the URL and can't find this old page. Anyone has a link to share?
[+] [-] j2kun|4 years ago|reply
Blog post: https://jeremykun.com/2018/07/24/visualizing-an-assassin-puz...
Excellent video that I learned of this problem from: https://www.youtube.com/watch?v=a7gp9c2p0UQ
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] mike_d|4 years ago|reply
[+] [-] parhamn|4 years ago|reply
[+] [-] antognini|4 years ago|reply
[+] [-] thunderbong|4 years ago|reply
[+] [-] rcfaj7obqrkayhn|4 years ago|reply
[+] [-] raldi|4 years ago|reply
[+] [-] ghostbrainalpha|4 years ago|reply
[+] [-] dkersten|4 years ago|reply
(ok ok, it looks like the blockers are point-size, so this wouldn't work of couse)
[+] [-] tantalor|4 years ago|reply
[+] [-] xwdv|4 years ago|reply
[+] [-] jekub|4 years ago|reply
[+] [-] bunabhucan|4 years ago|reply
https://www.youtube.com/watch?v=jJ6FD59U0_E
[+] [-] mitko|4 years ago|reply
[+] [-] tdeck|4 years ago|reply
[+] [-] mehwoot|4 years ago|reply
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] schappim|4 years ago|reply
Red Circle: No, Mr Green Circle, I expect you to d̵i̵e̵ find the spot in the mirror room where you won't get hit!
[+] [-] Lio|4 years ago|reply
[Red Circle]: I suggest a Duel of Titans, "mano a mano" the only true test for gentlemen.
[Valet leading Green Circle to room of mirrors]: If you kill him, all this be mine. Monsieur, Good shooting.
Although it does also rather make me think of Buster Keaton standing still as half a house falls over him and the cameraman closes his eyes.
[+] [-] infogulch|4 years ago|reply
https://youtu.be/jgpjnrFEUFI
[+] [-] bayesian_horse|4 years ago|reply
[+] [-] fouronnes3|4 years ago|reply
https://ericlippert.com/2011/02/14/what-would-feynman-do/
[+] [-] IncRnd|4 years ago|reply
I spent a whole month making friends with the guards, only to have them change shift at the last minute. Thankfully, my cohort pointed out I could wear a reflective suit. All is well that ends well!
[+] [-] ARandomerDude|4 years ago|reply
[+] [-] lvxferre|4 years ago|reply
[+] [-] shapefrog|4 years ago|reply
[+] [-] starfallg|4 years ago|reply
[+] [-] kazinator|4 years ago|reply
Moreover, this rectangle can only pass through another distinct point p1 exactly once. If we know that if p1 lies on a beam rectangle that is interrupted by an obstacle, there are only two possibilities: p1 lies on the unobstructed part of the rectangle between p0 and the obstruction. Or else it lies on the shaded part. We can determine which rectangles that pass through p0 also pass through p1, and then for each one determine whether p1 is in the shaded part.
I suspect this can be done with some computational geometry (with a fair number of cases in it) without resorting to a brute-force ray-casting technique.
[+] [-] nullc|4 years ago|reply
[+] [-] seaish|4 years ago|reply
[+] [-] gampleman|4 years ago|reply
[+] [-] anamexis|4 years ago|reply
[+] [-] mabbo|4 years ago|reply
https://www.youtube.com/watch?v=jJ6FD59U0_E
But perhaps instead of 4^2 blockers, you'd need 4^3. But, I'm making guesses based on intuition, which makes for bad math.
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] zzt123|4 years ago|reply
[+] [-] uuidgen|4 years ago|reply
- in a square room all angles are right
- with wall at right angles the laser light will always create an inscribed square and return to the source for any given angle
- there is exactly one angle in a range <0,90> at which the light bounced from a single wall will go through an arbitrary point in the room
- there are 4 walls which gives at most 4 squares to be blocked
- the blocking point can be set anywhere on the inscribed square before the target - this gives at most 2 points per square (we can consider them left- and right- -hand directed) hence 8 points necessary
- at start we selected only angles from the <0,90> degree range for the ease of calculation, so there are also symmetric versions in the (90,180> range
- which gives us at most 16 points to block all the possible squares in both directions
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] azalemeth|4 years ago|reply
[+] [-] toxik|4 years ago|reply
[+] [-] Cerium|4 years ago|reply
[+] [-] akdor1154|4 years ago|reply
[+] [-] NKosmatos|4 years ago|reply
[+] [-] lmilcin|4 years ago|reply
These are two separate problems.
This example doesn't show all places where the shadow is.
It only shows, when you place yourself and a light, an example arrangement of occluders that will prevent you from being hit.
[+] [-] irjustin|4 years ago|reply
[+] [-] GistNoesis|4 years ago|reply