오래전에 네이버 지식인에 올렸던 아스키아트 제작방법이에요. ^^
2010.05.25 02:10
< What is ASCII? (아스키란 무엇인가?) >
ASCII(아스키)는 "American Standard Code for Information Interchange." 의 첫자를 따서 일컫는 말(頭文字語)입니다.
이 기준은 "American National Standards Institute(미국 국제 표준 협회)"에 의해 개발되었습니다. 이는 편지, 숫자, 구두점, 그리고 제어 코드와 같은 다른 어떤 문자에 수적 가치를 지정하는 코드 배합입니다. 이러한 문자들의 가치를 표준화함으로써, 아스키는 컴퓨터와 컴퓨터 프로그램의 정보화를 가능하게 합니다. 아스키는 컴퓨터가 서로 커뮤니케이션을 하는데 사용하는 기본 코드 시스템입니다.
아스키 문자 세트는 128 문자(0에서 127까지로 번호매겨진)로 구성되어 있는데, 이는 거의 모든 컴퓨터 타입에 있어서의 표준입니다.
첫번째 32 문자들(0에서 31)은 커뮤니케이션과 프린터 코드들(인쇄되지 않은 문자)에 할당되어 있습니다. 이들은 the control codes for signalling end of transmission, a beep, escape, backspace 등을 포함하고 있습니다. 마지막 아스키 문자 127은 'Delete'키를 의미하는 또 다른 제어코드입니다.
나머지 문자들(32에서 126)은 표준 키보드에 나타나 있는 것들입니다. 그들이 아스키 아트를 만드는 데 사용되는 문자들입니다.
아스키 아트에 사용되는 아스키 문자들은, 다음에 열거한 #32에서 #126까지의 95문자입니다.
032 [space] | 048 0 | 064 @ | 080 P | 096 ` | 112 p |
033 ! | 049 1 | 065 A | 081 Q | 097 a | 113 q |
034 " | 050 2 | 066 B | 082 R | 098 b | 114 r |
035 # | 051 3 | 067 C | 083 S | 099 c | 115 s |
036 $ | 052 4 | 068 D | 084 T | 100 d | 116 t |
037 % | 053 5 | 069 E | 085 U | 101 e | 117 u |
038 & | 054 6 | 070 F | 086 V | 102 f | 118 v |
039 ' | 055 7 | 071 G | 087 W | 103 g | 119 w |
040 ( | 056 8 | 072 H | 088 X | 104 h | 120 x |
041 ) | 057 9 | 073 I | 089 Y | 105 i | 121 y |
042 * | 058 : | 074 J | 090 Z | 106 j | 122 z |
043 + | 059 ; | 075 K | 091 [ | 107 k | 123 { |
044 , | 060 < | 076 L | 092 | 108 l | 124 : |
045 - | 061 = | 077 M | 093 ] | 109 m | 125 } |
046 . | 062 > | 078 N | 094 ^ | 110 n | 126 ~ |
047 / | 063 ? | 079 O | 095 _ | 111 o |
|
아스키 문자 세트를 구성하는 다른 128 문자(128-255)도 있습니다. copyright(저작권) 심볼, 다양한 액센트 문자들과 같은 특별한 문자들입니다. 어떤 사람들은 "extended ASCII"나 "high ASCII"와 같이 부정확하게 불려지는 것들을 갖고 있습니다.
이러한 높은 숫자의 코드 문자들은 컴퓨터 제조업자와 소프트웨어 개발자에 의해서 가변성 세트로 지정되어 있습니다. 그렇지만, 이들은 표준화되지 않았기 때문에 우리는 아스키 아트에서 이런 문자들을 사용하지 않습니다.
문자들을 추가해서 사용하는 것이 아스키 그림을 만드는 데 있어서 더 융통성을 발휘하는 기회를 제공한다하더라도, 그것은 정말 당신의 창작물을 올바르게 볼 수 있는 사람의 수를 감소시키는 것입니다. 이는 아스키 아트의 보편성의 취지를 무너뜨리는 것입니다.
아스키아트를 만들어 보세요 -------------------------------------------------------------------------------- ASCIIART (아스키아트) 그리는 법 -------------------------------------------------------------------------------- 아스키 그림은 크게 두가지로 나누어집니다. 기호의 모양을 사용한 것과 기호의 명암을 사용한 것인데 기호의 모양을 사용하는 그림은 기호의 모양을 어느정도 이용하기도 합 니다. 예를 들면 ---> ^_^ -_-; *}->-/- *^_^*; @_@; 이런 것들은 기호의 모양을 이용했다고 볼 수 있지요. 그러나 다른 그림들은 이런 기 호보다는 그 기호가 나타내는 음영으로 그림을 그립니다. 하지만 위와 같은 기호를 이 용하여 그림을 그리는 데는 초보자에겐 쉽지 않으므로 명암을 사용한 비교적 큰 그림 을 중심으로 설명하겠습니다. -------------------------------------------------------------------------------- 명암을 이용한 아스키 그림 그리기 -------------------------------------------------------------------------------- 1. 그릴 대상을 정한다. - 그릴 대상은 비교적 윤곽이 뚜렷한 것이 좋습니다. 만화 주인공 같은 것이 적합하지요. 그리고 명암의 차이도 확실한 것이 좋습니다. 2. 그릴 대상을 스케치한다. - 이 부분은 머리가 좋으신 분은 그냥 머리에 담아놓고 하셔도 됩니다만 저같이 머리가 약간 의심스럽다 싶으신 분은 스케치를 하시는 것이 좋습니다. 참고로 저는 모니터 보 안기에 수성 사인펜으로 스케치를 하고 나중에 물을 묻힌 화장지로 지우는 방법을 쓰 고 있습니다. 스케치가 커야 나중에 그리기 쉬운 면도 있습니다. 3. 그릴 화일을 만든다. - 대부분 아스키 그림은 통신 에뮬레이터의 에디터를 사용하는데요. 이때 무작정 그리려 고 하면 되게 열받습니다. 그러지 마시고 미리 스페이스바를 눌러 약 68-70열까지 움 직인후 엔터를 누르는 작업을 해 두시면 좋습니다. 그런 것을 그림 크기만큼, 저는 약 50라인을 그렇게 해 놓고 BRANK.CAP이라는 화일로 만들어 그림 그릴 때마다 꺼내 쓰곤 하는데, 그게 오히려 편합니다. 스페이스 바를 움직여 주는 이유는, 그래야 커서가 화 살표키만으로 화면 전체를 자유자재로 움직일 수 있거든요. 스페이스바로 밀어놓지 않 은 곳에는 화살표키를 이용해서 커서를 움직일 수 없습니다. 4. 그릴 기호를 정한다. - 다음을 한번 보세요. ########### LLLLLLLLLLL ;;;;;;;;;; ########### LLLLLLLLLLL ;;;;;;;;;; ########### LLLLLLLLLLL ;;;;;;;;;; ########### LLLLLLLLLLL ;;;;;;;;;; ########### LLLLLLLLLLL ;;;;;;;;;; ########### LLLLLLLLLLL ;;;;;;;;;; (밝다) (조금 어둡다) (많이 어둡다) (까맣네?) 이렇게 몇가지 기호를 생각해 명암을 생각합니다. 사실상 다섯가지 이상의 기호를 쓴다해 도 그 차이는 별로 없습니다. LLLLLLLLLLLL CCCCCCCCCCC LLLLLLLLLLLL CCCCCCCCCCC LLLLLLLLLLLL CCCCCCCCCCC LLLLLLLLLLLL CCCCCCCCCCC LLLLLLLLLLLL CCCCCCCCCCC LLLLLLLLLLLL CCCCCCCCCCC 폰트에 따라서 글자의 명암이 달라지기도 합니다. 따라서 이 둘을 구별하는 것은 별 의미 가 없지요. 특별한 경우에만 두가지를 나누어 쓰도록 하는 것이 좋습니다. 이렇게 기호를 많이 쓰느냐 적게 쓰느냐는 별로 중요하지 않습니다. 5. 대충의 모습을 아스키로 그려낸다. - 굳이 완벽하게 처음부터 할 필요는 없을 것 같습니다. 일단 스케치한 것에 따라 선이 아 니라 면을 중심으로 색칠(?)해 갑니다. 이때 커서를 [수정]에 놓고 그리시면 편합니다. 단지 이때 주의하실 것은 글자를 지울 때도 스페이스바를 움직여 지워야지 백스페이스키 를 이용해서는 안된다는 것입니다. 6. 세부사항을 칠합니다, ( ~^`'" ) 와 아래가 밀하고 위가 소한 기호 ( se,._ ) 등을 적절히 사용하는 것이 중요합 니다. 특히 `'"는 선을 부드럽게 하기 위해 많 이 사용합니다. 아래의 예제를 보시면 이해 가 되실 겁니다. ### ,### #### ,#### ###### ,###### ####### ===> ,####### ######### ######### ####### `#######' #### `####' 오른쪽의 것이 더 부드러워보이지요? 물론 왼쪽과 같이 표현해야 할 때도 있지만 말입니다. 선은 명암의 차이로 나타내어도 되고, 검은 선으로 나타내어도 됩 니다. 만화주인공등은 검 은 선이 더 명확하겠지요. 7. 뒷정리를 한다. - 가장 귀찮은 뒷정리 중의 하나가 바로 80열을 넘어선 라인이 있는가 를 찾아내는 것입니 다. 일일히 [end] 키를 눌러서 각 줄의 끝이 80열을 넘는지 확인을 합니다. 만일 넘는 줄이 있다면 수정을 하도록 합니다. 완성이 된 작품은 통신에 올려서 함께 감상을 합니다. (각 통신사마다 열의 길이가 다릅니다. 통신 게시판에 올리기 전에 열의 길이를 확인하시기 바랍니다. 천리안은 80열이 넘는 줄은 다음줄로 밀리게 됩니다.) |
코멘트 9
-
맑은샛별
05.25 02:15
-
왕초보
05.25 05:53
흠.. 아스키 아트 변환기도 만들 수 있을듯 해요. (아마 이미 많을듯) 그림을.. 흑백으로 바꾼 다음.. 원하는 크기를 정하고.. pattern matching만 하면 될듯.
-
017
05.25 08:14
전에 인터넷에서 본 적이 있네요.
사진 파일을 아스키 아트처럼 변환해주는 프로그램
-
아빠곰
05.25 09:27
네 :) 흑백파일의 일부를 아스키아트로 변환해주는 프로그램은 많이 있었습니다.
PC통신이 유행하던 90년대 중반에 많이 돌아다녀서, 이런저런 것을 써 보았는데요.
성능이 좋은 넘이 없어서 대개 수작업으로 만드는것이 낫더군요.
-
로이엔탈
05.25 09:15
최장 길이 댓글!!! ㅋ
-
편강
05.25 12:20
아스키 아트 변환.. 프로그램 있는데.. 한번 올려볼까요?ㅎㅎ
-
편강
05.25 12:51
-
맑은샛별
05.26 00:27
우와.. 내 마음속의 대통령.... 멋있어요~~
-
토로록알밥
05.25 12:33
악, 이런 건 강좌란에~요~ ^^ㅎ
영어를 잘 하시는 분이 많으시니 아래글이 더 도움이 될지도 모르겠네요. ^^*
--------------------------------------------------------------------------- ..ASCII GRAPHICAL TECHNIQUES V1.0.. By Rowan Crawford. All text and art copyright (c) 1994 Sumaleth Productions. --------------------------------------------------------------------------- CONTENTS: 1. Intro ____ _ .. 2. Line art dHHA /^ |T AHHHHHA (_) : . 3. Small/sig art dHPHH Y __jj HP" IH .-. I:: 4. Solid art dHP HH l__ \\ H HHHH | | HI: 5. 3 Dimensional art dHHHHHH | // Hb. IH | | HHI 6. Conclusion dHP HH l___// UHHHHHU l_j UHU 7. Quick plug 1. Intro Producing pictures from ascii is such a strange idea, and yet the results can sometimes be quite impressive. Although there are a many different forms of ascii art, they all use basically the same ideas to produce the end result. The techniques I use are based around a few simple rules. These rules help me make decisions about which character to use, and where to place it. Of course they aren't strict rules, but they make a good foundation upon which to build a picture. This is not intended as the "definitive" guide to ascii creation, but is instead simply an analysis of how I approach the subject. 2. Line Art Line art is where you represent a picture by just it's outlines and details. Comic art is good material for this type of work since you have a definite outline to work from. However, any picture can be reproduced just by defining it's various boundaries. There are many standard characters which can be applied to this form of ascii art. These are the most obvious ones: / \ | - _ + ( ) < > , . ~ ^ " V X T Y I l L : ` ' ! j J 7 Start by finding an area of the picture which is fairly simple. From there, work your way around the perimeter creating an outline using just these "basic" ascii characters: / \ | - _ ( ) Try to get proportions correct at this stage, because it IS important, and the later you leave it the harder it is to correct. You can also draw in some of the larger details at this stage, which may help get the proportions correct. Once you're happy with that, it's time to go over the whole thing and work on the anti-aliasing. I like to have *every* line connect up, leaving no large gaps such as: ~~~~~~~~________ If I come across an area which has no "ultimate" choice of characters, I may decide to add an extra detail there. For example, "near" vertical lines are virtually impossible in ascii. Here's some options: | | | | | | l l. \ l | I `| Y `L | | | | | START ^----------OPTIONS----------^ As you can see, none of them produce the "perfect" results I'd like. In this case, I would try adding some form of detail in there thus removing the problem. It doesn't always work, but it's worth a try. Near-horizontal lines are much easier (thankfully). Using these chars: ( ~"-.,_ ) you can quite easily produce a reasonably decent line. The previous (horizontal) example would become: __ "~~"----..,___ Or at least something to that effect. I usually get very "nit-picky" and arrange the comma just before an underscore since it sits down one pixel lower than the full-stop ("."). I also like to carefully select between the " and ~ since they each have their own distinct properties. Avoid using this technique at angles around 30 degrees (looks a bit odd), and very slight angles (because it results in a long line of dots, and that doesn't look good). Actually, the selection of the picture is very important in determining how the resulting pic will look. You also have the option of changing certain parts of the pic, so that they work better in the ascii format. For example, instead of trying to do a near-vertical line, just make it perfectly vertical. Curves also play an important role in ascii art. Although the standard ascii character set does not directly support curves (apart from "(" and ")" of course :), you can get some nice curves with a little bit of work. Here's the most often used chars for curve creation: / \ - _ ~ " . , ' ` ! I l Y And here's a couple of sample curves to demonstrate the idea: ___ .-~" "~-. / / \ _.-~ Y Y ,^ | | / l ! / \ / __.-~ "-.,___,.-" CIRCLE SUBTLE CURVATURES Some people wouldn't like the use of "Y" and "^", but to me, the advantages outweigh the negative aspects. Also note the use of "l" and "!" to make the transition from vertical to angled less pronounced. I also consider the choice between "." an "," important because it affects the smoothness of the line. For example, in the part on the above curve: _.- :it looks like a "," may have been a better choice: / But as you can see here, using the _,-~ comma has altered the flow of the ,^ line somewhat. It now appears as / more of a "step" rather than an / angled line. _,-~ CURVE USING COMMA Intersections require yet another strategy. Often you'll find that one line must join onto another at a place where the join isn't neat: "-._ / "-._ / Here the incoming line should join / 7 onto the main part halfway through / / a "/". That's where you can use some other chars. In this example, a "7" INTERSECTION FIX would work well, as seen in the example to the left. You could also try "Z" "X" "T" "Y" as a replacement, but it depends entirely on what is happening around that point as to which char works the best. Other chars which work well in these situations are "K" "<" ">" "r" "L" "j" "J" and "I" because they all point in at least 3 directions. After practice, the anti-aliasing can be done as you are drawing the main outline. Not that it really makes any difference. That basically covers the outline techniques. The smaller details are the next, and final, step. Adding details isn't always necessary, but it will be in most cases. Eyes, noses, finger nails, switches, knobs, handles, plus a host of other things are usually confined to just one or two character spaces, so the choice of chars is quite important. Eyes are a common example. You have quite a few different characters available which work well as eyes, but it's up to you to decide which work best. You need to decide what "emotion" you want to portray, and then find an appropriate character. As some examples, I have used two "6"'s for a kangaroo, a "bd" combo for a horse, a pair of "r"'s for a giraffe and: -=b- :as the eye of an eagle. In each case, I tried many different combinations until I was happy with the selection: . /\ /| . , ___,A.A_ __ _____ ((.Y(! |\/| \ , 7"_/ / ~"-. \ |/ bd "n. ~"T( r r) Y -=b-. _) / 6~6, / _,"n | \ Y l c"~o \ \ _ +-. <co>'\ | ~\ .| \_.-~"~--. ) \`-=--^-' ~~ | |`-' )/ \ \ ' Other details are equally important, and the same technique is used. Just trying different combinations of charact s until a "solution" is found. Sometimes there is no optimum arrangement, so you either have to live with it, or rearrange things just enough to give you a fresh angle of attack. ____ .-~. /_"-._ This T-Rex head demonstrates how you can use / /_ "~o\ :Y the character shapes to an advantage. The "L" / : \~x. ` ') at the bottom joins three connections together | Y< ~-.__j quite well, as does the "Y" at the back of the : l l< /.-~ mouth. These are things too look out for when l /~\ \<|Y creating a picture, and by using the chars in '.-~\ \L| such a fashion, you can usually get quite a lot "--' of detail into a small area. 3. Small/Signature Art Smaller artwork requires a slightly different approach than the large pieces. Due to the smaller area, you aren't always able to recreate a picture perfectly, so a different frame of mind is needed. Take, for example, the kangaroo head above. The back of the neck should of course be curved, but this was not possible with only two characters. In smaller pics however, it's not always necessary to be that detailed, it is more important to focus on making the object immediately identifiable. Small ascii pictures usually start from a simple motif or idea. The way certain characters fit together often creates the idea, and once an idea is found, you have a base to work from. ___ {~._.~} This little koala pic is a good example of how a ( Y ) relatively simple collection of characters can ()~*~() produce a very "familiar" result. Some experimenting (_)-(_) was done with the eyes, "bow tie" and the bottom "-", with these being chosen simply because they worked the best. Different "eye" characters produced different emotional feelings (which is how the "Koala Collection" came about), but the simple "." resulted in the most familiar appearance. Remember, shape is the most important aspect of small ascii art. There are so many different shaped ascii characters available that there is bound to be one which fits the needs _ . of the picture. This example is a "mini" __CL\H--. Millennium Falcon. Since I'd already L__/_\H' \\--_- drawn a bigger one, I knew exactly what __L_(=): ]-_ _-- - shape it needed to be, and what features T__\ /H. //---- - it needed to make it look like the Falcon. ~^-H--' " Picking out the main features is a good step, and then find chars which closely resemble them. The blasters on top of the Falcon were well emulated by the "=" for example. The combination of "CL" worked perfectly as the cockpit, as did a simple ":" for the distinctive markings on it's back. Simplicity is the key in small art, but that doesn't necessarily make things any easier. Many things simply cannot be successfully drawn in small sizes, so a touch of planning can sometimes help. 4. Solid Art Solid ascii art differs from line art in that the resulting image is more of a "silhouette" rather than an outline. By using a "heavy" character such as: W M H 8 :you build up a basic silhouette (filled in outline), and then use other characters to anti- alias (smoothen) the image. "W" and "M" are the darkest characters in most character sets, but they do vary quite a lot and are a bit too bottom/top heavy which ruins the effect somewhat. "H" and "8" also produce patterns of similar darkness, but result in two different "looks". The "H" is more stark and rigid, whereas the "8" produces a more "bubbly" appearance (which prints up quite well apparently). WWWWWWWW MMMMMMMM HHHHHHHH 88888888 WWWWWWWW MMMMMMMM HHHHHHHH 88888888 WWWWWWWW MMMMMMMM HHHHHHHH 88888888 WWWWWWWW MMMMMMMM HHHHHHHH 88888888 I originally used "M" and "W" since they worked well with the font I once used, but now I use "H" because I like its consistency. Other people prefer "8", so it's really just a matter of personal taste. Indeed, remapping an image from one type into another is quite simple, and should not affect the picture at all. Different effects can be created by varying the chosen texture over various sections of the picture (shading). The choice of character can also be based on the subject matter, for example, if money were involved the obvious choice would be a "$". Try to avoid using "*" though, as it looks a bit cheesy (imho). Once the basic shape is defined with the chosen character, the anti- aliasing process is next. The most used chars are: d b P F 9 V T Y A U _ , . - * ^ ~ " ` ' n a o l L j J k [ ] ( ) : \ / | ! Each character has a purpose based on its shape, although there are cases where no character will produce perfect results. In these cases, you either have to make do as best you can, or remodel that particular area of the picture, thus giving you a fresh approach. Going back to the earlier "curve" examples, here they are in solid form: .adAHHHAbn. JHH dHHHHHHHHHHHb _.adHHH dHHHHHHHHHHHHHb ,AHHHHHHH HHHHHHHHHHHHHHH dHHHHHHHHH VHHHHHHHHHHHHHP JHHHHHHHHHH YHHHHHHHHHHHP _.adHHHHHHHHHHH "^YUHHHUP^" HHHHHHHHHHHHHHHH "~" SPHERE CURVED HILL It's important to get a good understanding of how best to use the characters. The basic forms are as follows: _,.aomdAHAbmon.,_ For the upper curves. "~^*YUHUP*^~" For the lower curves. The characters: d b P :are all extremely useful, but there is no equivalent character for bottom/left. There is, however, four chars available which do a decent job: T Y V 9 .The 9 works well for *some* char sets, but generally it has a big hook at the bottom so isn't quite so useful. Notice how I've used "A" and "U" to smoothen the transistion from "H" to "d"/"b" (and "Y"/"P" respectively) even though the effect is quite subliminal. A minor detail, but i does help. I don't often use "_" in these types of pics because of the way it touches the top of the "H". It does come in handy sometimes though. Side curves require more of an "on the spot" approach. The chars: l [ ] : j i :all come in handy when trying to smoothen out vertical curves, and I've also seen "(" and ")" used (although I wouldn't use them myself). Consistency in contrast is very important. Adding details using the solid ascii technique is a bit harder than in line art because there isn't the same number of possible choices for each position. The letters: a n o :are all very useful because they are nice "solid" chars which only occupy the bottom half of the character space, but there is no good alternative for the top half. dHF^^^ See how the bottom arm fits in with the solid dHP appearance of the main part, yet the "^" (which dHBooan is the closest char available) doesn't look so beefy. Even the "^" varies across different char sets, so that leaves just: " ~ : which are of no use at all. In that particular case, it is necessary to expand the picture by one line: anpoan Note the use of the "p" to make the effect just dHP that little bit more effective. An "r" could also dHP work well at the end of each arm. Purely cosmetic dHBooan though. Note that if you're using "M" or "W", then "m" and "w" can be used to keep it consistent. Details aren't always as simple as that example though (unfortunately). HHHH aann .aoon. HHHHHHHHHHHHH aanndHHHHHHP" "^vaondAHHHHHP" HHHHHHH "~^YHHHHH "~^SHHHHH HHHHHHHHHH dHHHHHHb .adHHHHHHh, HHHHHH ~^VHHHP ~^VHHHP HH YHP "VP START HALF WAY FINISHED The different steps can be seen here. Starting by roughing out the shape (a wizards head incidentally) using the chosen character. Next, go over all the edges making all the obvious replacements. That means using: d P b Y V a n :plus the occasional: " ~ :if there's an obvious place for it. Just enough to give it some shape. The final stage requires a bit more work. Start with "A" and "U"/"V", and then the rest is purely experimentation. The "S" was chosen because it seemed to have the right shape, although there are many chars which could really go there. The curve section at the back required quite a lot of work. An "a" seems to be the best opposite of "n", and for long stretches, I like to use some "o"'s in there just to mix it up a bit. The: "^ :piece at the end was an obvious combination, so it was just a matter of finding a char to connect the "a" to the "^". As it turned out, "v" was custom made for that position. WMHI: .:IHb. I Smooth shading can be created by using MH[: .adAHHHI:. :H different chars to fade out at the edges, HI: .:IHHHHHI:' .jIH instead of the anti-aliasing (which Y: `:YHHI:' .:|IHM produces hard edges). Good "outer" characters are: . , : ; ' ` For the transition from solid to outer edge: I H A U V T Y | i j d b n a o [ ] :or basically anything that produces the desired effect. Both line and solid techniques can be combined together, resulting in a "comic book" look and feel. Each form of ascii art works well in certain circumstances, so why not use this to your advantage. Line art for the various outlines and small details, and solid art for large dark areas. 5. 3 Dimensional Art 3D ascii art is basically an extension of SIRDS, where you can create the illusion of depth on a flat surface. This is achieved by producing two slightly different versions of the one picture, and placing them a certain distance apart. . . Focus Point / \ / \ x Where the image appears / x \ --- --- __ The original pictures on the screen / \ / \ /\ Where your eyes are looking / \ O O OO Your eyes PLAN VIEW Although the scale and angles are a bit off, the basic principle can be seen from the above diagram (seen looking down). The two versions of the picture are located on the screen, but you don't look there. You need to focus on a point *past* the screen which produces a third image at "x". This resulting image occurs because of the way eyes work. They can only focus on one "depth" at a time, and anything either further away or closer becomes blurred. These "blurs" are just two different views of the one object produced by the two eyes seeing different things. Try this: stand three feet from a wall. Now hold two fingers up about one foot from your face, and about 1.5 centimeters apart. Look between your fingers, and focus onto the wall. Keep focus on the wall, but look into the foreground at your fingers. You should see a ghost image from both fingers converging into the center. The trick is to make the two ghost images overlap each other resulting in (hopefully) one solid image. This image should appear at a different level than the originals: | | | | | | | | | | TWO FINGERS RESULTING IMAGE The results from this experiment won't be 100% perfect since your two fingers are likely to be different, but it is a good way to understand the concept. With a little practice, you should be able to focus on real 3D pictures without too much effort. --- --- Note that if you cross your eyes instead of using the \ / above technique, you actually see the picture in reverse. \/ This diagram shows the effect from above, and the resulting /\ image will appear where the lines cross over. Sinc most / \ stereograms (STARE-eograms?) are created to go into the / \ screen, looking at them this way will produce an incorrect O O vision (and is somewhat harder on the eyes). That's the hard part out of the way, now a bit about how to create them. Getting back to the little koala example (which is a perfect size for this type of work), lets bring him into 3 dimensions. X X Here I have placed two koalas 10 chars ___ ___ apart from each other. Generally, a good {~._.~} {~._.~} distance would be between 7 and 15 chars, ( Y ) ( Y ) although you can use any distance you like. ()~*~() ()~*~() Values outside those bounds tend to be (_)-(_) (_)-(_) difficult to focus on however. The distance determines how much the resulting image sits "into" the screen. If the distance is 0 (ie. no separation), the image is neutral which means it appears -at- the screen. As the distance is increased, the resulting image appears further -into- the screen. By having many koalas laid out across the screen (all separated by the same distance), the effect becomes slightly easier to focus on. Any extra layers should then be added across the whole picture, with the result being quite effective. The picture is quite boring so far, with just one layer of 3D being created, so the next thing to do is to add another layer or two. The "tried and tested" approach is to add a "pole" in front of him, and since we want it -in front- of the existing layer, each pole should be 9 chars apart: _ _ _ _ _ _ _ _ (_) (_) (_) (_) (_) (_) (_) (_) H___ H ___ H ___ H ___ H ___ H ___H __H {H._.~} H~._.~} H{~._.~} H {~._.~}H {~._.~H {~._.H} {~._H~} H Y ) H( Y ) H ( Y ) H ( Y ) H ( Y )H ( Y H ( YH) (H~*~() H)~*~() H()~*~() H ()~*~()H ()~*~(H ()~*~H) ()~*H() (H)-(_) H_)-(_) H(_)-(_) H (_)-(_)H (_)-(_H (_)-(H) (_)-H_) H H H H H H H H ~"~~~~~~~~"~~~~~~~~"~~~~~~~~"~~~~~~~~"~~~~~~~~"~~~~~~~~"~~~~~~~~"~~ Notice that since the pole is to appear in front of the koala, it actually replaces the koala where they overlap. Here's the same pic except the pole appears behind the koala: _ _ _ _ _ _ (_) (_) (_) (_) (_) (_) ___ H ___ H ___ H ___ H ___ H ___ H___ {~._.~} {~._.~}H {~._.~} H {~._.~} H{~._.~} {~._.~} {~._.~} ( Y )H ( Y ) H ( Y ) H ( Y ) H ( Y ) H( Y ) ( Y ) ()~*~() ()~*~()H ()~*~() H ()~*~() H()~*~() ()~*~() ()~*~() (_)-(_) (_)-(_)H (_)-(_) H (_)-(_) H(_)-(_) (_)-(_) (_)-(_) H H H H H H ~~~~~~"~~~~~~~~~~"~~~~~~~~~~"~~~~~~~~~~"~~~~~~~~~~"~~~~~~~~~~"~~~~~ Now, since the pole is to appear behind the koala, its chars do not write over the koala where they overlap. The poles here are 11 chars apart, so appear one "step" behind the koala. All layers are built like this, and of course I could have the poles both behind and in front of the koala in the same picture. Here's a multi-layer example: _ _ .-~ \ .-~ \ / \ _ / \ _ ~x .-~_)_ ~x .-~_)_ This picture has 3 distinct layers: ~>x".-~ ~-. ~x".-~ ~-. the hat, head and face. There are ( / \ ( / \ many other examples of 3D ascii T o o Y T o o Y around, plus there are programs l < ! l < ! available for the easy creation \ .__/ / \ ._/ / of SIRDS. "-.___.-' "-.___.-' A quick examination of the above picture shows that the head (circle), part of the hat and a part of the mouth are all 15 characters apart. The rest of the face is just 14 chars apart, and the top section of the hat is 16 chars apart. Note that all this information is from pure observation, so it may not be 100% accurate. 6. Conclusion Perhaps there's more to ascii art than meets the eye? Before writing this, I . had no idea just how much thought goes /\ /l into creating ascii pictures, and I ((.Y(! imagine that I haven't even begun to \ |/ cover it all. / 6~6, \ _ +-. Analyzing the work of other people is \`-=--^-' a great way to learn what works, and \ \ what doesn't. Analyzing "art" may seem _/ \ like a strange concept, but it does ( . Y open your awareness to the art form, and /"\ `--^--v--. it's a great way to learn the various / _ `--"T~\/~\/ techniques. I hope that you have found / " ~\. ! my ideas about ascii interesting. _ Y Y./' Y^| | |~~7 In the end however, it's up to the | l | / ./' individual artist to work the way they | `L | Y .^/~T want to, and not necessarily the way | l ! | |/| | -Row someone else would do it. Finding | .`\/' | Y | ! your own style is all part of the fun, l "~ j l j_L______ and perhaps this text will aid people \,____{ __"~ __ ,\_,\_ in finding that style. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :D 7. Quick Plug Check out my ascii art collection v1.2 (it's on the various ascii FTP sites around). Collection 2 coming soon(ish).