Andrija Radović’s Programs

 

Spline Forte

SplineForte is an extraordinary program for cubic interpolation and function approximation. It is designed to support research in biomedical engineering, sensor linearization and for designing the curves of operating point in automatic control processes. SplineForte+ is high professional version of SplineForte that support many additional features than the SplineForte like DXF output, fonts in graphics, much more control points, etc. It has been developing over the 7 years and it is ergonomically designed to fit into requirements of a development laboratory.
SplineForte exists in two versions: DOS and Windows. DOS version is extremely tame and can be run from various UNIX emulators of DOS. Windows version is not shareware and thus it can not be downloaded from the site.
The main advantage over the other programs is ability to generate and export the functions of the Spline. The program is also able to perform fitting on various ways such as The least Quadrates (Lp = 2), Legendre orthogonal polynomials' fitting (Lp = 2), very unique L1 approximation, Chebishev approximation (Lp = 3.08157912246), Chebishev U approximation (Lp = 1.6569182364596) and Fourie approximation. The L1 approximation is very unique because I have found the closed formula (e.g. explicit one) for the approximation.
With this program was made first graph of the Mass in our galaxy (published in Messenger, author: M. Filipovic), i.e. the velocity across the radius of our galaxy, which is given on the next graph:

The FORTRAN function for the curve generated by the program is showed below:

    DOUBLE PRECISION FUNCTION GALAXY(X)
    DOUBLE PRECISION X
    C    X must be between 0D0 and 14.025D0.
    IF (X .LE. 4.76D0) THEN
    IF (X .LE. 2.38D0) THEN
    IF (X .LE. 1.19D0) THEN
    IF (X .LE. 0.595D0) THEN
    IF (X .LE. 0.255D0) THEN
    IF (X .LE. 0.085D0) THEN
    GALAXY=X*(1300.11650678043D0+X*X*(-11251.6231652131D0))
    ELSE
    IF (X .LE. 0.17D0) THEN
    GALAXY=(-5.35941845801884D0)+X*(1489.27245235757D0+X*((-2225.3
  . 6406561336D0)+X*(-2524.70526084695D0)))
    ELSE
    GALAXY=(-107.458027801416D0)+X*(3291.01261724104D0+X*((-12823.
  . 8356237515D0)+X*18256.611519816D0))
    END IF
    ....

The number of IF questions is minimized by the binary searching of the appropriate interval and additional optimization is done by computation of cubic polynomials based on the Horner’s algorithm.
The graphics of mass is generated simply with "A" option:


And the graphic is obtained:


The main screen of DOS version of SplineForte program  is showed on the following schema:

Program SplineForte was used as sourcer for several programs: Nagoaka electric-transformer designing program, humidity sensor’s micro-controller linearization function, gas analyzing medical sensor, etc.
Nagoaka function:

Before downloading of SplineForte demo program, please read carefully the following sentences:

SplineForte is not public domain, nor the freeware program. SplineForte program is protected with the copyright law. All unauthorized coping is prohibited. Author or any other person is not liable for any damage or any other possible loss caused by program SplineForte. You have to use it on your own risk only!

Press the button to download Spline Forte program:

 

 

Press the button to emulate Spline Forte directly in Browser:

More information about SplineForte can be found on the page Spline Forte.

 


 

BigNum 3.0




BigNum is a scientific calculator designed to demonstrate efficient usage of Visual Basic built-in functions and classes in program that deals with the huge numbers' calculations on arbitrary radix. Several optimizations' schemes are demonstrated in the program including the completely new algorithm for the factorial computation. Algorithm computes the factorials aided by an array of prime numbers. Computing schema is extremely efficient, e.g. 30 factorial is computed as 30!=226·314·57·74·112·132·17·19·23·29=265252859812191058636308480000000. Pow function contains additional optimization that reduces the number of multiplications and additions by usage of binary heap algorithm.


The main algorithms of the Power and Fact functions are showed on the following listing:

'Author: Andrija Radovic, ©1998
'Algorithm is Published in the book "Rasterska Grafika"
'(ISBN 86-17-06983-X) on Serbian in 1998 as Program 45
'Publisher: Zavod za Udzbenike
'Exclusive author of the particular algorithm and the book
'"Rasterska Grafika" is Andrija Radovic
DECLARE FUNCTION POW# (a#, b%)
DO
    INPUT "X = ", a%
    PRINT "X! ="; FACT(a%)
    PRINT
LOOP
END

DATA 3, 5, 7, 11, 13, 17, 19, 23, 29, 31
DATA 37, 41, 43, 47, 53, 59, 61, 67, 71, 73
DATA 79, 83, 89, 97, 101, 103, 107, 109, 113
DATA 127, 131, 137, 139, 149, 151, 157, 163, 167, 172

DEFLNG A-Z
FUNCTION FACT# (a%)
IF a% < 0 OR a% > 170 THEN
    PRINT " Error! = ";
    FACT# = CDBL(a%)
ELSE
    f# = 1#
    c% = 2
    RESTORE
    DO
        b% = a%
        d% = 0
        DO
            b% = b% \ c%
            d% = d% + b%
        LOOP WHILE b% > 1
        IF d% = 0 THEN EXIT DO
    IF c% > 2 THEN PRINT "*";
    PRINT c%;
    IF d% > 1 THEN PRINT "^"; d%;
    f# = f# * POW#(CDBL(c%), d%)
    READ c%
LOOP
PRINT "=";
FACT# = f#
END IF
END FUNCTION

DEFSNG A-Z
FUNCTION POW# (a#, b%)
    c# = a#
    s# = 1#
    rl% = 1
    DO
        IF b% AND rl% THEN s# = s# * c#
        rl% = rl% + rl%
        c# = c# * c#
    LOOP UNTIL b% < rl%
    POW# = s#
END FUNCTION

For starting the program it is necessary to start it within the Qbasic compatible environment from the command prompt (you also need to download FreeBasic compiler from FreeBasic site) or QB64 IDE, i.e. the QB64.

This program is freeware and thus it can be freely distributed. The author will not be responsible for any kind of loss or damage caused by usage of that one. This program should not be distributed for commercial purposes. The name of the author must stay on program.

Press the following button to download the BigNum 3.0 program with its source and executable:

 


 

TXT2BMP 1.0



The purpose of the program is to convert text into image. In  many situations it is necessary to impede any change in the text or to significantly increase difficulty of  coping a text. Transforming the text into the picture to web reader brings ability to easy read a text and in the same time it is complicate to him to transform it in  reprintable and redistributable document’s format. It is probably the best way for web publishing of longer text. The making illegal copy is nearly as hard as coping the printed text.


Resolution of the characters is 9x16 regarding the natural resolution of the PC text mode. Actual resolution of the VGA PC text mode (80x25 chars) is 720x400. The ninth pixels' row is zero except in characters that belongs to ASCII interval between 178 and 224 that have ninth bit equal to one. All characters are proportional and greater that 8 bits, i.e. greater than a byte that additionally obstructs simply byte reading process of character recognitions.
The other method with the same goal is to convert text into block text graphics. The method is pretty good - but not for the web. Printing such programs and texts in PDF sounds more interesting. Text can be selected but the result is totally worthless - only the OCR software has to be performed for successful transformation to text again.
The picture obtained by the program has nearly unlimited size defined only by the size of the originating text file.

This program is freeware and thus it can be freely distributed. The author will not be liable for any kind of loss occurred by usage of that one. This program should not be distributed for commercial purposes. The name of the author must stay on program.

Press the following button to download Txt2Bmp with its source and executable:

 

 


 

DMORDODAOADO



Program DMORDODAOADO demonstrates usage of DMO, RDO, DAO and ADO database interfaces. It can be considered as quick reference for these da.03tabase accesses.

The RDO interface is dedicated to remote databases and it is the oldest one. The DAO is primary designed for local database access but it is capable to access remote one. Although the documentation does not cover the aspect with demonstration with just a few word that claim that it is possible, the program demonstrates how to do that exactly. The DAO has recreated objects, i.e. we create DAO objects without the New command. This is not case with ADO and it requires formal creation for all of its objects.
The ADO interface is the newest one and it is more consistent then DAO. It is dedicated for accessing both local and remote databases. Microsoft pushes it a lot. ADO have a new command Shape that have bring a little of capabilities that can be found in FoxPro and its ability to perform SQL commands on a local and even fabricated tables. The prime purpose of the command is to bring us ability to fabricate SQL query over the tables that originate from various sources. The biggest advantage of ADO is ability to deal with the disconnected recordsets and than to perform resynchronization on reconnection. It means that we can suck the tables on the workstation side, to disconnect, perform butch processing, to reconnect to server and to bring modified data back to server. We can save tables on the workstation side in both persistent and XML file formats.
The command might be very useful in some situation.
The RDO, DAO and ADO have some limitation in size of fields and maximal number of columns. The number of columns per table and its size is limited up to 255. Modern SQL databases do not have such limitations. The way to surpass the limitation is usage of DMO interface. The basic purpose of the database interface is accessing of Microsoft SQL server. With the approach we can push the Microsoft SQL server with all its power. It communicates directly with the server avoiding ODBC and other barriers on the data flow. The interface requires a good knowledge of SQL languages.

The program demonstrates:

  1. ADO table creation,
  2. DAO table creation,
  3. ADO table deleting,
  4. DAO table deleting,
  5. ADO & SQL table deleting,
  6. Local database compacting with DAO – DBEngine CompactDatabase command,
  7. Local database compacting with ADO – JetEngine CompactDatabase command,
  8. Database replication in DAO – MakeReplica command,
  9. Database replication in ADO – CreateReplica command,
  10. An example of ADO command object,
  11. Saving of disconnected ADO table – Save command,
  12. Loading of the ADO table from the Workstation disk – Load command,
  13. ADO synchronization – with UpdateBatch command,
  14. Browsing the internal structure of the database with DAO, the TableDefs command,
  15. Browsing the internal structure of the database with ADO, the OpenSchema command,
  16. Browsing the internal structure of the database with RDO,
  17. Browsing the available SQL servers and internal structure of the database with DMO.

This program is freeware and thus it can be freely distributed. The author will not be liable for any kind of loss occurred by usage of that one. This program should not be distributed for commercial purposes. The name of the author must stay on program.

Press the following button to download Dmordodaoado with its source and executable:

 


 

Notes About other Author’s programs

 

I have designed and written several commercial programs (e.g. for stammer disease therapy), a dictionary engine, program for circular mailing with SMTP server, medical images database, a few programs for GSM SMS systems, etc., but these are fully commercial programs that are offered without testing period and without preview. The purpose of the page is not to advertise the programs, but to show my present knowledge state and my ability to participate in your respectable projects.

 

Best regards,
Dipl.-Ing. Andrija Radović