I've just gotten my table, and I'm eager to create some new tracks. Here are a couple of first questions:
1) I can see that thr files are lists of coordinates. Each line is a pair of numbers "theta r". I am guessing that theta is the angle in radians and r is the radius (between 0 and 1). If successive lines in a file read "theta1 r1" and "theta2 r2", what is the *precise* path the table will draw in the sand between the two points?
2) How did people create the default thr files? My operating system is Linux, so I will not be interested in Mac or Windows tools.
Any help/advice would be greatly appreciated, and I am looking forward to sharing whatever I create.
Thanks very much,
The path taken by the ball between points is a linear interpolation in polar coordinates. Which generally means an arc of some kind. So if your intention is a straight line, you'll need to use many points. In my path generation code, I subdivide lines until they are "small enough" (a balance between noticeable and large file sizes).
The "default" paths ("factory" paths) were all created by artist Bruce Shapiro over the many years he has been making custom Sisyphus tables. The "community" tracks have been made by many folks (including me). Welcome to the group; I look forward to seeing what you make!
All of the outside contributions are using custom code. Some folks have put their code online (e.g., https://github.com/SlightlyLoony/JSisyphus.git). Some just share the results.
@davidp - welcome to the community! Dithermaster is one of our resident experts, and did a nice job describing the thr format, and need for more points when drawing straight lines (analogous to needing more points to draw arc using an XY mechanism). Here is a good starting point for options:
Also, you can take a look at our recent Kickstarter for the Sisyphus Mini - down the page a ways there are links and examples (search for "track composition tools").
Thanks very much for your help. I've now made my first few patterns and am developing my own tools for previewing and manipulating files (using the mathematical software Sage, sagemath.org).
I have a few new questions:
1) Is there an exact specification for thr files? I now know that a line consisting of a pair of numbers represents an angle and radius and that a pair of lines like that represents a line in angle-radius space. Is there a way to manipulate the speed of the ball in a thr file? Are there standards for comments? Etc.
2) Does the ball always goes to home, i.e., (0,0), when a thr file is begun?
3) Is there a way to view the default thr files? I know how to upload and erase files, but is there a way to download them. In particular, I am interested in the erase file. (I've made my own, consisting of two lines, that starts at the outside and ends in the center. However, it seems to go more slowly than the default file.)
Things I've learned from Bruce:
1) It's as simple as you're figured out, and there is (currently) nothing more. As you said, the table interpolates between adjacent positions, but in polar space, not cartesian. No speed changes, no comments.
2) When you start a track from the interface, it "homes" the table first, which takes it to 0,0. But during regular normal or shuffle playback a track will start from where the previous track ended (either r=0 or r=1. All tracks should both start and end with r=0 or r=1 but never anything else. The table will skip tracks that don't connect to the previous track. Tracks that start on the opposite side as they end can be played in reverse to make connections.
3) Only if you ssh into the rPi. Then they are in a directory somewhere. "erase.thr" is just like you said (two points with much wrap). The reason it goes 2x faster is because it is named "erase.thr" (the firmware special-cases that filename).
Bruce is considering how to extend the path files to add speed changes and maybe some other things (I've summited a large treatise on path sets that could be randomly selected between, and variations for different sized tables, etc.)
Thanks again @dithermaster - another excellent outlining of the current state of things. From memory, I know you can put comments at the start of the track - just use the '#' character at the start of the line. I also comments can be placed among the list of vertices, but not 100% sure without testing it. We do plan to allow track speed to be changed and stipulated in a playlist - and eventually, I hope to have it as part of the thr file itself, akin to the 'F' parameter in a line of G-code, which changes the feedrate.
@dithermaster - Yup, spot on! We'll wait to make sure we have the kinks worked out of two-ball mode before adding more ball parks, but definitely planned.