Page 58 of 58 FirstFirst ... 485455565758
Results 571 to 572 of 572

Thread: The LaserBoy Thread

  1. #571
    Join Date
    Sep 2014
    Location
    Colorado USA
    Posts
    614

    Default

    Determining where to start and stop a laser scanned, rendered line drawing that has blanking between line segments has always been the challenge and the 'artful' aspect. The more line segments the harder and more complicated the task at hand. The bigger the "jump" between segment end-points and the next segments start-point determines the time delay to allow the scanned beam to arrive at the line segment's end-point along with the delay to allow the beam to get to the next start-of-line before turning the beam "on" again. I suppose these days it is possible to know the instantaneous beam velocity at any point in time based on input data and the step-response equations of the galvos.

    But, once someone has entered a handful of images using a digitizing tablet (again, from the old days) and displaying the initial results on closed-loop scanners (or even open-loop for that matter), a rule-of-thumb quickly emerges for how to handle pre-blanking and post-blanking delays for a given worst case degree of scan angle used in playback. Its a learned process not to different from how one learns the best way to put and arrange groceries in a grocery sack or bag. If you don't start out and try doing it, then learn from your mistakes, you'll never learn the art of arrangement.

    Now days, real-time computational power at ones disposal is mind-blowing for the relatively small frequency and time-domains involved with laser scanning. (not that I ever expect to go there ;-) )
    ________________________________
    Everything depends on everything else

  2. #572
    Join Date
    Mar 2012
    Location
    Akron, Ohio USA
    Posts
    1,931

    Default

    My approach from the beginning was to create my own set of data types in C++. Since each and every aspect of a frame_set is made of C++ classes (objects) each one can have a set of functions and overloaded arithmetic operators defined on it. So apart from the actual data itself of each frame in a set being an ordered list of vertices, there is all of the meta data that can be extracted from that; like the distance between the points, the simple 2D angle in a series of 3 consecutive points, the idea that a lit segment is an isolated object and a frame is made of one or more individual lit segments. When I optimize a frame_set I first strip it down to only its essential points. I remove all of the velocity points along straight lines and all of the dwell for corners. I can reverse the stroke of any lit segment, so I can look at either end to determine the shortest path through all of the lit segments. It is also true that sometimes the jump from the end of one lit segment to another might either be a fairly straight shot or maybe it requires a sharp angular change. If the closest point requires more dwell than a straight shot, then the better choice is the straight shot.
    Creator of LaserBoy!
    LaserBoy is free and runs in Windows, MacOS and Linux (including Raspberry Pi!).
    Download LaserBoy!
    YouTube Tutorials
    Ask me about my LaserBoy Correction Amp Kit for sale!
    Either do or do not do. There is no undo!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •