Computer Science Projects

 www.partow.net  .: Home :.   .: Links :.   .: Search :.   .: Contact :. 


Digital Image Watermarking

This is a suite of algorithms implemented in delphi that demonstrate simple high-capacity fragile watermarking algorithms and how they can be implemented on loss-less format images. The algorithms implement LSB watermarking on 1st, 2nd and 3rd bits, and have been optimised to be run in parallel. Due to the high data storing capacity of the algorithms they can also be used as steganographic tools for storing hidden data.

Watermark Image - Copyright Arash Partow



FastGEO

FastGEO Image - Copyright Arash Partow

FastGEO is a library written in object pascal that contains a wide range of highly optimized vector based geometrical algorithms and routines for many different types of geometrical operations such as geometrical primitives and predicates, hull construction and triangulation, clipping, rotations and projections.



Particle Engine System (P.E.S)

This is a fully scalable particle engine, that has the capabilities of running on clusters that run MPI and Open-MPI protocols. Currently the system simulates mass-spring systems, and visualizes the result via OpenGL 3D graphics and GLUT windowing interface.At the moment the system uses very primitive ODEs such as Euler, Extended Euler and Runge-Kutta algorithms. PES has been successfully compiled and run under both Unix and Windows systems, however under Windows MPI capabilities are not available.

PES Image - Copyright Arash Partow



N-Mice Simulation

N-Mice Simulation - Copyright Arash Partow

This is a simulation of the N-Mice problem, which is presented as the paths that "N" mice which are standing evenly distributed around a circle with a particular radius would take if they were all trying to reach the mouse on their right hand side. It turns out that mathematically they never reach each other, however physically they do. The paths they create are in spiral form, This application can simulate up to 20 mice, in theory it could do much more, however the visual effect of the nice spirals really begin to dissipate after about 20 mice. The simulation assumes each mouse as being an independent particle in 2D space, each particle (mouse) follows the particle on its right hand side, with an attraction force that is calculated via Newton's formula of matter to matter attraction. There are many other ways to implement this problem, a full mathematical definition of the problem and other possible solutions can be found at mathworld.



Polynomial Signal Rectification

This is a signal generation and processing application. It is capable of producing many different types of commonly used wave forms such as square, saw-tooth and triangular wave forms, it can also take an algebraic expression representing a continuous analog signal and turn it into a useable digital wave form. The application also has a rendering system which applies different types of smoothing and noise reduction algorithms. I hope to add Fourier and Hadamard transformations to future versions of this application. (If I get the time...)

PSR Image - Copyright Arash Partow



Equation Evaluator

Equation Evaluator Image - Copyright Arash Partow

This is my contribution to the plethora of mathematical applications on the web. I wrote this to prove to myself I could write and implement a grammar, and once I had achieved that I saw many different areas in which I could use the grammar. The application does function graphing, solution to expressions, integration in 2D and 3D and it also does simple series calculations. Its a very simple program and was only intended on demonstrating the speed and capabilities of the parser engine I had developed. A note on the parser engine is its unique ability to simplify expressions and re-order them so that they are executed as a list of sequential operations rather than a tree of prioritized expression this functionality leads to great decrease in time needed to evaluate a particular expression which makes it ideal for repetitive evaluations of expressions where only the variables change value and not the expression itself, such as graphing a function or integrating an area.



Virtual Particle Flame

This is a particle simulation with a cooling algorithm implemented as the particles move within the 2D space. The particles follow a very simple parametric equation and the space that they have traveled on begins to cool down with regards to Newton's differential equation for the cooling of matter. What is interesting here is if another particle intersects the path of a particle which has just passed the space where the intersection occurs heats up more than what the second particle would have heated it up normally. This is due to the remaining heat that was already there being summed up by the new heat that is arriving. This simulation makes for some very interesting eye-candy .

Virtual Particle Flame Image - Copyright Arash Partow



Simple Java Paint Brush

Simple Java Paint Brush Image - Copyright Arash Partow

This is a simple java applet implementation of a paint-brush style program. It has the basic drawing tools such as pen, line, filled and non-filed rectangles and ellipses and color manipulation options, other than that its really boring, but a good example of how to use java's graphics libraries.



C++ Galois Field Arithmetic Library

A simple library written in the C++ language for performing arithmetic over Galois fields. The arithmetic can be in the form of either elements or polynomials over a specified Galois field. The library is optimised to run in one of two modes, normal or LUT mode. In the LUT mode performance is increased dramatically at the cost of large consumption of memory. The library can be used in but not limited to such fields as cryptography, error correcting codes and computational analysis.

C++ Galois Field Arithmetic Library Image - Copyright Arash Partow




Copyright Arash Partow