[1mSYNOPSIS[0m
[1mxabacus[0m
[-geometry [{width}][x{height}][{+-}{xoff}[{+-}{yoff}]]] [-display
[{host}]:[{vs}]] [-[no]mono] [-[no]{reverse|rv}] [-{foreground|fg}
{color}] [-{background|bg} {color}] [-bead {color}] [-frame {color}]
[-rail {color}] [-{border|bd} {color}] [-delay msecs] [-[no]sound]
[-bumpSound {filename}] [-moveSound {filename}] [-[no]demo]
[-[no]script] [-demopath {path}] [-{demofont|demofn} {fontname}]
[-{demoforeground|demofg} {color}] [-[no]vertical] [-[no]slot]
[-[no]diamond] [-[no]torient] [-[no]borient] [-tnumber {int}] [-bnumber
{int}] [-tfactor {int}] [-bfactor {int}] [-tspaces {int}] [-bspaces
{int}] [-tpiece {int}] [-bpiece {int}] [-tpiecePercent {int}]
[-bpiecePercent {int}] [-shiftPercent {int}] [-[no]sign] [-decimalPosi-
tion {int}] [-groupSize {int}] [-rails {int}] [-base {int}] [-anomaly
{int}] [-shiftAnomaly] [-anomalySq {int}] [-shiftAnomalySq] [-display-
Base {int}] [-[no]romanNumerals] [-{chinese|japanese|korean|roman|rus-
sian|other}] [-version]
[1mDESCRIPTION[0m
This is an implementation of the classic Chinese abacus (Saun-pan)
which has its origins in the 12th century.
The device has two decks. Each deck, separated by a partition, nor-
mally has 13 rails on which are mounted beads. Each rail on the top
deck contains 1 or 2 beads, and each rod on the bottom deck contains 4
or 5 beads. Each bead on the upper deck has a value of five, while
each bead on the lower deck has value of one. Beads are considered
counted, when moved [4mtowards[24m the partition separating the decks, i.e. to
add a value of one a bead in the bottom deck is moved up and to add a
value of 5 a bead in the top deck is moved down.
The basic operations of the abacus are addition and subtraction. Mul-
tiplication can be done by mentally multiplying the digits and adding
up the intermediate results on the abacus. Division would be similar
where the intermediate results are subtracted. There are techniques
like using your thumb and forefinger which does not apply with mouse
entry. Also with multiplication, one can carry out calculations on
different parts of the abacus for scratch work, here it is nice to have
a long abacus.
The pre-WWII Japanese abacus (Soroban) (or Korean Supan) is similar to
the Chinese abacus but has only one bead per rail on the top deck. The
later Japanese abacus was further simplified to have only 4 beads per
rail on the bottom deck.
The Roman hand-abacus predates the Chinese abacus and is very similar
to the later Japanese abacus, but seems to have fallen out of use with
the Fall of the Roman Empire (at least 3 are in existence). The Roman
abaci are brass plates where the beads move in slots. In addition to
the normal 7 columns of beads, they generally have 2 special columns on
the right side. In two examples: the first special column was for 12ths
(12 uncia (ounces) = 1 as) and had one extra bead in the bottom deck.
Schoty have a extra place for the 1/4 Kopek (quarter percent) as well
as the 1/4 Ruble (quarter).
The Mesoamerican Nepohualtzintzin is a Japanese abacus base 20. The
Mesoamericans had base 20 with the exception of the 3rd decimal place
where instead of 20*20=400 the third place marked 360 and the 4th place
was 20*360, etc.. They independently created their own zero (only
Babylon (base 60) and India (base 10) have done this) but the anomaly
took away its true power. Disable anomaly by setting anomaly to 0.
The Chinese Solid-and-Broken-Bar System is a base 12 numbering system
and not really an abacus. When the abacus is setup in this way though,
it is easy to relate the two.
An easy way of figuring out time in seconds given hours, minutes, and
seconds, can be done on the Roman abacus or on the Japanese abacus with
special "anomaly" settings.
The signed bead is an invention of the author, and is not present on
any historical abacus (to his knowledge) and is used to represent nega-
tives. "New & Improved" abacus models have two auxiliary decks stacked
above the principal deck that enable multiplication, division, square-
root, and cube-root computations to be performed with equal ease as
addition and subtraction.
[1mFEATURES[0m
Click "[1mmouse-left[22m" button on a bead you want to move. The beads will
shift themselves to vacate the column that was clicked.
Click "[1mmouse-right[22m" button, or press "[1mC[22m" or "[1mc[22m" keys, to clear the aba-
cus.
Press "[1mO[22m" or "[1mo[22m" keys to toggle the demo mode.
Press "[1mI[22m" or "[1mi[22m" keys to increment the number of rails.
Press "[1mD[22m" or "[1md[22m" keys to decrement the number of rails.
Press "[1mF[22m" or "[1mf[22m" keys to switch between Chinese, Japanese, Korean,
Roman, and Russian formats.
Press "[1mM[22m" or "[1mm[22m" keys to toggle Roman Numerals.
Press "[1mS[22m" or "[1ms[22m" keys to toggle the availability of a sign bead.
Press "[1mU[22m" or "[1mu[22m" keys to toggle the availability of quarter beads.
(Mutually exclusive to twelfth beads). Intended for Russian Abacus.
Press "[1mP[22m" or "[1mp[22m" keys to toggle the availability of quarter percent
beads. Intended for the older Russian Abacus.
Press "[1mT[22m" or "[1mt[22m" keys to toggle the availability of twelfth beads.
Press "[1mEsc[22m" key to hide program.
Press "[1mQ[22m", "[1mq[22m", or "[1mCTRL-C[22m" keys to kill program.
The abacus may be resized. Beads will reshape depending on the room
they have. [4mDemo[24m [4mMode:[24m In this mode, the abacus is controlled by the
program. When started with the demo option, a second window is pre-
sented that should be placed directly below the abacus-window. Descrip-
tive text, and user prompts are displayed in this window. Pressing 'q'
during the demo will quit it. Clicking the left mouse-button with the
pointer in the window will restart the demo (beginning of current les-
son).
[1mOPTIONS[0m
[1m-geometry {+|-}[4m[22mX[24m[1m{+|-}[4m[22mY[0m
This option sets the initial position of the abacus window
(resource name "[4mgeometry[24m").
[1m-display [4m[22mhost[24m[1m:[4m[22mdpy[0m
This option specifies the X server to contact.
[1m-[no]mono[0m
This option allows you to display the abacus window on a color
screen as if was monochrome (resource name "[4mmono[24m").
[1m-[no]{reverse|rv}[0m
This option allows you to see the abacus window in reverse
video (resource name "[4mreverse[24m").
[1m-{foreground|fg} [4m[22mcolor[0m
This option specifies the foreground of the abacus window
(resource name "[4mforeground[24m").
[1m-{background|bg} [4m[22mcolor[0m
This option specifies the background of the abacus window
(resource name "[4mbackground[24m").
[1m-frame [4m[22mcolor[0m
This option specifies the foreground of the frame (resource
name "[4mframeColor[24m").
[1m-rail [4m[22mcolor[0m
This option specifies the foreground of the rails (resource
name "[4mrailColor[24m").
[1m-bead [4m[22mcolor[0m
This option specifies the foreground of the beads (resource
name "[4mbeadColor[24m").
[1m-{border|bd} [4m[22mcolor[0m
This option specifies the foreground of the bead border
(resource name "[4mborderColor[24m").
[1m-moveSound [4m[22mfilename[0m
This option specifies the file for the move sound (resource
name "[4mmoveSound[24m").
[1m-[no]demo[0m
This option specifies to run in demo mode. In this mode, the
abacus is controlled by the current lesson (resource name
"[4mdemo[24m"). When started with the demo option, a window contains
descriptive text, and user prompts are displayed in this win-
dow. Pressing 'q' during the demo will quit it. Clicking the
left mouse-button with the pointer in the window will restart
the demo (beginning of current lesson). The demo uses Aba-
cus1.les for the first Chinese Abacus lesson, Abacusjp1.les for
the first Japanese (and Roman) Abacus lesson, Abacusko1.les for
the Korean Abacus, and Abacusru1.les for the Russian Abacus.
[1m-[no]script[0m
This option specifies to log application to [4mstdout[24m, every time
the user clicks to move the beads (resource name "[4mscript[24m"). The
output is a set of deck, rail, beads added or subtracted, and
the number of text lines (4). This can be edited to add text
to the lesson and used as a new demo keeping the generated num-
bers and the number of lines constant. If you want to add a
"do nothing", the first line generated is an example of that.
For example: "xabacus -script > Abacus5.les"
[1m-demopath [4m[22mpath[0m
This option specifies the path for the demo, possibly something
like /usr/share/games/xabacus (resource name "[4mdemoPath[24m"). It
initially looks for Abacus1.les. If it finds that, it will
later look for Abacus2.les, etc.
[1m-demofont [4m[22mfontstring[0m
This option specifies the font for the explanatory text that
appears in the secondary window, during the demo. The default
font is 18 point Times-Roman (-*-times-*-r-*-*-*-180-*). The
alternate font is 8x13.
[1m-demofg [4m[22mcolor[0m
This option specifies the foreground of the abacus demo window
(resource name "[4mdemoForeground[24m").
[1m-demobg [4m[22mcolor[0m
This option specifies the background of the abacus demo window
(resource name "[4mdemoBackground[24m").
[1m-[no]vertical[0m
This option allows you to set the abacus to allow a Russian
orientation (resource name [4m"vertical[24m").
[1m-[no]slot[0m
This option allows you to have either slots or rails (resource
[1m-tnumber [4m[22mint[0m
This option specifies the number of beads on top (resource name
"[4mtopNumber[24m").
[1m-bnumber [4m[22mint[0m
This option specifies the number of beads on bottom (resource
name "[4mbottomNumber[24m").
[1m-tfactor [4m[22mint[0m
This option specifies the multiply factor for the beads on top
(resource name "[4mtopFactor[24m").
[1m-bfactor [4m[22mint[0m
This option specifies the multiply factor for the beads on bot-
tom (resource name "[4mbottomFactor[24m").
[1m-tspaces [4m[22mint[0m
This option specifies the number of spaces on top (resource
name "[4mtopSpaces[24m").
[1m-bspaces [4m[22mint[0m
This option specifies the number of spaces on bottom (resource
name "[4mbottomSpaces[24m").
[1m-tpiece [4m[22mint[0m
This option specifies the number of pieces on top (resource
name "[4mtopPiece[24m").
[1m-bpiece [4m[22mint[0m
This option specifies the number of pieces on bottom (resource
name "[4mbottomPiece[24m").
[1m-tpiecePercent [4m[22mint[0m
This option specifies the number of piece percents on top
(resource name "[4mtopPiecePercent[24m").
[1m-bpiecePercent [4m[22mint[0m
This option specifies the number of piece percents on bottom
(resource name "[4mbottomPiecePercent[24m").
[1m-shiftPercent [4m[22mint[0m
This option specifies the shift of rails for piece percents and
also may influence the precision of the calculation (resource
name "[4mshiftPercent[24m").
[1m-[no]sign[0m
This option allows you to set the abacus to allow negatives
(resource name "[4msign[24m").
[1m-decimalPosition [4m[22mint[0m
This option specifies the number of rails to the right of the
decimal point (normally 2) (resource name "[4mdecimalPosition[24m").
[1m-anomaly [4m[22mint[0m
This option specifies the offset from the base for a multi-
plicative factor of the rail with the anomaly (if none, this is
set to 0) (resource name "[4manomaly[24m"). Currently, this only per-
missable if carries are not possible on abacus (such as a Roman
or a Japanese abacus without Quarters or Twelfths).
[1m-anomalyShift [4m[22mint[0m
This option specifies the offset from decimal point for the
anomaly (usually 2) (resource name "[4manomalyShift[24m").
[1m-anomalySq [4m[22mint[0m
This option specifies the offset from base for the second
anomaly (if none, this is set to 0) (resource name "[4manoma-[0m
[4mlySq[24m").
[1m-anomalySqShift [4m[22mint[0m
This option specifies the offset in rails from the first
anomaly (usually 2) (resource name "[4manomalySqShift[24m"). doing).
[1m-displayBase [4m[22mint[0m
This option specifies the base displayed (default is base 10)
(resource name "[4mdisplayBase[24m"). If this is different then
"[4mbase[24m" then it is implemented using "long long" and the calcu-
lation is limited by its bounds. Also the fractional part does
not scale with the "[4mdisplayBase[24m" so if the "[4mdisplayBase[24m" is
greater than the "[4mbase[24m" it looses some precision. Also no
rounding is done.
[1m-[no]romanNumerals[0m
This option allows you to set the abacus to allow Roman Numer-
als (resource name "[4mromanNumerals[24m"). Roman Numerals above 3999
are normally represented with bars on top, due to ASCII con-
straints this is represented instead in lower case (histori-
cally case was ignored). Roman Numerals above 3,999,999 were
not represented historically. Roman numerals change with dis-
playBase in an "experimental" way.
[1m-chinese[0m
This option specifies the format on the abacus (resource name
"[4mformat[24m") to "Chinese" for the Chinese Saun-pan.
[1m-japanese[0m
This option specifies the format on the abacus (resource name
"[4mformat[24m") to "Japanese" for the Japanese post-WWII Soroban.
This is also similar to the Roman Hand Abacus.
[1m-korean [22mThis option specifies the format on the abacus (resource name
"[4mformat[24m") to "Korean" for the Korean Supan or Japanese pre-WWII
Soroban.
[1m-version[0m
This option tells you what version of xabacus you have.
[1mREFERENCES[0m
Luis Fernandes [4mhttp://www.ee.ryerson.ca/~elf/abacus/[0m
Lee Kai-chen, How to Learn Lee's Abacus, 1958, 58 pages.
Abacus Guide Book, 57 pages.
Georges Ifrah, The Universal History of Numbers, Wiley Press 2000, pp
209-211, 288-294.
Review of the above: http://www.ams.org/notices/200201/rev-dauben.pdf
David Eugene Smith, History of Mathematics Volume II, Dover Publica-
tions, Inc 1958, pp 156-195.0
[1mSEE ALSO[0m
X(1), xrubik(6), xskewb(6), xdino(6), xpyraminx(6), xoct(6), xmball(6),
xmlink(6), xpanex(6), xcubes(6), xtriangles(6), xhexagons(6)
[1mCOPYRIGHTS[0m
(R) Copyright 1994-2006, David Albert Bagley
Luis Fernandes, <[4melf@ee.ryerson.ca[24m> wrote an independent program (xaba-
cus 1.00) with a demo mode and postscript file. I tried, with his per-
mission, to take the best features of both into one program. Also I
had help with some of the abacus in the Java version by Sarat Chandran,
<aratcmahadevan@yahoo.com> and some of these ideas were ported back
into this X version.
[1mBUG REPORTS AND PROGRAM UPDATES[0m
Send bugs (or their reports, or fixes) to the author:
David Albert Bagley, <[4mbagleyd@tux.org[24m>
The latest version is currently at:
[4mftp://ftp.tux.org/pub/tux/bagleyd/xabacus[0m
[4mftp://ibiblio.org/pub/Linux/apps/math[0m
V7.1.7 01 Jan 2006 ABACUS(6)
Man(1) output converted with
man2html