Nowadays, most graphics toolkits already supply you with a function line_to or line, which draws the line for you, so I recommend that you read through the documentation of your graphics toolkit and find what the name and the usage of the corresponding function is.

If your graphics toolkit only has a set_pixel function and no line function, then using Bresenhams algorithm for drawing lines is most likely one of the fast methods to draw lines. Understanding how the algorithm works is also very rewarding, as the algorithm operates without floating point numbers.

If you are more looking for the general concept of drawing a line between two points, the drawing of a line between two points can be interpreted as finding all points (x,y) on the line passing through (x1,y1);(x2,y2) where x1 <= x < x2.


In reply to Re: Draw a line by Corion
in thread Draw a line by chiburashka

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.