Poliplus Software logo poliplus Software
Products

products

download



Equation Software in Java for the Internet



EqnWriter without double buffering

Get a complete CAS (Computer Algebra System) the size of an image file (~122k) yet capable of solving several Math problems. Take a look for yourself. If your browser doesn't support JAR files, no problem, just download it and run it locally. The software runs on any JVM that support Java version 1.02 or higher. Check out the online docs available.

If you don't get the right-side palette. try downloading the software and running it locally. Also note that not all Java implementations support Greek characters and other Math symbols. All used symbols show up properly under Netscape 4.0 and JDK1.1.

Known problems:
  • Under IE 4.0 : Missing Greek characters and other Math Symbols.
  • Under Netscape 4.0 : Only over the net, the right side palette disappears, but when ran locally, it works fine.

This software is available free of charge for non-commercial purposes. We provide inexpensive licenses for using this technology in other products. Current licensees will receive preview versions of new modules as well as information on future releases. Contact us for more details.

For a quick run of the software, press SampleEqns (to get a sample equation to play with) then use ExpandStep or ExpandGo. You can use the mouse to select parts of an expression to be manipulated. Use AddToHist and ClearHist to manipulate the history stack. This release of the CAS only supports Algebra. In the future, we will release complete support for Calculus and other areas of Mathematics.

Select something and Press <enter> to dump the selection's ASCII representation to the JavaLog file.

EqnWriter with double buffering

EqnViewer : no dynamic key processing

Sorry, you can't select things. This is how to add equations to your web page without using images.



Chemical Equation Software in Java for the Internet

Now you can easily display any type of 2D chemical formula found on standard textbooks using a simple linear notation. Whether you are interested in drawing linear molecules or 2D sketches, Lewis dot notation, ionic charges, states, bonds, rings, etc. You can do it all with ChemEqnViewer. Take a look for yourself; The software's size is only 40K. If your browser doesn't support JAR files, no problem, just download chemeqn.zip and run it locally. The software runs on any JVM that supports Java version 1.02 or higher. The next release will include a complete Graphical User Interface for the editor.

This software is available for free for non-commercial purposes. We provide inexpensive licenses for using this technology in other products. Current licensees will receive preview versions of new modules as well as information on future releases. Contact us for more details.

How to use the software

There are two tabs below. The Samples tab contains sample chemical formulas that illustrates the software's capabilities. You can click on any structure to select it. There are several dynamic pages of formulas. You can go to the next page by clicking on the page turning symbol on the bottom right hand corner of the page. Check out the cool page turning animation. The Edit tab contains two buttons. The Get button puts the chemical formula selected in the Samples Tab into the Edit view. The Edit view has the actual 2D equation panel and an text edit panel with the equation's linear representation. You can modify or type in your own equation into the text edit panel. Use the Set button to see what your equation looks like in 2D. This linear representation is then embedded into the web page just as it is done in EqnViewer. Check out EqnViewer for documentation on the applet parameters. This file only documents the syntax used to represent Chemical Equations.


Known problems:
  • Under IE 4.0 : Extra horizontal line under tabs. This only occurs for IE 4.0 and it seems to be a problem related to clip regions.




Chemical Representation

Chemical formulas are represented by a linear character based representation that is suitable for use on web pages as well as for software processing. The syntax developed is aimed at making it easy for the user to type it in as well as to maintain visual fidelity while preserving chemical knowledge.

1 - Atom

Atoms are represented by their standard chemical symbol found on any periodic table. Please note that Atomic symbols begin with a capital letter. Case sensitivity is important here. As an example Carbon's Symbol is C, whereas Sodium is Na. Properties are represented by braces ({ and }). Atoms can have the property of being hidden. This is useful for example when drawing benzene. Every corner of benzene has a hidden carbon represented as C{hidden}.

2 - Linear Molecule

Linear Molecules are represented as they are written on paper without regards for subscripting multiplicity numbers. Water for example is represented as H2O; the software will automatically lower the 2. You can also use parenthesis for grouping. Here is another example : Ba(NO3)2.

3 - Charge

Charge is represented by brackets ([ and ]). The charge amount follows standard chemistry notation. Here are a few examples : H[+], Cl[-], Ba[2+] and SO4[2-]. A second optional parameter specifies the actual location of the charge; by default it is located in the top right hand side. The following table summarizes all possible parameter types.

TL (Top Left) T (Top) TR (Top Right)
L (Left) R (Right)
BL (Bottom Left) B (Bottom) BR (Bottom Right)

Here is an example : Na2SO4[2-,T]. This feature becomes important when drawing Organic Chemistry structures.

4 - Dot

Dots are represented by the dot property. Possible dot location are Summarized below.

T (Top)
L (Left) R (Right)
B (Bottom)

Use zeros and ones to specify number of total dots and its visibility (on(1) or off(0)). Dots follow from left to right and top to bottom. Here are a few examples : O{dot={T=101,R=1}} and O{dot={B=10,L=1,T=01,R=111}}.

5 - State

States are represented by the state property. You can have one or more states. Here are some examples : H2O{state={l,s}} and H3O[+]{state=aq}.

6 - 2D Molecule

2D Molecules are represented by double less than (<<) and double greater than (>>) symbols. The syntax is as follows.

<< num_of_elements,

atom_1,

molecule_2,

last_element;

num_of_links,

link1{properties},

link2{properties},

lastLink{properties}

>>

Notice the semi-colon after the last element. Here is an example :

<< 4,H,C,O,H;

3,

single{1,2,0,1},

double{2,3,0,1},

single{2,4,90,1}

>>

The example above has 4 elements and 3 links.

6.1 Links

There are 3 types of links as illustrated below.

6.1.1 - Bonds

Bonds can be : single, double, triple or quadruple.

Their properties are : { SourceNode, DestinationNode, AngleInDegrees, RelativeSize, endLoop* }

  • SourceNode is an integer
  • DestinationNode is an integer
  • AngleInDegrees is a float
  • RelativeSize is a float
  • endLoop is optional and it is the string "endLoop". endLoop is used to specify the end of a loop. It basically tells the layout algorithm not to position the last node since it was already positioned. This is needed to avoid problems related to precision.

Here are a few examples :

single{2,4,90,1}

single{1,2,0,1.75}

double{2,3,0,1}

double{5,1,72,1,endLoop}

6.1.2 - Ring

Ring is basically used to draw the benzene circular ring.

Its properties are : {Node1, Node2, Node3, Node4, Node5, Node6 }

  • Node1 to Node6 are integers describing the six node numbers of the benzene structure.

Here is an example :

ring{1,2,3,4,5,6}

6.1.3 - Aside

Aside is basically used to specify elements that are located beside each other.

Its properties are : { SourceNode, DestinationNode, Direction, dotOverlap* }

  • SourceNode is an integer
  • DestinationNode is an integer
  • Direction is a character; one of
    TL (Top Left) T (Top) TR (Top Right)
    L (Left) R (Right)
    BL (Bottom Left) B (Bottom) BR (Bottom Right)
  • dotOverlap is optional and it is the string "dotOverlap". dotOverlap is used to specify when two elements are beside each other and they want their dot structures to overlap.

Here are a few examples :

aside{4,5,L}

aside{1,2,R,dotOverlap}


Poliplus Software
160 Columbia St. W. #248
Waterloo, Ontario
Canada, N2L-3L3
Phone: (519) 742-9387
Fax: CALL US
info@poliplus.com
http://www.poliplus.com