1988 - 2018
QT software GmbH
VAT ID: DE240717131
The qtCircles Library provides procedures for solving some common geometric calculation tasks related to circles. This allows programmers to save their time for more demanding tasks.
qtCircles contains simple functions as well as also some that require some more mathematics. For example, qtCircle allows to calculate a circle's y-coordinates, its first and second derivatives (y'(x)=dy(x)/dx, y''(x)=d²y(x)/dx²) for given x-coordinates. Somewhat more demanding are those for calculation of intersections points (of 2 circles, line with circle) or those for determination of a circle's parameters (origin x0, y0, and radius) for 3 or more given points. In the latter case a fit-algorithm is applied.
The following table lists the qtCircles functions.
Function Group /
|qtCircles_Calc_Y||returns a single y-coordinate value for a given x-coordinate|
|qtCircles_Calc_YArr||returns y-coordinates for a list of given x-coordinates (array)|
|qtCircles_Calc_dYdX||calculates the first derivative of the circle equation (y'(x)=dy(x)/dx) for a given x-coordinate|
|calculates the second derivative of the circle equation (y''(x)=d²y(x)/dx²) for a given x-coordinate|
|qtCircles_Calc_Angle||returns the angle between the x-axis and the radius vector from the circle's origin to a point on the circle|
|qtCircles_Calc_Params||returns the circle's parameters x0, y0 and R for three given points|
|qtCircles_Fit||determines a circle's parameters x0, y0, and R for three or more given points lying on or near to a circle (the parameters are fitted using the least square method)|
|Intersection and Tangent Points|
|qtCircles_CirclesIntersection||returns the intersection points of two circles intersecting each other|
|qtCircles_IntersectionCircleLine||returns the intersection points of a line intersecting a circle|
|qtCircles_TangentPoints||returns the coordinates of the tangent points for the two lines from point P (xP, yP) that touch a circle defined by (x0,y0,R)|
|qtCircles_CircularSegmentArea||returns the area between a secante and its circle|
|qtCircles_Set_Eps||sets the the internal threshold value for testing a value against 0|
Documentation / Online-Help
Please see the
Online-Help for Details regarding the usage of these functions.
This online help was generated using the freely available documentation
tools doxygen and doxywizard.
qtCircles shall not only ease your work, but also may serve as an example for those Fortran programmers who want to learn how to create a documentation within the Fortran source code and then generate an appealing online-documentation by using doxygen.
qtCircles consists of a static library (.lib) and some pre-compiled
MODULEs (.mod files). The functions and their usage are documented in
(runs in a bowser), and demonstrated by two sample programs: T_Circles.f90
and T_FitCircle.f90 are provided. They show the usage of all qtCircles
For those compiler systems being explicitely supported, IDE projects are provided that contain both the sample Fortran programs and settings such that the necessary files for creating an .exe are found. This really simplifies the startup. After having unpacked qtCircles.zip (see below), you only have to load the project file into your IDE, press "Build" and the .exe will be created.
qtCircles can be purchased together with the qtCircles Fortran95 source code. This enables you to compile it on other OS and with other compilers, since qtCircles functions are contained in just one Fortran 95 MODULE. And as said before, the Fortran source code also contains the whole documentation as you find it in the online-help.
At present the following qtCircles bindings are available
- Intel Visual Fortran (Win32 & Win64) v11 and higher
- Silverfrost FTN95 (Win32) v7 and higher
These bindings may be usable with other compatible compilers
as well. If you want to use qtCircles with a compiler not being supported
yet, let us know. If there is sufficient demand, we create a binding
for that compiler. Or you acquire the Fortran 95 source code of qtConsole
and create the binding yourself.
(1) The evaluation copy allows the usage of all functions until the end of the year. When starting a program that calls qtCircles' functions a message box pops up at the beginning which displays a message accordingly. On purchase of a qtCircles Licence you will receive a licence file, which activates the "full version", which can be used without limitation (no message box, no time limit).
Instructions for Installation and First Usage
- Create a directory on your PC (e.g. C:\qtCircles)
- Copy the file you have downloaded into this directory.
- Unzip this file into this directory.
- Then you are ready to load one of the files suitable for your development
For Intel Visual Fortran (in Visual Studio): Examples\IVF\IVF.sln
For FTN95 (in Plato):
(a double click on the file symbol in Windows File Explorer should start-up your development environment)
- After this perform a "Build"
- and run the .exe being created.
If you encounter difficulties, or something is not working properly, send an email, or give us a call: +49(0)30/92900870.
The evaluation copy is converted into a fully functioning version by purchase of a qtConsole licence (no re-installation necessary). A qtCircles licence grants a single named user (the licensee) the usage of the qtCircles software (single user licence) for to create applications (.exe) that he may distribute freely. This means, there are no runtime fees or any other royalties to be paid additionally. The complete licence conditions are to be found in the Online-Help.