These section lists common visual primitives that a solver must first extract in order to infer solutions.
Some of these have a lot of prior world content, others less.
Many people have come up with the same idea on the Discord. Some nicely call it DSL.
Implementations:
If a color is inferred to be a background color, it contains no information and should be ignored.
Most problems tend to use black as a background color, but not all of them.
An "object" is a set of points that is understood to be one singular entity.
Contiguity and having the same color are strong indicators that something should be understood as an object.
A rectangular container.
The toplevel viewport is always implicitly understood as a special box.
There are two or more boxes drawn inside the toplevel and sharing boundaries with toplevel.
There are two toplevel boxes, one contains only input, and all output goes to the second one. The second one may also contain some input.
A path is something you obtain by somehow drawing from one point to another, e.g. a line, and then starting another drawing between two points from the end point.
Distance = 0.
Rectangle is like a box but always fully filled.
A point is a 1-square.
A dotted line is a generalized line that cycles between a color pattern, e.g.:would be a line:An extra color "transparent" may also be added to not change for that pixel.
r r g
r r g r r g r r g
A dotted path that is also a dotted line.
There is no unique solution, we just have to optimize something, often the least changed colors.
To the left of the vertical red line, count the number of each color on each row.
Then to the right, on each line draw one square of each color to the left every n columns, starting with a square on the first column to the right of the red line, where n is the count of that color.
Start with the color furthest away from the red line, and then color with colors nearer to the red line. If there's overlap, replace the old color with the new one.
Output:
- draw dotted lines
Input primitives:
- background color
- squares
- squares with color inside
- points
Transformations primitives:
- line drawing
Solution: move pieces to fill the gap on the fat object that crosses the screen. Place objects either on fat object or on other objects placed on the fat object. Anything you add must end in a rectangle.
The rules for this one are not entirely clear with the number of examples.
Also clearly if the goal is to make rectangular towers, then this is an NP-hard optimization problem in general.
Input primitives:
- same color chunk. Properties: crosses screen.
Transformation primitives:
- move solid around
- fills the gap
This existed earlier: x.com/GianpaoloGalli/status/1846144236900827413
Solution: vs are guns that shoot diagonal line of their color, when line touches another object, change line color to match that of the object, then bounce on the object and continue going with the new color
Input primitives:
- diagonal line
Assumptions:
- line don't cross each other, it is unclear how to resolve that case
Transformation primitives:
- draw line
- draw line and bounce
Input primitive:
Transformation primitives:
- draw lines
TODO I can't solve that one.
Input:
- background color
- boxes
- points inside boxes
- distance between point and box
Input: three or more containers:
- one touching top left corner
- inside it there are three monocolor objects
- one touching bottom right corner of toplevel box
- inside it there is one monocolor object
- outside of those, touching the left toplevel box edge, there is one or more point
Output:
- draw dotted path of perpendicular line
- the path color pattern comes from the color of top left objects, ordered from nearest to furthest from top le
Articles by others on the same topic
There are currently no matching articles.