Rename hint.txt and hint.text to README.md
This commit is contained in:
1 parent
77fb0f11a2
commit
851e191519
166 files changed
No files matched your search
@@ -0,0 +1,116 @@
|
||||
# Best of show
|
||||
|
||||
Mauro Persano
|
||||
São Paulo
|
||||
Brazil
|
||||
mauro_persano@yahoo.com
|
||||
|
||||
## Judges' Comments
|
||||
|
||||
### To build
|
||||
|
||||
cc -lm persano.c -o persano
|
||||
|
||||
If your system is one of those that distinguish between text and binary
|
||||
streams, you must know what to do to switch the standard output into
|
||||
binary mode (e.g. adding a line to the source code or specifying a
|
||||
linker option).
|
||||
|
||||
### Try
|
||||
|
||||
persano 3 16 > knot3-16.gif
|
||||
|
||||
Open the GIF file with a viewer capable of displaying animated GIFs and
|
||||
watch closely at the bottom of the picture (you may need to use
|
||||
"gifsicle" - a great tool to manipulate animated GIFs - to slow down the
|
||||
animation and to compress the GIFs generated by the entry).
|
||||
|
||||
What needs to be done to fix the problem?
|
||||
|
||||
Solving the author's exercises below may or may not help.
|
||||
|
||||
At the time of judging, the approximation of π used in the program could
|
||||
not be found on mathworld.com.
|
||||
|
||||
## Selected Author's Comments
|
||||
|
||||
### NAME
|
||||
|
||||
**knot**
|
||||
> writes animated GIF images of rendered torus knots to standard output.
|
||||
|
||||
### SYNOPSIS
|
||||
|
||||
knot p q [num frames]
|
||||
|
||||
### DESCRIPTION
|
||||
|
||||
A (p,q)-torus knot is a closed, non-intersecting curve on the surface of
|
||||
a torus in R3 that winds p times around one cycle of the torus and q
|
||||
times around the other. p and q should be coprime; otherwise, the
|
||||
resulting curve will _not_ be a knot (that is, imagining the resulting
|
||||
curve as a loop of rubber, there will be a way to bend, twist and
|
||||
stretch it, without cutting it [1], until it ends up looking just like a
|
||||
circle embedded in R3 [2]).
|
||||
|
||||
Sample usage:
|
||||
|
||||
knot 3 2 1 > foo.gif
|
||||
|
||||
writes a non-animated GIF (a single frame) stream of a rendered trefoil
|
||||
knot to the file foo.gif.
|
||||
|
||||
knot 5 2
|
||||
|
||||
writes a GIF stream with a rendering of Solomon's Seal knot to standard
|
||||
output; since the number of frames is not specified, an animation with
|
||||
40 frames will be written.
|
||||
|
||||
Please view the code with 8-character tabs!
|
||||
|
||||
### OUTPUT FORMAT
|
||||
|
||||
The program writes fully valid GIF 89 streams.
|
||||
|
||||
It is suggested that the output be viewed with a program capable of
|
||||
displaying animated GIFs, such as almost any graphical HTTP browser.
|
||||
|
||||
Due to code size constraints, full LZW compression was not implemented
|
||||
[3]. In fact, the output images are even somewhat expanded, thanks to
|
||||
GIF overhead.
|
||||
|
||||
The GIF format supports only a limited number of bits per pixel, so the
|
||||
program uses ordered dithering to emulate full RGB output.
|
||||
|
||||
### PORTABILITY
|
||||
|
||||
The program was tested on Linux, with gcc 3.1; Cygwin, with gcc 3.3; and
|
||||
Solaris/Sparc, with Sun's C compiler.
|
||||
|
||||
The only major portability issue should be reliance on ASCII.
|
||||
|
||||
It should also be mentioned that the program won't work on systems that
|
||||
distinguish between text and binary streams; however, since hardly
|
||||
anyone uses such systems in this day and age, this is a minor issue. [4]
|
||||
|
||||
### EXERCISES FOR THE READER
|
||||
|
||||
1. (1 point) The surface is composed of many small polygons. Try to make it
|
||||
smoother by increasing the number of polygons.
|
||||
|
||||
2. (2 points) Figure out how to change the radius of the tube cross section.
|
||||
|
||||
3. (5 points) Locate the famous transcendental constant π in the code.
|
||||
|
||||
### FOOTNOTES
|
||||
|
||||
[1] You can call such a transformation an "ambient isotopy" if you want to
|
||||
impress people at parties.
|
||||
|
||||
[2] Also known as the "unknot", which sounds slightly less impressive than
|
||||
"ambient isotopy".
|
||||
|
||||
[3] Unfortunately (for the author), the convenient excuse that LZW compression
|
||||
was not implemented in order to avoid the Unisys patent can no longer be used.
|
||||
|
||||
[4] ;)
|
||||
Reference in new issue
Block a user