Line plotting
Right it coding somthing in basic language..
What I want to do is plot a line between 2 points and be able to plot each of the points along the line...
What im doing is making sure that a bullet shot at me in 2d then travels right @ me if you know what I mean...
search for the bresenham line algorithm
there should be hundreds of docs on it.
chose the easiest explained one.
(my fav searching engine is google :-)
there should be hundreds of docs on it.
chose the easiest explained one.
(my fav searching engine is google :-)
Here''s a simple technique that isn''t as fast as Bresenham''s but takes me less time to type!
I''ll post a BASIC equivalent below (I''m a little rusty in BASIC, so forgive me ifthe syntax isn''t perfect):
Hope that helps!
void drawLine(int x1, int y1, int x2, int y2){ int deltaX = x1 - x2; int deltaY = y1 - y2; float dist = sqrt(square(deltaX) + square(deltaY)); deltaX /= dist; deltaY /= dist; int x = x1; int y = y1; for(int d = 0; d < dist; d++) { plotPixel(x, y); //Replace with appropriate function x += deltaX; y += deltaY; }}
I''ll post a BASIC equivalent below (I''m a little rusty in BASIC, so forgive me ifthe syntax isn''t perfect):
Sub drawLine(x1 as Integer, y1 as Integer, x2 as Integer, y2 as Integer) Dim deltaX as Integer deltaX = x1 - x2 Dim deltaY as Integer deltaY = y1 - y2 Dim dist as Single dist = sqr(deltaX^2 + deltaY^2) deltaX = deltaX / dist deltaY = deltaY / dist Dim x as Integer x = x1 Dim y as Integer y = y1 Dim d as Integer For d = 1 To dist plotPixel(x, y) ''Replace with PUT or whatever you use x = x + deltaX y = y + deltaY Next dEnd Sub
Hope that helps!
I''m not sure which basic language you''re referring to, but QBasic has a line function built in. IIRC the syntax is LINE (startx, starty)-(endx, endy), color.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement