Projects in Java

Zhou Ji Sun (R) Certified Programmer for the Java TM 2 Platform

Fractal Generator

Introduction

Fractal based on Koch curve is generated with various parameters.
Image files are generated in TIFF format.

Figures

Figure 1 Sceeen shot
Figure 2 Single Shape (generalized Koch Snowflake) (Generated image converted to GIF for demo)
Figure 2 Random Group of random Koch curve (generated image converted to GIF for demo)

Features

Various control parameters.

E-Library System

Introduction

The E-Library system consists of a server program and a client program. The server side provides the content of the book when receiving request from the client side. The book is chosen from a library according to the request. The client side accepts user's input of author, title, publisher, year, month and/or ISBN from a GUI interface and sends to the server. It displays the content of the retrieved book in a scrollable text field. Multiple requests are supported by the server.
Two versions are implemented with similar functionality. One uses UDP packet to send the query and the book content. The other uses TCP protocol. The UDP version client has a timeout of 5 seconds and the server deals with multiple clients in a sequential manner. In the TCP version, real multiple requests are supported simultaneously by difference threads of the server.
Users can input any combination of information for query, or leave unconcerned fields blank. Client interface also supports choosing server machine by IP address. Users can switch to different servers to do the query. This design makes it possible to use many different sites of E-Library that have different sets of books.
A persistent log file is maintained by the server. Every request, either successful or unsuccessful, is saved.

Screen shot

Figure 1 Two clients do query at the same time.
Figure 2 When several conditions conflict, the privilege order decides which condition to be used. (ISBN is used in this example).
Figure 3 Just as the server, the client also can run on different systems. It is shown here a client running on a UNIX box (Solaris).

Features

  1. Queries from multiple clients are processed simultaneously.
  2. Query client can switch between servers running on different machines smoothly.
  3. TCP and UDP versions both work well. In occasional cases, the client of UDP version was timeout and had no book content received, but it continues to wait for the next query as designed.
  4. Different query combinations can be used.

Web Monitor

Introduction

Screen shot

Figure 1 Approach 1 - Dynamically generate HTML document.
Figure 2 Approach 2 - Monitor by a Java application.
Figure 3 Approach 3 - Periodically update parameters of an applet.

Features

Biofilm image processing

Introduction

This is an algorithm demostration version. The working version is deveploped in Visual C++.

Screen shot

Figure 1 Original image
Figure 2 Binarized
Figure 3 Border
Figure 4 After 5 step dilation
Figure 5 EDM (Euclidean Distance Map)

Features

Interactive Demonstration of Julia Set

Introduction

This software can display fractal image of Julia Set in a very large range of scale using easily set color map.

Screen shot

Figure 1 Display with default settings
Figure 2 Display with a different color map and a much smaller scale

Features

Value range, image size, color map and the coefficients used in generating Julia Set can be set interactively. Mouse is used to select part of the display to generate new image.

Computation in Thermodynamics

Introduction

This is an specialized calculator to calculate the mean normal velocity of a molecule due to thermal fluctuation. It is used in thermodynamic computation.

Screen shot

Figure 1 screen shot

Features

This is an utility developed for my previous CFD research in 1997.
[Projects in Visual C++] 1