Just a few lines of code are needed..

If you want to code your own circle routine in QB there is only a little need of mathmatical knowledge about Sin and Cos.

With Sin and Cos you can get the coordinates of a point on the circle line.

Both functions have one parameter, an angle in radians. So a full circle doesn't have 360°, but 2Pi. When we want to draw every single pixel of one degree we have to do this in a for-loop like the following one:

Const Pi# = 3.141592654#

For n! = 0 to 2 * Pi# Step ( 1 / 180 ) * Pi#

'Here comes the drawing code

Next n!

To calculate the coordinates of every single pixel of the circle you have to use these formulas:

x% = Sin( n ) * radius%

y% = Cos( n ) * radius%

So we can draw a primitive circle:

Screen 13

Const Pi# = 3.141592654#

color% = 15

xCenter% = 160

yCenter% = 100

radius% = 32

For n! = 0 to 2 * Pi# Step ( 1 / 180 ) * Pi#

x% = Sin( n! ) * radius%

y% = Cos( n! ) * radius%

Pset ( x% + xCenter% , y% + yCenter% ), color%

Next n!

When you run this code, you will see that the circle is a little bit deformed, but there's a solution:

x% = Sin( n! ) * radius% * ( 5 / 6 )

y% = Cos( n! ) * radius% * ( 5 / 6 )

With this you can code ellipses, too. You just have to change the '( 5 / 6 )' to another factor and you'll get another circle.

akOOma

DrawingCirclesPsetGeneral - page last edited 2004-02-10 12:32:06 by 172.167.146.22 (home) (edit)

Blast WIKI - by RoboticBoy - edited and tweaked for our evil purposes by Hexadecimal Disaster

Blast WIKI - by RoboticBoy - edited and tweaked for our evil purposes by Hexadecimal Disaster