Andrija Radović’s Programs
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 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
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:
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:
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:
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ć