Settings

The page will reload to apply your changes.
Theme

ASCII Art Font

ASCII Art Menu

Original Usenet thread from alt.ascii-art, started 2 Jun 1998.
 _   _                     _        _             _     _           
| | | |___  ___ _ __   ___| |_     / \   _ __ ___| |__ (_)_   _____ 
| | | / __|/ _ \ '_ \ / _ \ __|   / _ \ | '__/ __| '_ \| \ \ / / _ \
| |_| \__ \  __/ | | |  __/ |_   / ___ \| | | (__| | | | |\ V /  __/
 \___/|___/\___|_| |_|\___|\__| /_/   \_\_|  \___|_| |_|_| \_/ \___|
ascii fractals

ascii fractals

alt.ascii-art · 6 messages · 2 Jun 1998 - 11 Jun 1998
pinbackstein,

I don't have a quick answer to your questions. But your article gave me an
idea on how to do "true" ascii fractals.

Write a little fractal algorithm that outputs into a little drawing
application, making sure that:

* you only use a set of drawing elements that resemble ascii characters, for
example you could limit yourself to the following subset of only four ascii
characters: / \ _ |
* you stay at the same element size throughout the algorithm
* run the algorithm for several hundred to several thousand steps, i.e. until
it "looks good" (You may need to add something into your algorithm to keep the
resulting pic within certain bounds, say, within a printed page)
* run the resulting picture which is a graphic, through an OCR that you
restrict to the above predetermined set of four ascii characters

and voila, you have a "true" ascii fractal, i.e. as true as a true ascii
fractal can be.

Rationale #1: If you try to output your little fractal algorithm directly into
ascii, then you will run into the same ascii rendering problems that you
described in your article below. Outputting into a little drawing application
avoids this ascii rendering problem.

Rationale #2: The ascii rendering problem is tackled in a separate step by the
OCR. This step will certainly introduce singularities into the ascii pic as
the OCR resolves ascii rendering problems that occur all over the pic. These
singularities will in all likelyhood cut both ways, i.e. they can make or
break the aesthetics. So you will have to diddle with the fractal algorithm.

Enjoy the surprises!

