Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Angle optimization #5

Open
xranby opened this issue Apr 18, 2017 · 5 comments
Open

Angle optimization #5

xranby opened this issue Apr 18, 2017 · 5 comments

Comments

@xranby
Copy link

xranby commented Apr 18, 2017

The Journal of the Society for Art and Science Vol. 7 No. 4 pp. 155 - 169
contains an easy way to improve sharpness of picture quality by
compensate for the inertia effects when the laser is taking a sharp turns.
the paper reveal that there is an almost linear relationship between the angle of the turn and the delay to be used to mitigate the effect. - page 161
http://art-science.org/journal/v7n4/v7n4pp155/artsci-v7n4pp155.pdf

found this while browsing http://www.fab-favreau.com/index.php/Main/LaserShowResearch

@Grix
Copy link
Owner

Grix commented Apr 20, 2017

Originally it was meant for software designers to implement their own optimization algorithms in their software before sending the data to the Helios DAC. But a feature to include this optimization in the Helios libraries directly would be useful. But it would have to be optional, by a flag in WriteFrame() for example

@xranby
Copy link
Author

xranby commented Apr 21, 2017

masterpj55 has invented a different way to render correct angles and bent lines by taking advantage of the inertia effect rather than eliminating them: https://twitter.com/masterpj55/status/853291275545653248/photo/1
this approach do not need any added delays hence it is a superior technique.
however masterpj55's approach would require a pass that move the x and y of the buffer data as a better way to compensate or create the desired straight/bent line effect.
masterpj55's method have not been described in any laser research however pragmatically masterpj55 have demonstrated that the method work.

@carmangary
Copy link

xranby what you are referring to is called point pulling and is an age old method for optimizing frames. masterpj55 did not invent it by any stretch. The problem with it is that it only works on the scanners for which the frames have been optimized. If you change scanner speeds to use the frames on scanners with different characteristics then the intertia will be different and the frames will look wrong. That is the purpose of tuning scanners to an ILDA pattern.

@xranby
Copy link
Author

xranby commented Apr 21, 2017

ILDA pattern and calibration: http://www.laserfx.com/Backstage.LaserFX.com/Systems/Scanning3.html
The correction of the under and overshoot in the corners when calibrating for the ILDA pattern is usually done by tuning delays.

The research paper from 2008 reveal that there may be a quite linear relationship between the over and undershoot when drawing corners and the paper opens up for a setting the delay dynamically based on the angle. page 161 http://art-science.org/journal/v7n4/v7n4pp155/artsci-v7n4pp155.pdf

point pulling may be known intuitively by operators however no research is known how to automate algorithmically. i have not seen anyone describe for example how to do quick reversals without adding delays, in masterpj55's image he is adding some extra points in the opposite direction in order to do a quick scanner reversal without adding delays by thinking in more terms of how to tie a knot. you can see this on the pointy hair in his image. it would be ideal to study if arbitrarily angles can be algorithmically point pulled if you simply know the linear slope compensation depending on the angle for the scanner.
if someone know anyone describing point pulling and how it differs for various scanner models then that is good information to have in order to have a more generic algorithmic compensation.

@masterpj555
Copy link

It actually works on any scanner (galvo) as long as it can be properly tuned. Some manufacturers to a half assed job to tune. On top of the point pulling I use an approach to get rid of most color timing that goes a lot further in the technique.. I'm sure I wasn't the first one to figure it out but I most certainly have learned and explored it on my own to find my own techniques and analogies to describe approaches and views on how it should be done properly. When you change a scanner speed you should retune anyway.. Even non optimized graphics will look average and overscanning is a bad habit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants