Far from being full list of software written by Dr.A.Kudryavtsev* |
Click on a picture to enlarge; click [<-Back] to return.
screen shot |
name |
language |
platform |
amount of source code** |
co-authors |
description |
Computer games and screen savers |
||||||
| WHIRLIES - a chess-like computer game | Turbo Pascal + Microsoft assembler | MS/DOS | 35000 lines of Turbo Pascal | Prof.N.Kornev (coding aerodynamic sigularities), Prof.M.A.Basin (the idea) | This is a kind of chess-like game based on the ability of aerodynamic singularities generate sophisticated motion patterns. Written as interrupt handler for 1Ch vector (to allow vertices rotate continuously). This program has been included in CD-ROM "The Best of Russian Software" (Data Express Inc. 11030 NW 26th Place Sunrise Florida 39922 USA) | |
| OZ - a chess-like computer game | Turbo Pascal + Microsoft assembler | MS/DOS | 15000 lines of Turbo Pascal | Prof.N.Kornev (coding aerodynamic sigularities), Prof.M.A.Basin (the idea) | This is an extension of the Whirlies computer game - both the scene and rotating tornadoes are three-dimensional. This program has been included in CD-ROM "The Best of Russian Software" (Data Express Inc. 11030 NW 26th Place Sunrise Florida 39922 USA) | |
| IVAN - a screensaver | Visual C++ | Windows | 12000 lines of C | none | This is a screen saver based on MFC. The screen shows a picture with my son and a bee that randomly flies around him. Sometimes it sits down to relax at some fixed places | |
Computer-aided design software |
||||||
| MASHCAD - a computer-aided design system | Turbo Pascal + Microsoft assembler | MS/DOS | 100000 lines of Pascal and 6500 lines of MS assembler | none | This is a CAD system to generate Bezier 3D surfaces (mostly ship hulls) and build triangular/rectangular surface grids. The program had a Windows-like interface though written for DOS. It had the following features : hypertext help; the user was allowed to get 2D and 3D views, zoom, perform mouse-driven alterations of surface shape; Spline, Jacoby polynomial and other types of fairing; it was based on a specially written SVGA library | |
| MASHCAD - a computer-aided design system - subsequent versions | Turbo Pascal + Microsoft assembler | MS/DOS | additional 100000 lines of Pascal | none | The MASHCAD had many subsequent versions written in several years. At the end, such extravagant things were implemented as different types of surface fairing, including specially developed variational fairing, treatment of large arrays of data with virtual arrays with disk swapping, own SVGA libraries etc. | |
| MASURFACE - multi-function software to build 3D surfaces | Visual C++ and assembler | Windows | 70000 lines | none | This is a CAD system to generate Bezier 3D surfaces, cover them with textures, save in files, build meshes on the surface etc. The representation of geometry is made convenient to be used in visualisation by OpenGL. This program is still not complete | |
Sumulation software |
||||||
| WIG - a flight simulator | Pascal + assembler | MS/DOS | 6000 lines of Pascal and 1500 lines of assembler | Prof.N.Kornev (aerodynamics) | A flight simulator written for IBM PC to model the dynamics and windshield view for a wing-in-ground effect vehicle. Was written in Turbo Pascal for standard VGA video modes | |
| WIGSIM - a flight simulator | Pascal + assembler | MS/DOS | 10000 lines of Pascal and 1500 lines of assembler | Prof.N.Kornev (aerodynamics), A.Zakharov (aerodynamics) | A flight simulator written for IBM PC to model the dynamics and windshield view for a wing-in-ground effect vehicle. Was written in Turbo Pascal for standard VGA video modes | |
| SKIPPER - a marine radio (GMDSS) simulator | Turbo Pascal + Microsoft assembler | MS/DOS | initial version : 250000 lines of Pascal + 20000 lines of assembler | A.Peredery | The program is still used in Marine Educational Centres to teach marine radio operators. Main features of the program : custom multitasking, the program is built up as a hypertext database made up of various components - text, pictures, videos, audio fragments and executables; database of parameters for coast radio stations; local area network exchange; realistic view from the ship's bridge; low-level programming of SVGA library and Sound Blaster audio card; the DLL technology is used | |
| MASKANTI - a marine radio (GMDSS) simulator | Turbo Pascal + Microsoft assembler | MS/DOS | plus 50000 distinct lines of Pascal | A.Peredery | This is a version marine simulator - SKIPPER with a set of radio eqipment manufactured by SKANTI | |
| MASAILOR - a marine radio (GMDSS) simulator | Turbo Pascal + Microsoft assembler | MS/DOS | plus 50000 distinct lines of Pascal | A.Peredery | This is a version marine simulator - SKIPPER with a set of radio eqipment manufactured by SAILOR | |
| MASIM - simulator of navigation for inland waterways | Visual C++ and assembler, GCC and NetWide assembler for Linux | Windows, Linux | 200000 thousand lines of C and assembly | none | This is a full-scale (though not complete) simulator of navigation for river ships that included all necessary components (several distinct programs) : visualization channels under Linux; radar, ship controls, instructor stations are programs written for Windows NT | |
| MASIM - simulator of navigation for inland waterways (instructor software) | Visual C++ and assembler | Windows, Linux | 20000 lines of C | none | This a part of my simulator of navigation : instructor workstation which must control all the simulator. At the pricture you can see some geographic region (Ladoga lake is shown) with navigational signs and moving ships | |
| VISFISH - my CGI attempt | Visual C++ and assembler | Windows | 50000 lines of C and assembly | none | Impressed by CGI (Computer Generated Imagery) creatures in cinema (BBC Wild Life, Jurassic park), I tried to make my own CGI creatures. This demo shows movement of an ancient fish. The surfaces are represented as bicubic patches covered with textures. As the creature moves and shape of its body constantly changes, it is impossible to use display lists, but I dynamically divide bicubic patches into quadrangles. To speed up the division, I extencively use XMM instructions | |
| VDEMO - my experiments with OpenGL | Visual C++ and assembler | Windows | 50000 lines of C and assembly | none | This demonstration program is my experiment with OpenGL. The scene contains environment, ships etc.; the ship moves with six degrees of freedom, as it must do; however, I, as usual, did not take all easieast ways already available in OpenGL, and made my own chained coordinate transformations (e.g. the viewer moves relatively to ship, ship moves relatively to water) | |
| EC1241 - engine controls for a missile boat | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is my first work for Transas. This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| AIST - engine controls for a high-speed craft | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| HARP - radar controls for a missile boat | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| BREEZE - GPS indicator | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| GUIS - gyrocompass | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| SOUNDER - echo sounder | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This is a COM-client for NAVI-Trainer, Transas's navigational simulator | |
| DATAGATE - data gate | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | Windowless application that provides any data to any client connected to it. Clients connect to the server using TCP/IP protocol and ask for type of data they want to receive from NAVI-Trainer. Also they indicate at what frequency the data must be sent to them | |
| FLAGS - special controls for warships | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | Special controls for warships. This set of controls is used to handle different flags on warships, launch signal rockets, transfer fuel from tankers etc. | |
| VAIGACH - "Vaigach" radar | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | "Vaigach" radar. This is a COM-client for NAVI-Trainer, Transas's navigational simulator. Realistic view of radar fading image | |
| HDRINSTR - hydrographic instructor workstation | Visual C++ and assembler | Windows | 15000 lines of C and assembly | none | This is instructor workstation to simulate hydrographic measurements. This module is built into the Transas' navigational simulator - NAVI-Trainer. The program enables the user to load seabed relief and edit it by correcting depth values and adding sunk objects into the scene. The program communicates with other standalone hydrographic programs via sockets according to TCP/IP protocol | |
| VHFRADIO - digital telephone over LAN | Visual C++ and assembler | Windows | 15000 lines of C and assembly | none | This is a digital telephone to simulate voice transfer by marine VHF radio. It is based on Windows sockets | |
| MATELOT - software for an integrated bridge system | Visual C++ and assembler | Windows | 10000 lines of C and assembly | none | This a set of programs to provide a centralised control of ship equipment from computers. One of main difficulties is a requirement of very high reliability of the whole system, so a duplication of network exchange is implemented. Network exchange of data is provided with sockets and partly DCOM | |
| MLOG - log for the integrated bridge system | Visual C++ and assembler with MMX and XMM | Windows | 10000 lines of C and assembly | none | This is a log program for events occurring within the integrated ship system. Desktop bitmaps, mouse and keyboard events, alarms, parameters, radar images are compressed and stored. Later, they can be played back with or without acceleration in time in different windows. Compression is performed incrementally (e.g. differences of bitmaps are stored), the total amount necessary to store all the information during 24 hours is approx. 1Gb. Access to pieces of data is indexed to decrease access time | |
![]() |
LMRADAR - full-scale radar simulator | Visual C++ and assembler with MMX and XMM | Windows | 130000 lines of C++ and assembly | Martin Quaintance (LightMaster Software) | This is a full-scale radar simulator for leisure-boat users. Incorporates both standalone and network versions. Currently, two different radar sets are available. |
![]() |
LMVHF - full-scale VHF radio and DSC simulator | Visual C++ and assembler with MMX and XMM | Windows | 20000 lines of C++ and assembly | Martin Quaintance (LightMaster Software) | This is a full-scale VHF radio system simulator for leisure-boat users. Incorporates both standalone and network versions. Based on Simrad RS86 VHF radio system. |
| MPHONE - digital telephone over LAN | C++ Builder | Windows | 15000 lines of C | none | This is a digital telephone to simulate voice transfer between computers over pipes | |
Numerical methods |
||||||
| FLAC - Aerodynamic calculation of a system of two airfoils and a jet | FORTRAN | WANG | 1300 lines | none | Calcuation of two thick airfoils in a potential inviscid fluid flow. The flow is modeled by a replacement of solid bodies and free surfaces by curvilinear vortex layers. Both stade and unsteady flows can be modeled | |
| NSTOKES - solution to Navier-Stokes equations | FORTRAN | IBM mainframes | 7000 lines | none | A finite element solution to Navier-Stokes equations with penalty method was implemented. Due to very modest speed of this type of computers only solution for a flow around circuar cylinder up to Reynolds number 40 were achieved | |
| NULINE - lifting line in non-uniform flow along span | FORTRAN | IBM mainframes | 5000 lines | none | A lifting line theory expanded to the case of non-uniform flow along span was numerically treated by the finite element method. The partial differential equations were linearised. | |
| FLIND - calculation of three-dimensional potential flow inside three-dimensional ducts | FORTRAN + assembly | IBM mainframes | 1000 lines of FORTRAN + 400 of assembly | none | Calculation of velocity distribution inside of three-dimensional duct by the finite element method. Duct geometry is approximated with Jacoby polynomials.The fluid flow is potential. Automatic mesh generation. Finite elements are iso-parametric qudratic. The resulting system is solved by LDL-t decomposition | |
| FEMAX -calculation of axisymmetric potential flows by the finite element method | FORTRAN | IBM mainframes | 600 lines | none | The distinctive feature of the program is an algorithm of immediate elimination applied to the solution of the resulting system of equations | |
| FASTA - assembly-based quick addition of matrices with scalar coefficients | Assembly for IBM mainframes | IBM mainframes | 200 lines | none | Written to speed-up matrix operations. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses | |
| FASTM - assembly-based quick matrix multiply | Assembly for IBM mainframes | IBM mainframes | 150 lines | none | Test computation show increase in execution speed up to 2.5 compared to standard routine GMPRD. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses | |
| GELA - assembly-based quick Gauss elimination with partial pivoting | Assembly for IBM mainframes | IBM mainframes | 250 lines | none | Execution speed is incsreased by the factor of 2.5 compared to standard routine GELG. The improvement is achieved by utilising the incremental nature of the algorthm when calculating element addresses | |
| WING - computation of aerodyanmic characteristics of lifting surfaces by horse-shoe vortex method | FORTRAN | IBM mainframes | 500 lines | none | Interactive program written for IBM terminal. It allowed the user to change geometry of a lifting surface and estimate the influence of the change | |
| PRONUS - actuator disk in axially non-uniform flow | FORTRAN | IBM mainframes | 1000 lines | V.G.Mishkevich (hydrodynamics of ship propellers, statement of the problem) | The program was developed to investigate the influence of non-uniformity (non-potentiality) of fluid flow around a ship propeller. The problem was first formulated as a boundary-value problem derived from the linearized Eulerian set of partial differential equations. The problem was solved by finite elements. The investigations had shown that decrease in pitch near the hub obtained by pseudo-potential solutions used in industry is too high | |
| GREEDY - FEM mesh generator | FORTRAN | IBM mainframes | 500 lines | none | Used to generate two-dimensional finite-element meshes by tesselation of input larger zones into smaller finite elements | |
| AIRFOIL - airfoil in linearized and non-linear ideal fluid flow | FORTRAN | IBM mainframes | 2000 lines | none | Two-dimensional non-uniform fluid flow around airfoils is considered. Kutta-Joukovsky condition is applied. The resulting non-linear or linearised boundary-value problems are solved by finite elements. Also, matching with analytical solutions near sharp edges is implemented | |
| JEANLOU - airfoil in linearized non-uniform fluid flow | FORTRAN | IBM mainframes | 1000 lines | none | Two-dimensional non-uniform fluid flow around airfoils is considered. The problem is solved by triangular Ermite finite elements (having both function and its derivative values at nodes as unknowns) | |
Tutoring software |
||||||
| AIRFOIL TUTOR - a tutoring software for students in aerodynamics | Turbo Pascal and Turbo Prolog | MS/DOS | 50000 lines | none | A user-friendly tutoring systems for IBM-type personal computers intended for students in aerodynamics written for IBM PC. Results represented graphically. Hypertext help system | |
| FEM TUTOR - a tutoring software for students in aerodynamics | Turbo Pascal and Turbo Prolog | MS/DOS | 50000 lines | none | A user-friendly tutoring systems for IBM-type personal computers intended for students in aerodynamics written for IBM PC. It showed mesh generation and influence of duct geometry on velocity and pressure distributions along walls. Results represented graphically in three dimensions. Hypertext help system | |
| AUTOWING - a tutoring software for students in aerodynamics | Turbo Pascal and MS assembler | MS/DOS | 50000 lines | Prof.N.Kornev (aerodynamics and design) | A user-friendly designer for ligting surfaces for IBM-type personal computers. This program has been modified many many times and actually is still in active use | |
| SHIPDYN - graphical representation of ship manouvering | Visual C++ and MS assembler | Windows | 5000 lines | Prof.N.Kornev (ship dynamics model) | This software is used to illustrate the influence of ship hull geometry on its manouverability. The ship dynamics is based on the model suggested by Prof.Kornev | |
| CSECTION - use of control section synchronization primitive | Visual C++ | Windows | 200 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| SEMAPHORE - to show how how to use semaphores | Visual C++ | Windows | 200 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| TRANSFORM - to show how matrix multiplies are used to model coordinate transformations | Visual C++ | Windows | 200 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| DEPOSIT - to illustrate how race conditions occur | Visual C++ | Windows | 500 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| MPI... (4 programs) - to show how to use MPI for code parallilisation | Visual C++ | Windows | 2000 lines | none | These small programs were used as a sample code to teach students in Rostock University | |
| OPENGL... (11 programs) - to show how to use OpenGL | Visual C++ | Windows | 3000 lines | none | These small programs were used as a sample code to teach students in Rostock University | |
| THREAD... (2 programs) - to show how to parallelise code with threads | Visual C++ | Windows | 600 lines | none | These small programs were used as a sample code to teach students in Rostock University | |
| MYSQL - to show how to program an embedded MySQL database | Visual C++ | Windows | 300 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| ODBC - to show how to use ODBC to control an MS Access database tables | Visual C++ | Windows | 300 lines | none | This small program was used as a sample code to teach students in Rostock University | |
| FEMVISUAL - finite element solution to Poisson equation | Visual C++ | Windows | 1000 lines | none | This program was written for students and with students help to solve Poisson equation in a two-dimensional region. This is a model of static electric field. The solution represented distribution of potential across a cross section of a wire. To my surprise, I spent only two hours to write this program in C | |
Utilities*** |
||||||
| RCODER - recoder for cyrillic text files | Turbo Pascal and MS assembler | MS/DOS | 3000 lines | none | A command line routine to change encoding of cyrillic text files | |
| COMPFILS - a utility to compile composite files | Turbo Pascal and MS assembler | MS/DOS | 2000 lines | none | This utility makes a single composite file made up of different files and provides it with a header to quickly load each file. Normally, the file components are compressed by RLE,LZ or JPEG | |
| MARLZ - a utility to compress short telex texts | Turbo Pascal and MS assembler | MS/DOS | 6000 lines | none | This utility was specially developed to improve quality of compression for typically short texts of marine telegrams. This was achieved by a modification of the standard Lempel-Ziv compression algorithm by preliminary filling of the dictionary with a set of words typical for maritime telegrams, like MASTER, SAIL etc. This greatly improved the compression ratio of marine telegrams | |
| RECODER - user-friendly recoder for cyrillic text files | Turbo Pascal and MS assembler | MS/DOS | 5000 lines | none | A user-friendly software to change encoding of cyrillic text files | |
| RTEXT - file processor | Turbo Pascal and MS assembler | MS/DOS | 15000 lines | none | File processor to edit, translate and print files | |
| EDIT8x14 - a utility to edit font files | Turbo Pascal | MS/DOS | 5000 lines | none | A utility to edit font tables | |
| SEEFILE - a utility to see binary file contents | Turbo Pascal | MS/DOS | 5000 lines | none | Enables to see contents of a binary file as different types of data, e.g. as integer, floating point value etc | |
| TUNEED - musical tune editor | Turbo Pascal | MS/DOS | 15000 lines | none | Is used to make tunes, play and save them | |
Databases and Internet |
||||||
| PUBLICATIONS - an Internet database of publications | PHP and MySQL | Windows | 1200 lines | none | Written to maintain a list of different types of publications. Freely accessible for everybody to look at contents at http://www-ae.e-technik1.uni-rostock.de/home/andrej/index.php while editing is protected by a password | |
| PUBLICATIONS - a database of publications | Visual C++ based on ODBC and MS Access database tables | Windows | 3000 lines | none | Written to maintain a list of different types of publications. Based on embedded ODBC to get access to MS Access tables | |
| MINES - an Internet database of electromagnetic characteristics of land mines | PHP, MySQL, Visual C++ | Windows | 4500 lines of PHP and 5000 lines of C | none | Written to maintain an interrelated 6-table database of electromagnetic characteristics of land mines. The data includes geometry, soil and material properties, as well as results of computations. The latter are geometrically represented on the WEB page by means of a special graphics utility written in Visual C++ | |
| SSHOP - a database of goods for a small shop | Delphi | Windows | 3000 lines | none | A database based on Paradox tables written by standard Delphi means | |
| RSTATIONS - a database of coast radio stations | Pascal | MS/DOS | 5000 lines | none | This was a part of my SKIPPER marine radio simulator. It was written as an originally developed 1-table database with such things as indexing | |
*Almost ALL software was written by me ALONE from scratch and without any toolboxes etc. of other authors with very few exceptions (see co-authors about what they did)
**Of course, this is an approximate value : I calculated it by dividing the size of source files in bytes by an average length of a line of code (30). Also, I tried not to take into account code already counted in other projects
***Actually, utilities are the most common type of software for large projects and many are simply NOT MENTIONED here. Large projects usually require not only much programming, but also preparation of huge amounts of data. For example, for a navigational simulator we need to construct a binary representation of a visual scene, or tesselate sea region into triangles to learn if a ship is inside sea or not etc.
E-mail me at address: andrewkoudr@hotmail.com