=======================================================
[]     +                                             []
[]   \^^/      Visit the Gallery of the 'steins!     []
[]   ( ">     http://www3.sympatico.ca/petecasso/    []
[]   (> )>   Birdstein, Queen of the backyard tree   []
[]    ^^                                             []
=======================================================

sgt pinback wrote:
> 
>   one type of 'fractal' (<-in quotes to avoid discussion of what a
> fractal really is) is a dragon curve (i think the name comes from a
> type of paper folding). they're made something like this: you start with two
> things (one i think is called an 'initiator' the other i forget the name
> of). like a line segment
>                _
>  _  or a box  |_|
> 
> and a pattern made of bits it can replace
> 
>  __/\__ (<- here i am considering two underlines to be one line segment)
> 
> the pattern goes in replacing the bits in the original:
> 
> . __/\__   or   __/\__
> .              |      |
> .             /        \
> .             \        /
> .              |__  __|
> .                 \/
> 
> and repeat (in non-ascii usually things get replaced by smaller and
> smaller version --here it can't...).
> 
> .                                          __/\__
> .and repeat:                               \    /
> .                                    __/\__/    \__/\__
> .  __ / \ __         or the         |                  |
> .                    box bocomes   /                    \
> .becomes:                          \                    /
> .         __/ \__                   |                  |
> .         \     /                __/                    \__
> .  __/\__ /     \ __/\__         \                        /
> .                                /                        \
> .(breaks added to help show      \                        /
> . what replaces what)            /_                      _\
> .                                  \                    /
> .                                   |                  |
> .                                  /                    \
> .                                  \                    /
> .                                   |__  __      __  __|
> .                                      \/  \    /  \/
> .                                          /_  _\
> .                                            \/
> 
> the aspect ratio distortion from using
> .  |     as the verticle version of __/\__
> .   \
> .   /
> .  |
> i think makes the box look pretty bad (as a fractal anyway). anybody got
> ideas how to fix it? this also messed up things when i tried to use
> things like __|\__
> 
> for the 'snowflakes' previously posted i
> used
> . __
> . \/   and __/\__
> 
> and (sort of)
> .  __
> .  \/   and __/\__   for those with inside bits, but didn't follow
> .             \/     the 'rules' exactly and only replaced some segments.
> 
> or using
> 
> \  and ____/\__    (two segments on the left)
> you get:           (slanted to avoid wrapping tho it get long)
> 
>    \
> 
> .  \
> .   \__
> .     /
> .     \
> 
> .  \
> .   \__
> .     /
> .     \
> .      \
> .       \__
> .         /
> .         \____/\__
> .                 /
> .                /
> .               _\
> .              /
> .              \
> .               \__
> .                 /
> .                 \
> etc.
> .                         __
> and a triange based one ( \/ and ____/\__ ) that i think looks kinda neat:
> 
>                          __/\
> .                        \   \__
> .                        /     /
> .       ____/\______/\__/      \____/\__
> .       \                              /
> .       /_                            /
> .         \                          _\
> .          \                        /
> .        __/                       /
> .        \                        /
> .        /                       _\
> .       /_  ____                /
> .         \/    \               \
> .               /_               \__
> .                 \                /
> .                  \        __  ___\
> .                   \      /  \/
> .                   /_    /
> .                     \  _\
> .                      \/

sgt pinback <rob...@project.darkstar> ASCII art 2 Jun 1998 00:00 · permalink
> * run the algorithm for several hundred to several thousand steps,
thousands? for a Koch curve? you're down to pixels in tens of steps, if 
that many.

> * run the resulting picture which is a graphic, through an OCR that you
> restrict to the above predetermined set of four ascii characters
  hmm. ocr for gif-ascii. never thought of that. one of your ideas or just 
something i missed (uh oh. i'm in trouble if it's in the FAQ'n'manual 
ain't i.)
  
> Rationale #1: If you try to output your little fractal algorithm directly into
> ascii, then you will run into the same ascii rendering problems that you
> described in your article below. Outputting into a little drawing application
> avoids this ascii rendering problem.
  i *was* running the algorithm directly into ascii, only with me head and 
fingers. in fact here's the (ob. a. a.) koch snowflake done right (i think)
  the lack of infinite levels ie why i like to include the first few 
'iterations' to imply the limit to infinity.

.     __
using \/ and __/\__
.              \/
.      __/\__
.      \_\/_/
.      /_/\_\
.        \/
.                       __/\__
.                       \_\/_/
.                 __/\__/    \__/\__
.                 \_\/  \____/  \/_/
.                 /_/   /_/\_\   \_\
.                   \__/\_\/_/\__/
.                 __/  \/_/\_\/  \__
.                 \_\   \_\/_/   /_/
.                 /_/\__/    \__/\_\
.                   \/  \____/  \/
.                       /_/\_\
.                         \/
.
.                               __/\__
.                               \_\/_/
.                         __/\__/    \__/\__
.                         \_\/  \____/  \/_/
.                         /_/   /_/\_\   \_\
.                           \__/\_\/_/\__/
.             __/\__      __/  \/    \/  \__      __/\__
.             \_\/_/      \_\            /_/      \_\/_/
.       __/\__/    \__/\__/                \__/\__/    \__/\__
.       \_\/  \____/  \/  \__            __/  \/  \____/  \/_/
.       /_/   /_/\_\      /_/            \_\      /_/\_\   \_\
.         \__/\_\/          \__/\____/\__/          \/_/\__/
.       __/  \/_/         __/  \/_/\_\/  \__         \_\/  \__
.       \_\   \_\         \_\   \_\/_/   /_/         /_/   /_/
.       /_/\__/           /_/\__/    \__/\_\           \__/\_\
.         \/  \__      __/\_\/  \____/  \/_/\__      __/  \/
.             /_/      \_\/_/   /_/\_\   \_\/_/      \_\
.               \__/\__/    \__/\_\/_/\__/    \__/\__/
.             __/  \/  \____/  \/_/\_\/  \____/  \/  \__
.             \_\      /_/\_\   \_\/_/   /_/\_\      /_/
.       __/\__/          \/_/\__/    \__/\_\/          \__/\__
.       \_\/  \__         \_\/  \____/  \/_/         __/  \/_/
.       /_/   /_/         /_/   /_/\_\   \_\         \_\   \_\
.         \__/\_\           \__/\_\/_/\__/           /_/\__/
.       __/  \/_/\__      __/  \/    \/  \__      __/\_\/  \__
.       \_\   \_\/_/      \_\            /_/      \_\/_/   /_/
.       /_/\__/    \__/\__/                \__/\__/    \__/\_\
.         \/  \____/  \/  \__            __/  \/  \____/  \/
.             /_/\_\      /_/            \_\      /_/\_\
.               \/          \__/\____/\__/          \/
.                         __/  \/_/\_\/  \__
.                         \_\   \_\/_/   /_/
.                         /_/\__/    \__/\_\
.                           \/  \____/  \/
.                               /_/\_\
.                                 \/




and from it a bird
.                                ____ 
.                         ______/o__o\______
.                         \_\   \_\/_/   /_/
.                         /_/\__/    \__/\_\
.                           \/  \____/  \/
.                                //\\
.                                    
or a bat
.                               /\____/\  
.                          _____\/o  o\/_____
.                          \     \_oo_/     /
.                          /_  __/    \__  _\
.                            \/  \____/  \/
.                                //  \\
(both so trivial they may look like someone elses...)

ok. lets pull the bat out from one out from the side:

.       __/\     
.       \   \  __   
.       /_   \/_/  
.         \__/ o\   
.       __/  \\ o\__
.         \   \_ /_/
.          \__/  \  
.         /   \   \
.             /_  _\
.               \/    
hmmm. bit goofy looking....


there's a penguin or an otter in there doing the backstroke, but it hides 
when ever i try to pull it out. i thought there was a penguin looking 
over a wall but it turned out to be, dunno, kilroy's pet lobster?
.                               __      __   
.                                 \____/
.                                 /o  o\
.                    ___________/|\_\/_/|\_____________
.                   |____|____|_\|/_|__\|/___|____|____|
                    |_|_____|____|____|____|____|____|_|


oh, yeah, and a pineapple :)

__/\__
\_\/_/
/    \
\____/

> sgt pinback wrote:
[snip]
quite a big quote. and i was wondering if it should be 2 posts...

sgt pinback <rob...@project.darkstar> ASCII art 2 Jun 1998 00:00 · permalink
  one type of 'fractal' (<-in quotes to avoid discussion of what a 
fractal really is) is a dragon curve (i think the name comes from a
type of paper folding). they're made something like this: you start with two
things (one i think is called an 'initiator' the other i forget the name 
of). like a line segment
               _
 _  or a box  |_|

and a pattern made of bits it can replace
 
 __/\__ (<- here i am considering two underlines to be one line segment)

the pattern goes in replacing the bits in the original:

. __/\__   or   __/\__
.              |      |
.             /        \
.             \        /
.              |__  __|
.                 \/

and repeat (in non-ascii usually things get replaced by smaller and 
smaller version --here it can't...).

.                                          __/\__
.and repeat:                               \    /
.                                    __/\__/    \__/\__
.  __ / \ __         or the         |                  |
.                    box bocomes   /                    \
.becomes:                          \                    /
.         __/ \__                   |                  |
.         \     /                __/                    \__
.  __/\__ /     \ __/\__         \                        /
.                                /                        \
.(breaks added to help show      \                        /
. what replaces what)            /_                      _\
.                                  \                    /
.                                   |                  |
.                                  /                    \
.                                  \                    /
.                                   |__  __      __  __|
.                                      \/  \    /  \/
.                                          /_  _\
.                                            \/

the aspect ratio distortion from using
.  |     as the verticle version of __/\__
.   \
.   /
.  |
i think makes the box look pretty bad (as a fractal anyway). anybody got 
ideas how to fix it? this also messed up things when i tried to use 
things like __|\__

for the 'snowflakes' previously posted i 
used
. __
. \/   and __/\__

and (sort of)
.  __   
.  \/   and __/\__   for those with inside bits, but didn't follow
.             \/     the 'rules' exactly and only replaced some segments.

or using

\  and ____/\__    (two segments on the left)
you get:           (slanted to avoid wrapping tho it get long)  

   \

.  \
.   \__
.     /
.     \


.  \
.   \__
.     /
.     \
.      \
.       \__
.         /
.         \____/\__
.                 /
.                /
.               _\
.              /
.              \
.               \__
.                 /
.                 \
etc.
.                         __       
and a triange based one ( \/ and ____/\__ ) that i think looks kinda neat:

                         __/\
.                        \   \__
.                        /     /
.       ____/\______/\__/      \____/\__
.       \                              /
.       /_                            /
.         \                          _\
.          \                        /
.        __/                       /
.        \                        /
.        /                       _\
.       /_  ____                /
.         \/    \               \
.               /_               \__
.                 \                /
.                  \        __  ___\
.                   \      /  \/
.                   /_    /
.                     \  _\
.                      \/

sgt pinback <rob...@project.darkstar> ASCII art 3 Jun 1998 00:00 · permalink
but i'm still not sure what it is. a penguin floating on his back or un 
underhull of a penguin on the surface

.                  ~~      ____    ~~  ~~
.                ~~     /\/o/\o\/\     ~~ 
.                ~~     \ \ __ / /   ~~ 
.                  ~~    \ /  \ /  ~~  
.                ~~      ||    ||    ~~ ~~
.                ~~      \\____//   ~~
.                     ~~  / /\ \     ~~
.                   ~~    \/  \/      ~~

or just a swimmer?
.                  ~~      _\/_    ~~  ~~
.                ~~    \\\/o  o\///     ~~
.                ~~     \ \_\/_/ /   ~~  
.                  ~~    \      /  ~~    
.                ~~      |______|    ~~ ~~
.                ~~       \____/    ~~
.                     ~~ _/ /\ \_   ~~
.                   ~~  /__/  \__\      ~~

sgt pinback wrote:
> 
> > * run the algorithm for several hundred to several thousand steps,
> thousands? for a Koch curve? you're down to pixels in tens of steps, if
> that many.

I also said:
* you stay at the same element size throughout the algorithm
What I meant was to use the algorithm for the lateral propagation of the pic
without increasing resolution, something that can not be done at the final
conversion to an ascii pic, so why do it, you need to cut out this portion in
your "fractal" algorithm.

> > * run the resulting picture which is a graphic, through an OCR that you
> > restrict to the above predetermined set of four ascii characters
>   hmm. ocr for gif-ascii. never thought of that. one of your ideas or just
> something i missed (uh oh. i'm in trouble if it's in the FAQ'n'manual
> ain't i.)

Yes, one of my ideas, it is not in the FAQ. The point is that even simple OCRs
allow you to prescribe the ascii character set for use in the output file/pic.

> > Rationale #1: If you try to output your little fractal algorithm directly into
> > ascii, then you will run into the same ascii rendering problems that you
> > described in your article below. Outputting into a little drawing application
> > avoids this ascii rendering problem.
>   i *was* running the algorithm directly into ascii, only with me head and
> fingers. in fact here's the (ob. a. a.) koch snowflake done right (i think)
>   the lack of infinite levels ie why i like to include the first few
> 'iterations' to imply the limit to infinity.

Well, the basic idea of my previous post was to separate the pic generation
from the ascii rendering. The former would be handled by the "fractal"
algorithm, the latter would be handled by the OCR.

But what I now see you are doing is that you are first generating a fractal
(in a manual way) and use that pic for further processing with your brain (in
a non-fractal way) and generate really great pics (and I mean it, _great_ pics!)

As I see it, this little snowflake is an example of a fractal with zero
post-processing in a non-fractal way. (And so are the big snowflakes that you posted.)

> .      __/\__
> .      \_\/_/
> .      /_/\_\
> .        \/

This pineapple is an example of a fractal with a little of post-processing in
a non-fractal way.

> __/\__
> \_\/_/
> /    \
> \____/

This bat is an example of a fractal with some post-processing in a non-fractal way.

> .       __/\
> .       \   \  __
> .       /_   \/_/
> .         \__/ o\
> .       __/  \\ o\__
> .         \   \_ /_/
> .          \__/  \
> .         /   \   \
> .             /_  _\
> .               \/

This "Luke, the Spook" kind of pic is an example of a fractal with
considerable post-processing in a non-fractal way.

> .                               __      __
> .                                 \____/
> .                                 /o  o\
> .                    ___________/|\_\/_/|\_____________
> .                   |____|____|_\|/_|__\|/___|____|____|
>                     |_|_____|____|____|____|____|____|_|

Sometimes, composers play impromptu chords on the piano as an inspiration for
a composition. You seem to use fractals as an inspiration for your pics. Human
aided computer? Or computer aided human?

In any case, that's great! Congratulations!

P.S. You may want to sign your Fractalsteins, they deserve it.

=======================================================
[]     +                                             []
[]   \^^/      Visit the Gallery of the 'steins!     []
[]   ( ">     http://www3.sympatico.ca/petecasso/    []
[]   (> )>   Birdstein, Queen of the backyard tree   []
[]    ^^                                             []
=======================================================

dEN <de...@postmaster.something> ASCII art 11 Jun 1998 00:00 · permalink
I'm sure people have seen these before but;

------------++++++++++++++++++++*********+++++++++++++++++++++++++++++++
-----------++++++++++++++***********************++++++++++++++++++++++++
----------++++++++++*********************************+++++++++++++++++++
---------++++++++*********************####8 N88####*****++++++++++++++++
--------+++++++********************######8N * NN8####*****++++++++++++++
-------++++++*******************#######888N -8-* 8#####*****++++++++++++
------+++++*******************########888N .-88- N8######*****++++++++++
-----++++*******************#########888N.8*N .*- 888#####******++++++++
-----+++******************#########888NN --    ..+N8888####******+++++++
----+++******************########8NNNN  .-N     +.  NN888###******++++++
---+++*****************#######88N#-*+.-++*N+   *8*-*. N .-8##******+++++
---++****************#####88888N - ##N8+-        88 N--+**.8#*******++++
--++***************###8888888NNN -                   *   8 88#*******+++
--+*************###888888888NNN.+# #                    +-N88##*******++
--***********###88 NNNN8NNNN  .+                        .- N8##********+
-+******######88N.N.  .+.    ..8+                        -#*8###*******+
-****#######888NN.*#.#*N#*N---+*                          # N###********
-**#######88888N  -N- +*   .#*88                          * 8###********
-*#######88888N .+8-        *.-                           + 8####*******
-#######8NNN  8*+**           +                          -.N8####*******
-888NN  NN   -*-- #           *                         #.N88####*******
-                                                      N- N88####*******
-888NN  NN   -*-- #           *                         #.N88####*******
-#######8NNN  8*+**           +                          -.N8####*******
-*#######88888N .+8-        *.-                           + 8####*******
-**#######88888N  -N- +*   .#*88                          * 8###********
-****#######888NN.*#.#*N#*N---+*                          # N###********
-+******######88N.N.  .+.    ..8+                        -#*8###*******+
--***********###88 NNNN8NNNN  .+                        .- N8##********+
--+*************###888888888NNN.+# #                    +-N88##*******++
--++***************###8888888NNN -                   *   8 88#*******+++
---++****************#####88888N - ##N8+-        88 N--+**.8#*******++++
---+++*****************#######88N#-*+.-++*N+   *8*-*. N .-8##******+++++
----+++******************########8NNNN  .-N     +.  NN888###******++++++
-----+++******************#########888NN --    ..+N8888####******+++++++
-----++++*******************#########888N.8*N .*- 888#####******++++++++
------+++++*******************########888N .-88- N8######*****++++++++++
-------++++++*******************#######888N -8-* 8#####*****++++++++++++
--------+++++++********************######8N * NN8####*****++++++++++++++
---------++++++++*********************####8 N88####*****++++++++++++++++
----------++++++++++*********************************+++++++++++++++++++
-----------++++++++++++++***********************++++++++++++++++++++++++

dEN (Is this to ascii fractals what figlet is to ascii-sigs?)

About this thread. These messages were posted publicly to the newsgroup alt.ascii-art in 1998 and are mirrored here unchanged as part of the Historic Archives – only email addresses are masked. The artwork and text belong to their original authors: if you copy a piece, keep the artist's initials or signature intact and credit them where you can. Are you one of the authors? Contact us to get your posts attributed, connected to your artist profile, or removed.