KR20020056594A - 수묵화 그래픽 저작도구 형성방법 - Google Patents

수묵화 그래픽 저작도구 형성방법 Download PDF

Info

Publication number
KR20020056594A
KR20020056594A KR1020000085978A KR20000085978A KR20020056594A KR 20020056594 A KR20020056594 A KR 20020056594A KR 1020000085978 A KR1020000085978 A KR 1020000085978A KR 20000085978 A KR20000085978 A KR 20000085978A KR 20020056594 A KR20020056594 A KR 20020056594A
Authority
KR
South Korea
Prior art keywords
ink
brush
paper
painting
color
Prior art date
Application number
KR1020000085978A
Other languages
English (en)
Other versions
KR100430713B1 (ko
Inventor
정동암
최기호
Original Assignee
주식회사 에베네저
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 에베네저 filed Critical 주식회사 에베네저
Priority to KR10-2000-0085978A priority Critical patent/KR100430713B1/ko
Publication of KR20020056594A publication Critical patent/KR20020056594A/ko
Application granted granted Critical
Publication of KR100430713B1 publication Critical patent/KR100430713B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons

Abstract

본 발명은 컴퓨터 그래픽 툴을 이용하여 수묵화를 제작하기 위한 도구를 형성하는 방법에 관한 것이다. 이를 위해, 컴퓨터상에서 수묵화 프로그램을 실행시키는 과정과, 상기 수묵화 프로그램을 실행할 시 운필 및 조묵을 선택하기 위한 메뉴바를 표시하는 과정과, 상기 표시된 운필 메뉴바에서 다수의 운필종류중 원하는 운필을 선택하는 과정과, 상기 표시된 조묵 메뉴바에서 다수의 조묵중 원하는 조묵을 선택하는 과정과, 상기 선택한 조묵으로 상기 선택한 운필에 대응하는 붓을 선택하여 그림을 저작하는 과정으로 이루어진다.

Description

수묵화 그래픽 저작도구 형성방법{METHOD FOR FORMING IMPLEMENT OF CHINESE INK PAINTING}
본 발명은 수묵화 그래픽 저작도구 형성방법에 관한 것으로, 특히 컴퓨터 그래픽 툴을 이용하여 수묵화를 제작하기 위한 도구를 형성하는 방법에 관한 것이다.
오늘날 컴퓨터의 기술은 눈부시게 발전되어 우리 삶의 곳곳에 깊숙히 스며들고 있다. 그림을 그리는 행위 즉 컴퓨터 그래픽도 이제 우리에게 친숙하고 그림을 그리는 과정에서 필수적인 도구가 되었다. 초기 컴퓨터가 고안되었을 때는 상상도 할 수 없었던 컴퓨터 그래픽은 이제 인간의 시각으로 감지할 수 있는 모든 색을 표현할 수 있고 그래픽 툴(Graphic Tool)을 사용하여 쉽게 여러 가지 종류의 그림을 제작할 수 있게 되었다. 즉 실제의 붓이 아닌데도 붓처럼 자유로운 점이나 선, 면 등을 그릴 수 있을 뿐만 아니라 자유로운 드로잉을 통해 원하는 그림을 그릴 수 있게 되었다.
또 컴퓨터로 생성된 그림은 쉽게 보관할 수 있고 마음대로 관리하며 이동시킬 수 있기 때문에 더욱 그 활용도가 높아지고 있다. 그림 표현에서 이러한 컴퓨터 기술의 장점은 전통적인 그림을 재현 할 수 있을 뿐만 아니라 새로운 알고리즘 개발로 과거에는 불가능했던 것을 가능한 것으로 바꾸어 놓고 있다.
현재까지 연구되어 상용화하고 있는 컴퓨터 그래픽 프로그램 툴(Tool)들이 이렇게 컴퓨터 그래픽을 이끌어온 산파들이었다. 이들 툴들이 과거그림의 재현 뿐만 아니라 과거에는 도저히 할 수 없었던 것까지도 가능하게 하는 그림을 재창조하는 손색없는 수준 높은 연구들이었다. 이들 프로그램을 보면 전통적인 수많은 그림 재료를 화려한 기법으로 구현하고 있다.
현재 개발완료되어 실용적으로 사용하는 그래픽 에디터들의 프로그램 특성과 용도를 살펴보면 다음과 같다.
1. Adobe의 PhotoShop 5.0
사진과 같은 비트맵 이미지를 제작하거나 여러 개의 이미지를 합성하여 새로운 이미지를 만들어 낼 수 있는 프로그램으로 이미지 합성과 편집의 리터칭에 편리하고 다양한 기능을 가지고 있다. 포토삽(PhotoShop)은 디지털이미지 프로세싱을 위한 프로그램의 표준으로 여길 만큼 컴퓨터 그래픽 분야에서 가장 폭넓게 활용되고 있고 그래픽 프로그램의 표준으로 자리잡고 있다. 포토삽의 프로그램을 컴퓨터상에서 실행시키면 바탕화면이 표시되며, 그 바탕화면의 도구상자에는 다음과 같은 여러 가지 도구가 있다.
Marquee; 선택하고 싶은 영역을 사각형, 원, 임의의 픽셀크기로 선택한다.
Move; 그림을 이동시킨다. 선택된 곳이 있으면 그 부분만이 이동된다.
Lasso; 영역을 사각형이 아닌 Random한 다양한 형태로 선택한다.
Magic Wand; Mouse를 Click한 좌표의 색상정보를 Default값으로 하여 주변Pixel 정보를 비교하여 설정된 값에 해당하는 Pixel은 모두 자동선택 한다.
Airbrush; Airbrush를 재현한다.
Paintbrush; Paintbrush를 재현한다.
Rubber stamp; 도장처럼 지정된 영역의 비트맵을 버퍼에서 기억하였다고 다른 곳에 그대로 복사한다.
History brush; 실행한 기능을 다시 되돌려 재생한다.
Eraser; 지운다.
Line; Line을 긋는다.
Blur; 영역의 Pixel값을 주변 Pixel과 유사하게 하여 부드럽게 한다.
Sponge; Bitmap정보에서 Pixel의 채도값을 높인다.
Pen; Pen으로 긋는 것을 재현한다.
Type; taxt를 입력한다.
Measure; Pixel좌표의 거리를 측정한다.
Gradient; 선택된 영역을 Gradient하게 덮어 씌운다.
Paint bucket; 물감을 통째로 붙듯이 선택한 영역을 단일한 색으로 채운다.
Eyedropper;Bitmap에서 Mouse로 클릭한 곳의 Pixel의 값을 추출한다.
Hand; 전체그림이 모니터에 가려보이지 않는 부분이 발생할 때 화면(그림)을 옮겨 볼 수 있다.
Zoom; 그림을 확대,축소하여 본다.
Color(Forground color, Back ground); 그림의 바탕화면의 색, 위에 덧칠하는 색을 나타내고 새색을 지정한다.
Mode; 화면의 현제 모드상태를 나타낸다.
Brush 크기 선택 ; 붓의 크기와 모양등을 선택할 수 있고 사용자가 임의의 붓을 만들어 사용 할 수 있다.
도구 옵션기능 ; 선택, 붓 또는 지우기 등 도구상자에 있는 도구들의 옵션을 추가로 지원한다.
History 기능 ; 실행한 기록들을 버퍼메모리에 저장하고 이 기록을 다시 볼 수 있으며 취소하고 싶은 기록까지 곧 바로 Undo할 수 있다.
Layer 기능 ; 모든 작업을 투명한 별도의 투명지에 작업하는 것과 같은 기능이다. 이 기능의 유용함은 현재있는 그림에 곧 바로 디터칭을 한다면 기존의 그림은 상하게 되므로 별도의 이미지로 작성했다가 최종의 이미지로 만들로 서로 합성하기 위한 편리한 기능이다.
layer는 Alpha channel과 함께 그림과 그림을 서로 하나로 합성하는 작업에 용이하도록 작업영역을 분리하고 필요에 따라 필요한 부분만을 영역으로 자유롭게 합성하기 위한 방식이다.
Channel 기능 ; Bitmap의 Pixel정보를 Red,Green,Blue로 나누어 기록, 이 기능의 편리함은 Bitmap의 정보를 Red,Green,Blue로 분리시켜 각각의 색상정보 중에서 필요한 부분만을 변형하여 이용할 수 있다는 점이다.
Filter Effect ; Bitmap정보를 갖가지 Filtering 변환식을 통해 Image 변환한다.
* Artistic Filter ; Colored pencil, Cutout,Dry brush, Film Grain, Fresco, Neon Glow, Paint Daubs, Palette Knife, Plastic Wrap, Poster Edges, Rough Pastels, Smudge Stick
* Blur Filter ; Blur, Blur More, Gaussian Blur, Motion Blur, Radial Blur, Smart Blur
* Brush Strokes Filter ; Accented Edges, Angled Strokes, Crosshatch,Dark Strokes, Ink Outlines
* Distort Filter ; Diffuse Glow, Displace, Glass, Ocean Ripple, Pinch, Polar Coordinates, Ripple, Shear, Spherize, Twirl, Wave, Zigzag
* Noise Filter ; Add Noise, Despeckle, Dust & Scratches, Median
* Pixelate Filter ; Color Halftone, Crystallize, Facet, Fragment, Mezzotint, Mosaic, Pointillize
* Render Filter ; 3D Transform, Clouds, Difference Clouds, Lens Flare, Lighting Effects, Texture Filll
* Sharpen Filter ; Sharpen, Sharpen Edges, Sharpen More, Unsharp Mask
* Sketch Filter : Bas relief, Chalk & Charcoal, Charcoal, Chrome, Conte Crayon, Graphic pen, Halftone Pattern, Note Paper, Photocopy, Plaster, Reticulation, Stamp,Tom Edges, Water Paper
* Stylize Filter ; Diffuse, Emboss, Extrude, Find Edges, Glowing Edges, Solarize, Tiles, Trace Cntour, Wind
* Texture Filter ; Craquelure, Grain, Mosaic Tiles, Patchwork, Staind Glass, Texturize
* Other Filter ; Custom, High Pass, Maiximum, Minium, Offset
용도 : 그래픽디자인 ,광고, 전자출판, 웹디자인 등 다양한 분야에서 활용되고 있다.
2. ImageReady
인터넷용 PhotoShop 이다. 인터넷 홈페이지 제작을 위한 bitmap image, 즉 GIF, JPG 와 같은 포맷으로 된 이미지 파일의 데이터를 최소한의 용량으로 제작하여 전송에 따른 데이터 양을 최적화 하고 에니메이션 제작도 가능하다.
Function : Layer and Filter, file trans with online, confirm the real time,HTML info,작업 화면은 PhotoShop과 거의 유사하게 이루어져 있고 어느 정도의 학습만으로 일반적인 기능을 구현할 수 있기 때문에 실무 작업에 쉽게 활용할 수 있는 장점이 있다.
용도 : 다른 프로그램과 연동하여 간단한 이미지를 만들거나 동화상을 제작하여 이미지가 쓰이는 실무나 홈페이지 제작에 용이하다.
3. ImageStyler
ImageReady 와 함께 홈페이지 제작을 위한 유용한 그래픽 툴 중의 하나이다. Java script 나 Dynamic HTML 을 제작 할 수 있다.
4. PainterClassic
이것은 수작업으로 그림을 그리는 환경을 컴퓨터로 옮겨온 듯한 느낌이 들 만큼 각종 브러시와 다양한 효과를 가진 비트맵 프로그램으로 Photoshop 과는 달리 이미지 합성, 편집 보다는 그림 그리는 것 자체에 초점을 두고 있다.
5. MicroSoft사의 PhotoDraw 2000
이 프로그램은 마치 오피스 프로그램을 이용하듯 컴퓨터 그래픽 프로그램을 쉽게 사용할 수 있도록 한 점이 돋보인다. 작업 화면의 디자인이 익스플로러와 오피스를 합쳐놓은 듯 한 디자인으로 이루어져 MS 제품에 익숙한 사용자라면 별 어려움없이 작업할 수 있도록 인터페이스를 통일한 것도 장점이다 . 이 프로그램의 가장 큰 장점은 무엇보다도 컴퓨터 그래픽에 문외한 일지라도 원하는 출력물을 손쉽게 제작 할 수 있도록 한 마법사 기능이다. 또한 스캐너나 디지털 카메라가 연결되어 있을 경우, PhotoDraw 2000 에서 직접 구동 프로그램을 실행시켜 바로 촬영하거나 스캔한 이미지를 불러올 수 있는 편리한 기능도 제공된다. 하지만 화면 표시 속도나 작업 속도가 다른 이미지 리터칭 프로그램에 비해 상대적으로 느리고 또한 제한된 파일 포맷만 제공되므로 전문적인 인쇄 작업 등에는 적합하지 않다.
6. MacroMedia의 FreeHand 8
Adobe 의 일러스트레이터, 코렐 드로우와 함께 세계 3 대 벡터 드로잉 프로그램중 하나로 불릴 만큼 유명한 FreeHand 는 예전에는 Aldus 라는 회사에서 출시 되었다.
7. Ulead의 PhotoImpact
Ulead 사의 PhotoImpact 는 다양하고 전문적인 이미지 리터칭 작업을 가능하게 하는 비트맵 이미지 편집 프로그램이다. TWAIN 장비인 디지털 카메라나 스캐너와 같은 장비를 기본적으로 제공하는 것은 물론, PhotoImpact 앨범 프로그램도 포함되어 있어 저장해둔 이미지의 효과적인 관리가 가능하다. 인터넷 홈페이지 제작에 필요한 기능들도 갖추었는데 이미지 분할 기능이나 웹용으로 이미지를 최적화하는 기능등 다양한 인터넷 옵션을 지원하고 있다. 가장 큰 특징은 Easy Palletes 이다. 툴 박스에서 도구를 선택하면 Easy Pallete에서 선택한 툴로 할 수 있는 모든 기능을 작은 아이콘 그림 형태로 보여주게 되며 원하는 효과를 더블클릭 하면 이미지에 바로 적용된다. 전문적인 용어에 익숙하지 않은 초보자는 모든 상황이 그림으로 설명되므로 더없이 편리한 기능이라 할 수 있다. 또한 수백개의 프리셋 효과가 설정되어 있어서 Easy Pallete 에서 더블클릭하는 것만으로도 전문적인 작업이 가능하다.
8. PhotoExpress
Ulead 사는 쉬우면서도 간단한 이미지 그래픽 프로그램들을 많이 출시 하고 있는데 포토 익스프레스는 누구라도 쉽게 사진 이미지를 불러와서 합성하고 효과를 적용한 후 다양한 방법으로 프린트까지 할 수 있는 재미 있는 프로그램이다. 예전에 인기를 끌었던 스티커 사진을 쉽고 빠르게 제작할 수 있을 뿐만 아니라 스캐너나 디지털 카메라와 같은 장비를 가지고 즉시 사진을 불러 들인 후 편집에서 출력까지 한 번에 할 수 있다는 장점이 있다 . 작업 화면 디자인 또한 재미있고 직관적으로 되어 있으며, 메뉴 바의 내용이 전부 그림으로 표시되기 때문에 컴퓨터 그래픽을 전혀 알지 못하는 사람이라도 원하는 출력물을 얻을 수 있다.
9. MetaCreations의 Painter 5
PhotoShop 과 흡사한 특수효과 기능들과 이미지를 변형하거나 복제 마스크 작업등을 위한 플로터 기능과 이미지 리터칭, 편집의 도구들이 있다. 특히 Painter가 다른 그래픽 프로그램과 다른 점은 이미지 창작에 주목적을 두고 수많은 Brush를 갖추고 있다는 점이다.
(1) Canvas의 질감
그림을 그리기 위해서는 그림을 그리게 되는 Cannvas가 있어야 하는데 이 프로그램에서는 이러한 점을 고려하였다.
(2) 여러 종류의 Brush
Pencel, Water, Chalk, Charcol(목탄), ink Pen, Felt Pen, Crayon, Air Brush, Liquid(끈적이는 투명액체), Oil Painting(유화), Water Painting(수채화) 등 20여가지가 있다. Brush의 각 하부의 기능과 Option 기능과 제어항목을 이용하게되면 더욱 다양한 Brush를 표현 할 수 있다. 또한 Brush 는 Pen Mouse의 압력과 각을 감지하여 실제로 그림을 그리면서 붓을 통해 나타낼 수 있는 효과들 구현 할 수 있다.
다음은 Brush 효과들의 예이다.
Air Brush: 직접 뿌리는 듯한 Brush효과가 잘 타나나고 있다.
Chalk: 부드럽게 그릴 수 있고 색상이 밝고 화려하다.
Charcol: 실제 Charcol(목탄)을 사용하는 듯이 풍부한 톤과 회화적인 맛을 느낄 수 있는 Brush 이다.
또한 기존의 검은 색 목탄 뿐만 아니라 여러가지 색깔의 다양한 목탄 효과를 맞볼 수 있다.
Crayon: 크레용이 종이에 칠해지는 듯한 엠보싱의 효과는 잘나타나고 있다. 그러나 Crayon의 기름기 있고 덩어리지는 효과는 잘 느껴지지 않는다. 또한 겹쳐 칠하게 되면 색이 겹치는 부분이 밝은 색은 지나치게 감산혼합되게 되는 데 이러한 점은 실제 그렇지 않기 때문에 미흡하다.
Felt Pen: 시원하게 그려지는 Felt Pen을 맛볼 수 있다. 다양한 색깔과 크기, 그리고 면이 각지는 효과등 잘유롭게 선택할 수 있다.
Oil Painting: Oil Painting 의 효과를 적용하는 것이 매우 어려울 것으로 여겨지는 데도 Oil Painting특유의 무겁고 기름기 있는 물감의 특성과 회화적인 맛이 잘 나타나고 있다. 붓의 모서리와 가장자리의 처리가 자연스럽지 않고 Brush에 나타나는 층층의 선 등이 눈에 지나치게 띄는 점등은 아쉽다.
Liquid: 무색 투명한 기름성분의 물감으로 현상계에서는 다른 매체와 섞어 사용한다. 여기서는 칠해진 색위를 이 Brush로 지나치게 되면 물감이 끌려가면 섞이는 등 유동적인 물감의 움직임을 맛 볼 수 있다.
이와 같이 기존의 프로그램들을 살펴보면 이들 프로그램은 전통적인 재료를 거의 모두 재현하였다. 연필(Pencel),수채화(Water Painting),물, Chalk, 목탄(Charcol), ink Pen, Felt Pen, Crayon, Air Brush, Liquid(끈적이는 투명액체), 유화(Oil Painting)등 표현기법에서도 화려한 기법을 구사 하고 있다. 또 이들 툴들은 과거 그림을 충실히 재현 할 수 있을 뿐만 아니라 지금까지 도저히 할 수 없었던 다양한 편집기능과 필터링 효과를 적용할 수 있다.
그러나 이러한 그래픽 툴들의 공통적인 문제점은 다른 재료는 무수히 망라되어 있으면서도 아쉽게도 수묵화에 대한 기법은 모두 빠져 있다는 것이다. 미술사적 측면에서 뿐만 아니라 정서적 측면에서도 수묵화는 우리에게 매우 중요한 의미와 가치를 갖는다.
수묵화는 지리적으로 동양 3국(한국,중국,일본)과 그 주변에서만 나타난다.
원시적인 표현양식이 대게 그렇듯이 과학적이고 합리적인 시각표현 방법의 출현으로 사라지고 교체된 것에 비하면, 수묵화는 먹의 본질적인 특성은 그대로 유지되면서 새로운 먹의 기법만 계속 개발 되어 왔다.
그렇기 때문에 그림의 내용이나 정서의 변천은 먹의 기술적 변천일 뿐 재료의 변화가 아닌 이유 때문에 먹은 이들 문화권의 깊은 정서가 배어 있다
수 세기 동안 그들의 정서를 담아 온 먹은 그래서 다른 문화권의 그림양식과는 사뭇 다를 수 밖에 없는 독특한 특징을 담고 있다. 뿐만 아니라 이처럼 먹(Chinis ink)으로 상징되는 수묵화의 독특한 표현기법은 수채화나 유화등이 표현할 수 있는 표현력 못지 않는 풍부한 표현력을 가지고 있다.
그러므로 기존 컴퓨터 그래픽에서 연구되지 않은 수묵화에 대한 연구는 반드시 필요하게 되었다.
따라서 본 발명의 목적은 컴퓨터상에서 그래픽 툴을 이용하여 수묵화를 저작하기 위한 도구를 형성하는 방법을 제공함에 있다.
본 발명의 다른 목적은 컴퓨터상에서 그래픽 툴을 이용하여 수묵화를 저작할 시 실제 종이에 먹을 묻혀 그리는 상태와 유사한 효과를 낼 수 있는 수묵화 저작도구 형성방법을 제공함에 있다.
도 1은 본 발명의 실시 예에 따른 수묵화 저작도구를 형성하기 위한 시스템의 블록구성도
도 2는 본 발명의 실시 예에 따른 수묵화를 저작하기 위한 도구를 형성하기 위한 제어 흐름도
도 3은 본 발명의 실시 예에 따른 수묵화 저작도구를 형성하기 위한 사용자 인터페이스 초기 화면이고,
도 4는 본 발명의 실시 예에 따른 운필상자 화면
도 5는 본 발명의 실시 예에 따른 조묵상자 화면
도 6은 본 발명의 실시 예에 따른 편집상자 화면
도 7은 본 발명의 실시 예에 따른 기본 브러쉬 마스킹 기법을 이용한 불규칙한 브러쉬효과를 내기 위한 화면 예시도
상기 목적을 달성하기 위한 본 발명의 수묵화 그래픽 저작도구 형성방법에 있어서, 컴퓨터상에서 수묵화 프로그램을 실행시키는 과정과, 상기 수묵화 프로그램을 실행할 시 운필 및 조묵을 선택하기 위한 메뉴바를 표시하는 과정과, 상기 표시된 운필 메뉴바에서 다수의 운필종류중 원하는 운필을 선택하는 과정과, 상기 표시된 조묵 메뉴바에서 다수의 조묵중 원하는 조묵을 선택하는 과정으로 이루어짐을 특징으로 한다.
이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 그리고 본 발명을 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 실시 예에 따른 수묵화 저작도구를 형성하기 위한 시스템의 블록구성도이다.
입력장치(Input Device)(10)는 수묵화를 저작하기 위한 입력장치로, 마우스와 라이트펜, 타블렛 등이 있다. CPU(12)는 상기 입력장치(10)로부터 입력된 신호에 따라 수묵화를 저작하기 위한 도구를 생성하여 표시하고, 상기 입력장치(10)로부터 입력된 신호에 따라 그림크기, 운필 및 조묵의 종류를 선택하여 수묵화를 저작하도록 제어한다. 메모리(12)는 본 발명의 수묵화를 저작하기 위한 프로그램을 저장하고 있으며, 수묵화 저작 시 발생되는 데이터를 일시적으로 저장한다. 운필선택부(20)는 상기 CPU(20)의 제어에 의해 브러쉬 번짐의 종류, 붓의 기울기, 붓의크기 등을 선택한다. 조묵선택부(18)는 상기 CPU(12)의 제어에 의해 묵의 컬러선택 및 묵의 농도를 선택한다. 표시부(16)는 상기 CPU(12)의 제어에 의해 수묵화를 저작하기 위한 각종 메뉴 및 도구와 그림 저작 시 저작하는 그림을 표시한다.
도 2는 본 발명의 실시 예에 따른 수묵화를 저작하기 위한 도구를 형성하기 위한 제어 흐름도이다.
도 3은 본 발명의 실시 예에 따른 수묵화 저작도구를 형성하기 위한 사용자 인터페이스 초기 화면이고,
도 4는 본 발명의 실시 예에 따른 운필상자 화면이며,
도 5는 본 발명의 실시 예에 따른 조묵상자 화면이고,
도 6은 본 발명의 실시 예에 따른 편집상자 화면이며,
도 7은 본 발명의 실시 예에 따른 기본 브러쉬 마스킹 기법을 이용한 불규칙한 브러쉬효과를 내기 위한 화면 예시도이다.
상술한 도 1 내지 도 7를 참조하여 본 발명의 바람직한 실시예의 동작을 상세히 설명한다.
본 발명의 그래픽 툴에 의한 수묵화의 저작도구를 형성하기 위해서 수묵화를 이해하여야 하며, 수묵화를 이해하기 위해서는 재료에 대한 특성을 고찰하여야 한다. 왜냐하면 수묵화의 독특함은 그림을 그리는데 사용하는 먹과 화선지 그리고 붓의 독특한 특성과 매우 밀접한 관련성을 가지고 있기 때문이다. 수묵화를 그리기 위한 기본적인 먹(墨),종이(畵宣紙) 그리고 붓(筆)에 대한 재료적인 특성은 다음과 같다.
1. 먹(墨) 의 특성
墨 자는 묵이라고 발음하고 일반적으로는 먹이라고 한다. 字源은 黑 자와 土 자를 합한 글자이다. 옛날에는 천연적으로 나오는 石墨 (흑연)을 사용하였기 때문이다. 石墨 을 물에 녹이든지 옻칠을 혼합하여 사용한 것이 墨의 시초라고도 하기도 한다. 오늘날의 사용하는 墨은 膠液(교액;아교) 을 사용하여 가루분말을 단단히 뭉쳐 먹으로 제조한 것이다.
먹의 또 다른 재료는 기록에 의하면 옻칠이나 소나무 등을 불에 태워서 煙(연;그을음)을 만들어 그 그을음을 채집 혼합하여 제조하였고 墨汁(묵즙)의 부패를 방지하기 위해 그 즙 속에 석류나무껍질을 짜서 즙의 방부를 막았다.
또 和墨(화묵)은 油煙(즉,공기가 희박한 상태의 그릇 안에서 기름을 태워 발생하는 그을음)을 사용한다.
墨의 종류는 宋煙墨, 油煙墨 ,淡墨, 紫墨, 古墨 등이 있다. 좋은 墨은 Black(煙;그을음)이 골고루 섞여 있는 것이 좋고 제조가 70년, 100년 정도가 되는 墨은 古墨(오래된 묵)이라고 하여 경박한 반짝임이 적어 깊고 은은한 墨色이 난다.
2. 종이(화선지)의 특성
수묵화에서 쓰는 종이 재료는 마직유(麻織維;삼으로 직조하여 벼린)종이, 목면(木綿;나무를 솜으로 만든)종이, 저목(楮木;나무 딱지 종이 ), 죽직유(竹織維;대나무를 직조하여 벼린)종이 등이 있다. 현재까지 통칭으로 불리는 화선지라 부르는 종이는 채취한 재료와 제조 특성에 따라 화선지(畵仙紙) , 화선지(畵宣紙), 추선지(推仙紙), 저피지(楮皮紙), 단피(檀皮;박달나무 껍질로 만듬), 日本和紙(일본화지;안피(雁皮)-일본에서 나는 나무 껍질로 만든 화선지) 등이 있다.
종이에 따라서 먹을 잘 흡수하는 종이도 있고 먹을 흡수치 않는 종이도 있다. 화도(花鳥)를 그릴 때는 먹을 적게 흡수하는 것을 많이 사용해 왔고, 산수화를 그릴 때는 먹을 잘 흡수하는 종이를 사용하여 왔다. 또 먹의 번짐을 극대화하기 위하여 종이 원료에 토분(土粉;흙가루) 을 섞어 제조하기도 하였다.
3. 붓(筆)의 종류와 특성
붓의 종류는 본필(本筆;버드나무 연한 부분을 돌로 쳐서 제조), 초필(草筆: 식물성 재료를 사용한 붓), 목필(木筆;조선시대 장식문자를 쓰는데 유행함), 죽필(竹筆;참대의 끝을 나무망치로 여러 번 쳐서 만듬), 수필(水筆;붓자락을 물로써 단단하게 한 것) 그리고 현재 가장 일반적으로 사용하고 있는 모필(毛筆)을 들 수 있다.
모필의 재료로 사용한 동물의 털들은 붓을 사용할 때 운필의 특성에 커다란 영향을 끼치는 데 토끼, 말, 고양이, 쥐, 원숭이, 물소, 흰돼지, 닭, 학, 백조의 털 등이 사용되었다. 흰돼지의 털은 딱딱하여 현재 유화용으로 많이 쓰이고 있으며 밍크의 빨간색 털은 수채화용으로 많이 쓰고 있다. 그러나 이와는 대조적으로 수묵화 붓은 부드러우면서도 은근한 탄력을 가진 토끼의 등쪽의 털(紫毫筆)이라든지, 고양이의 잔등의 털(玉毛筆),또 일본에 많이 쓰였던 순양모의 털 등으로 만들어진 길고 부드러운 털을 즐겨 사용하였다.
4. 그림 제작 과정의 특성
수묵화는 붓과 먹과 화선지의 조화로 만들어 진다. 길고 부드러운 붓에 먹과 물을 적시는 방법으로 여러 가지 농담이 만들어 진다. 그림을 그릴 때 드로잉하는붓이 화선지에 얼마만한 각도와 두께로 사용되는가에 따라 선의 굵기와 모양이 다르게 나타난다. 또 드로잉하는 속도의완급에 따라 여러가지 표현 방법이 만들어 진다.
5. 조묵 (凋墨 ; 먹을 만듬 )
조묵이란 붓에 먹과 물을 기술적으로 적시는 것으로 먹의 다양한 표현을 구사할 수 있는 수묵화 그리기의 첫 단계이다. 붓에 물을 많이 먹이고 대신 먹의 양을 조금하게 되면 맑고 부드러운 선이 되고, 또 물보다 먹이 붓에 많이 적셔지면 진하고 강한 색이 만들어진다. 이와 같이 붓에 먹을 묻히는 방법의 차이는 다음과 같다.
6. 운필 (運筆 ; 붓을 운용함)
운필이란 조북한 붓으로 드로잉 할 때 다양한 손놀림을 구사하게 되는데 이러한 과정을 일컷는다. 紙面에서 붓이 어떻게 운용되는가 따라서 선의 모양이 각각 달라진다 붓 한자루로 두꺼운 붓, 가는 붓, 갈라지는 붓 등 여러 가지 붓의 효과를 볼 수 있다. 붓을 곧바로 세워 사용하거나 붓을 ??혀 한번에 넓은 선을 그리는 가 있다. 이처럼 붓을 사용할 때 붓이 지면과 어떻게 접촉하는가 즉, 기울기, 면적, 붓을 누르는 압력에 따라 여러 가지 모양의 선이나 두께가 각기 다른 면이 그려지게 된다.
7. 먹의 번짐
수묵화를 보면 먹의 번짐은 수없이 관찰된다.
다른 미술양식에서는 그림을 그리다가 물감이 번지게되면 실수로 여기는 데오히려 수묵화는 물감(먹)이 번지는 현상을 오히려 적극적으로 응용한다.
먹이 번지는 것은 재료의 물리적 성질에 의해 발생하므로 먹이 번져가는 양상을 정확하게 예측하기는 매우 어렵다. 그래서 수묵화가들은 수없이 많은 반복 훈련을 통해 먹의 물리적 성질을 감각적으로 익히고 먹을 운용할 수 있게 된다. 화선지에 먹이 번져가는 효과는 매우 불규칙적이지만 그 성질에 따라 크게 3가지 즉, a. 솜털처럼 번짐 효과가 있고, b. 지면과 먹이 마주하는 부분이 마치 가는 띠처럼 명확하게 경계가 만들어지고 c.안개처럼 부드럽게 번져나가는 효과가 있다. 이처럼 먹이 번져가는 현상을 물리력으로 본다면 화선지에 먹이 묻는 순간 화선지의 표면은 먹을 빠르게 흡수하여 표면적을 가득 채우고, 얇의 화선지는 나머지 먹을 더 이상 수용할 수 없어 포화상태에 이른 표면적 안의 나머지 먹은 중력과 표면장력으로 물분자끼리 서로 밀치며 바깥으로 번져나가게 된다. 이때 무거운 먹의 알갱이는 중심에서 멀리 벗어나지 않고 상대적으로 가벼운 먹 알갱이가 물분자에 포함되어 먼 곳 가장자리까지 이르게 된다 할 수 있을 것이다.
이때 화선지에 번져 가는 먹은 붓에서 화선지로 전달되는 먹의 양과 정비례 관계를 갖게 되고 또한 지면에 붓을 지속적으로 접촉하고 있으면 그만 큼 화선지에 전달되는 먹의 양이 많아지므로 번져 가는 범위가 넓게 된다.
또한 이때 지면이 물에 적셔 있으면 화선지의 결의 모공이 닫혀있어 부드럽게 채워지게 되고 , 그렇지 않으면 화선지의 결에 따라 먹이 번져가게 된다.
8. 먹과 지질에 의한 번짐
번짐의 현상을 독특하게 만든 것중에 紙質 에 관련된 것을 하나 살펴보자.
화선지는 겉으로 보기에는 평평한 지면으로 보이지만 내부적으로는 무질서한 화선지의 결들이 서로 뒤엉켜 있다. 이처럼 먹의 번짐이 심하고 가시처럼 뾰족 뽀족하려면 화선지의 제작단계에서 토분을 섞으면 된다. 이 종이에서는 먹이 더 잘 번지는데 이는 토분이 먹이 더 잘 번지게 하는 역할을 하기 때문이다.
화선지의 재료 중 닦을 사용한 지면(紙面)의 결을 볼 수 있는 사진이다. 이 결의 밀도와 간극을 따라 먹의 번짐 현상이 일어난다. 이처럼 화선지는 여러 가지 종이재료와 제작방법에 따라 다양한 번짐 현상이 나타난다.
9. 먹의 중첩
수묵화의 또 다른 특성은 중첩이다.
먹을 겹쳐 칠했을 때 나타나는 중첩된 색의 변화가 있다.
수묵에서는 먹의 중첩에 따라 이전에 칠한 색과 나중에 칠한 색이 서로 반투명한 상태로 비쳐 보이거나 진한색에 가려지기도 한다. 먹의 농도를 다르게 함으로써 발색이 다르게 된다. 또한 수묵에서는 물의 건습(乾濕;마르고 습함)을 활용한다.
먼저 칠한 아래부분의 색이 채 마르기전에 또 겹쳐 진한색으로 칠하여 진한색은 먼저칠한 연한색과의 가장자리 부분이 자연스럽게 섞여지는 경우가 있고 , 그리고 먼저칠한 색과 나중에 칠한 색이 어느 정도 시간간격이 있어 겹치는 부위가 확연하게 드러나게 되어 색을 칠한 상태가 뚜렷한 병렬로 나타나는 색의 중첩이 되는 경우가 있다.
또 아래 칠한 부위에 물기가 흥건한 상태에서 또 다른 색을 칠함으로써 먹이서로 지면에서 혼합되는 파렛트혼합과 같은 상태를 볼 수 있다.
상술한 도 1 및 도 2를 참조하여 본 발명의 수묵화를 저작하기 위한 도구를 형성하는 동작을 설명하면, 입력장치(10)를 컴퓨터의 표시부(16)에 표시된 그래픽에 의한 수묵화를 그리기 위한 아이콘을 클릭하면 101단계에서 CPU(12)는 메모리(14)의 수묵화 프로그램을 로딩하여 실행하고 102단계로 진행한다. 상기 102단계에서 CPU(12)는 표시부(16)로 도 3과 같은 그래픽 에디터창을 표시하고 103단계로 진행한다. 상기 그래픽 에디터창에는 파일, 운필, 편집, 보기, 창, 도움말에 대한 메뉴바가 표시된다. 파일은 열기, 닫기, 저장, 다른이름으로 저장, 인쇄, 인쇄 미리보기, 인쇄설정, 종료, 그림판등이 있고, 운필은 백지화(새 종이를 만듬), 조묵(먹을 조절하는 도구상자), 운필(붓의 운용), 한지(한지의 종류선택)등이 있고, 보기는 도구모음, 상태표시줄이 있고, 창은 다음창, 계단식, 바둑판식, 아이콘정렬등이 있으며, 도우말은 수묵화 프로그램에 대한 안내서 및 사용설명이 있다. 상기 103단계에서 그래픽 에디터창에서 FILE/그림판을 클릭하면 CPU(12)는 그림판 선택창을 표시부(16)에 표시하고, 그 표시한 그림판 선택창에서 용지크기 및 위치, 여백을 입력시켜 그림의 크기를 선택한다. 그런 후 104단계에서 CPU(12)는 운필메뉴바가 선택되는지 검사하여 운필 메뉴바가 선택되면 105단계로 진행한다. 상기 105단계에서 CPU(12)는 운필메뉴바중에 화선지 메뉴가 선택되는지 검사하여 화선지 메뉴가 선택되면 106단계로 진행한다. 상기 화선지 메뉴는 추선지, 옥반잔지, 화지, 저피지 등이 있다. 106단계에서 CPU(12)는 화선지의 종류중 하나가 선택되면 선택되는 화선지에 해당하는 그림판을 표시부(16)에 표시하도록 한다. 그런 후 107단계에서 CPU(12)는 운필메뉴바중에 운필이 선택되는가 검사하여 운필이 선택되면 108단계로 진행한다. 상기 108단계에서 CPU(12)는 운필을 선택하면 표시부(16)를 제어하여 도 4와 같은 운필상자를 표시한다. 이때 작업자는 마우스를 이용하여 브러쉬의 종류와 붓의 크기, 번짐의 정도, 번짐의 불규칙 정도를 선택한다. 도 9에서 브러쉬의 종류중 ①은 중심이 진하고 가장자리로 갈수록 점점 연해지면 부드럽게 번지는 붓이고, ②는 붓 먹보다 물을 많이 사용하는 붓인데, 연한 색일수록 표현이 좋다. 중심은 추출한 색값을 사용하고 가장자리만 진해진다. ③은 방사형으로 번져나가는 모양이 보이는 붓으로 중심은 조금 진하고 사방으로 갈기가 지면서 번지는 붓이다. ④는 자유분방하고 다등지 않은 붓이며 갈기가 불규칙하고 번짐도 불규칙 한 붓이다. ⑤는 진한 먹을 표현하고 모서리가 진 붓으로 표현한다. ⑥은붓의 기울기조절 Bar로서 펜마우스의 기울기 함수를 받아들인다. 붓의 자연스러운 움직임을 표현하기 위한다. ⑦은 클릭하면 조묵 상자를 로드한다. 먹이나 컬러는 이곳에서 이뤄지므로 이 곳을 클릭하는 것으로 시각화 하였다. ⑧은 붓의 상태를 미리 보기한다. 현재 선택한 붓의 모양이나 번짐의 정도를 선택하는 순간 그려지게 될 붓의 모양을 이곳에서 미리 보기로 나타내게 된다. ⑨는 붓의 크기를 조절한다. 왼쪽은 가장 작은 붓, 오른쪽으로 갈수록 커다란 붓을 사용할 수 있다. ⑩은 번짐의 정도를 조절한다. 붓의 사이즈를 기준으로 가장자리로부터 번져나갈 범위를 조절한다. ⑪은 불규칙의 정도를 조절한다. 번짐의 양상에 대한 랜덤의 값을 조절하여 적용한다.
그런 후 109단계에서 CPU(12)는 운필메뉴바중에 조묵을 선택하면 표시부(16)를 제어하여 110단계로 진행하여 도 5와 같은 조묵상자를 표시한다. 이때 작업자는 마우스를 이용하여 그림을 그리기 위한 묵의 색깔을 선택한다. 도 5에서 묵색깔의 종류중 ①은 황색묵으로 이곳을 클릭하면 황색을 추출할 수 있는 그림판으로 교체된다. 마우스로 1번을 클릭할 시 픽셀(pixel)의 황(黃)색 값을 받아들인다. 가로방향은 황색묵을 76단계로 세분화 하였다. 세로 축은 황색묵을 38단계로 나누었다.
②는 적색을 선택하는 것으로; 이곳을 클릭하면 적색을 추출할 수 있는 그림 판으로 교체된다. 마우스 클릭시 pixel 의 적( 赤 )색 값을 받아들인다. 가로방향은 76단계로 세분화 하였다. 세로 축은 적색묵을 38단계러 나누었다. ③은 청색묵을 선택하는 것으로, 이곳을 클릭하면 청색을 추출할 수 있는 그림판으로 교체된다. 마우스 클릭 시 픽셀(pixel)의 청(靑)색 값을 받아들인다. 가로방향은 76단계로 세분화 하였다. 세로 축은 청색묵값을 38단계를 나누었다. ④는 녹색묵을 선택하는 것으로, 이 곳을 클릭하면 녹색묵을 추출할 수 있는 그림판으로 교체된다. 마우스 클릭 시 픽셀(pixel)의 녹( 綠 )색 값을 받아들인다. 가로방향은 녹색묵값을 76단계로 세분화 하였다. 세로 축은 녹색묵값을 38단계를 나누었다. ⑤는 색 추출 창으로 마우스가 클릭하는 지점의 좌표의 필셀(pixel) 값을 추출한다. 가로방향에서는 고르게 쪼개어진 76가지의 색을 타원의 중심에서 왼쪽이나 오른쪽에서 똑같이 고를 수 있다. 세로 방향에서는 고르게 쪼개어진 38단계의 색을 타원의 중심에서 위쪽이나 아래쪽에서 고를 수 있다. 그러므로 가로방향에서 이동하며 고르는 것은 색을 세분화하여 자세히 고를 수 있는 것이고 세로로 이동하며 고르게 되면 조금 덜 쪼개어진 대략의 색을 고르는 것이다. (색값 추출 함수 ; getpixel( ) )
그리고 ⑥은 조묵접시이고, ⑦은 조묵 초기화을 선택하는 것으로, 초기값은 먹으로 설정되어 있다. 그리고 초기값으로 설정되어 있을 시 마우스를 이용하여 ⑥의 조묵접시에 커서를 이동시켜 원주방향으로 회전하면서 마찰횟수를 증가시키면 묵의 농도가 점점 진하게 된다.
또한 도 3의 그래픽 에디터창에서 편집을 클릭하면 도 6과 같은 편집상자를 표시부(16)에 표시하며, 편집상자의 도구에는 영역선택,영역자동선택,영역그리기,이동,화면이동,붓선택,채우기,지우기,색추출하기,확대축소하기,영역 먹효과 채움, 기록재생 등이 있다.
이와 같이 조묵화를 그리기 위한 도구를 선택한다. 예를 들어 첫 번째로 운필상자는 먹이 번지는 모양을 선택한 후 (붓이 번지는 모양은 다섯가지로 분류되어 있다 ) 붓의 크기와 번짐의 정도를 자유롭게 미리보기 를 보면서 설정한다. 그리고 랜덤의 정도를 조절한다. 물방울 모양의 바를 좌우로 끌어 당기면 값이 작은 것에서 큰것까지 적용된다. 두 번째로 조묵은 먹을 추출하는데, 선택하고 싶은 색을 타원의 접시에서 직관적으로 찍으면 그 색값을 받아들인다. 세밀한 색을 사용하고 싶으면 좌우에서 고르고 대략적인 색을 고르려면 상하에서 고르면 된다. 접시 밖의 바탕화면의 색값은 색판으로 취급하지 않으므로 추출 되지 않는다. 단순한 먹색을 초기값으로 설정하고 노랑, 빨강, 초록, 청색도 똑 같은 방법으로 선택할 수 있다. 세 번째로 여러가지 편집을 만든다. 이렇게 수묵화 저작도구를 선택한 후 108단계에서 그림판에 마우스를 이용하여 그림을 저작한다.
이렇게 그림을 그리기 위한 저작도구를 선택하여 붓을 이용하여 그림을 그릴때 수묵화 기법의 디지털 처리되는 동작을 살펴보면,
(1) 붓 운용에 따른 緩急과 壓力적용
수묵에서 사용하는 재료는 극히 단순화되어 있다. 단일한 색을 띠고 있는 먹(검은 색 )과 길고 부드러운 붓 , 또 민감하게 반응하는 Canvas 즉 화선지로 이루어져 있다.
먹은 검은 색이지만 물과 섞어 쓰는 데, 물의 농도를 조절하여 Black인 검은색부터 흰색에 가까운 수많은 단색의 종류를 나타내게 된다. 길고 가느다란 붓은, 붓의 면이 지면과 어떤 관계를 맺는가에 따라 선이 되기도 하고 면이 되기도 하다. 즉 눕혀지는 각에 따라서 얇은 선에서부터 평평한 면까지 거의 모든 것이 단 한 자루의 붓 사용과 짧은 순간의 동작으로 만들어진다. 그렇기 때문에 붓을 세워서 사용하다가 그대로 이어 붓을 눕혀 그리면 넓을 면을 그릴 수 있다. 기교에 찬 운필은 일필휘지로 한 형상이 만들어지기도 한다. 그래서 수묵화는 바로 이런 사용자의 손동작과 시간을 상세하게 기록한 데이터를 보고 있는 것과 같은 기분을 일러 일으키기도 한다. 즉, 자유로운 움직임을 구사 할 수 있는 붓, 그리고 민감하게 반응하는 종이와 농담조절이 자유로운 먹만을 표현하는 것은 수묵화의 중요한 과제이다.
수묵화에서 붓과 사용자의 운용의 관계를 도해하면 다음과 같은 관계성을 가지고 있음을 발견 할 수 있다.
컴퓨터의 환경에서 사용자 입력장치(User Input Device)인 마우스를 들 수 있는 데 전통적인 수묵화 붓놀림의 특징을 효과적으로 표현하기 위해서는 사용자의 입력장치가 볼마우스보다는 펜마우스의 동작이 효율적일 것이다. 현재 사용되고있는 펜마우스는 사용자가 펜에 가하는 압력과 기울기 속도등을 모두 감지할 수 있고 마우스가 움직이게 되는 좌표의 거리는 모니터의 실제 좌표와 일치하므로 전통적인 필기나 그리는 행위를 재현할 수 있는 장점이 있다.
(2) 먹이 번지는 현상
먹이 번지는 모양을 관찰하기 위해서 그림의 번지는 부분에 대한 현상을 분석하면 번짐의 양상이 각기 다름을 알 수 있다. 안쪽에서 가장자리에 이르는 먹 색의 분포도는 번짐의 양상에 대한 분석을 용이하게 한다. 안쪽이 진하고 밖으로 향할수록 부드럽게 점점 약해지는 안개모양의 번짐 현상과 , 안쪽에서 진한 먹물이 결을 따라 밖을 향하면서 결을 따라 점점 약해지는 솜털 모양의 번짐 현상 , 번져나가다가 일정한 곳에 이르러 갑자기 한 지점을 경계로 번짐 현상이 중지되는 크랙현상을 보여준다.
또 다른 번짐의 형태로는 먹이 번져나가다 더 이상 번지지 않고 색이 뭉치는 현상에서 나타나는 가장자리 크랙모양의 번짐의 형태이다.
(3) 먹이 번지는 범위
화선지의 위에서 먹을 찍는 순간 먹물이 번져나가는 현상을 나타내기 위해서는 마우스 이벤트가 발생한 지점을 중심으로 360도의 방향으로 퍼져 나가는 현상을 나타내야 할 것이다. 온전하게 붓과 지면이 닿는 표면적의 부분과 먹이 번져나가는 범위가 생기게 된다. 번짐의 부분의 영역은 붓이 지면에 머무르는 시간과도 관계가 있다. 즉 실제 화선지에 그림을 그릴 때 먹이 번지는 모양은 붓이 오래 머무르면 번짐이 커지게 된다. 이에 대한 응용은 마우스의 좌표 이동과 연관지어 설명할 수 있을 것이다. 따라서 드로잉을 하기 위해서는 브러시형태를 좌표의 이동점마다 계속이어 뿌려지게 되는 데 이때 마우스의 좌표 이동시간의 변화를 체크하여 번짐의 범위를 결정해야 할 것이다.
(3) 지면과 먹색과의 관계
수묵화는 드로잉하게 되면 붓에 뭍힌 색이 지면에서 100% 발색되지 않다. 먹색이 일부는 화선지 안으로 스며들어 버리기 때문이다. 이러한 이유 때문에 아래의 수묵화는 은은함을 가지고 있는 것이다.
붓에 뭍은 먹의색은 지면과 접촉하면서 지면에 일부가 흡수되고 그 결과 은은한 발색을 하는 먹색이 이뤄지게 된다. 이처럼 반투명함을 나타내기 위해서는 추출한 색값을 드로잉하는 과정에서 일정하게 낮추에 뿌려줄 필요가 있을 것이다.
(4) 먹색이 교차할 때 중첩되는 색의 특징
다음의 그림은 보면 먹색은 색들이 겹치게 되면 서로 먹물의 농도와 건조상태에 따라 상이한 형태로 중첩되는 색이 나타난다. 즉, 먼저 칠한 색이 채 마르기 전에 다시 위에 새로운 색을 칠한 경우 먹색이 처음의 색과 혼합되면서 서로 섞이인다. 그리고 먼저 칠한 색이 마르는 상태에서 다시 위에 겹쳐 칠하여 겹치는 부분의 가장자리가 반투명하게 드러난다.
이와 같이 색의 어두워지는 현상을 표현하기 위해 마우스의 제 1의 드로잉과 제 2의 드로잉이 서로 교차할 때는 겹치는 부분이 감산된 결합으로 표현되어야 할 것이다. 그 효과는 실제 현상과 다르지 않도록 자연스러운 색의 표현이 되어야 할 것이다.
(5) 붓 갈라지는 현상
붓의 드로잉을 격하게 활용하게 되면 붓의 갈기가 부서지면서 파묵이 발생하게 된다. 붓은 작은 터럭의 갈기가 모여 이루어 졌고, 붓의 갈기들의 결속력은 쉽게 흐트러 질 수 있다. 이러한 현상을 표현하기 위해서는 드로잉을 하는 좌표이동 시간에 대한 연구와 분석이 필요할 것이다.
(6) 붓의 기울기
자유로운 붓 놀림은 드로잉의 필수적인 요소인데 수묵화에서는 조묵과 관련되어 있다. 그러므로 붓을 기울어지게 하여 긋는 선은 붓의 끝 지점은 진하고 붓의 몸통부분은 점점 연하게 표현되어야 할 것이다. 붓이 왼쪽으로 기울어졌을 때 붓의 전체 두께 중에서 오른쪽 가장자리 부분을 가장 진하게 하고 점차 왼쪽으로 밝게 해야 한다. 그리고 붓이 오른 쪽으로 기울어져 있으므로 왼쪽 끝을 깃점으로 오른 쪽으로 밝게 해야한다.
상기와 같이 조묵화를 저작하기 위한 도구를 선택하여 실제 화선지에 조묵화를 그리는 효과를 내기 위해서는 불규칙한 화선지의 번짐 특성을 나타내는 지면의 랜덤(random)배열방법을 사용하여야 하고, 먹색의 효과적인 팔레트를 생성하여야하며, . 운필의 효과적인 생성 UI방법을 사용하여야 하고, 먹 번짐의 불규칙한 효과표현 이중 마스크 시뮬레이션방법을 사용하여야 한다.
1. 불규칙한 화선지의 번짐 특성을 나타내는 지면의 랜덤(random)배열방법
1-1. 개요
수묵화는 화선지에 먹이 스며들고 번지는 선염법을 이용한다.
화선지는 다양한 재료로 만들고, 제조방법도 쓰임의 용도에 따라 다른다. 그러므로 지료,제작방식에 의해 먹물이 스며드는 양상과 모양이 달라 진다.
이러한 수묵화의 불규칙한 번짐의 양상을 그래픽 드로잉시 자연스럽게 표현하기 위해 선행적으로 graphic window에 좌표를 지정하는 방식을 활용하였다.
1-2. 화선지 재료적 특성
1-2-1. 다양한 종이 특성
통칭으로 불리는 화선지에는 채취한 재료와 재조특성에 따라 畵仙紙 (화선지) ,畵宣紙 (화선지), 推仙紙 (추선지), 楮皮紙(저피지), 玉版잔紙(옥반잔지;檀皮(단피;박달나무 껍질)로 만듬), 日本和紙(일본화지;안피(雁皮)-일본에서 나는 나무 껍질로 만든 화선지) , 麻織維(마직유;삼으로 직조하여 벼린)종이, 木綿(목면;나무를 솜으로 만든)종이, 楮木(저목;나무 딱지 종이 ), 竹織維(죽직유;대나무를 직조하여 벼린)종이등이 있다.
또한 제조목적에 따라 먹을 잘 흡수하거나 그렇지 않게 제조하게 된다. 특별한 목적을 위해 즉,먹의 번짐을 극대화 하기 위하여 종이 원료에 土粉(토분;흙가루)등 을 섞어 제조한 화선지도 있다.
1-2-2 습지종이 제조 방법에 따른 특성
습지의 형식에 따라 화선지의 성질이 다르다.
선지 ;한장으로 된 질이 얇은 화선지는 단선,두장을 겹쳐 만든 래선, 기타 특성에 따라 라문선,옥판전,호피선,냉금선지,두부선,방고선
당지 ; 대나무를 표백하여 닥나무를 넣어 만든 종이,선지처럼 심하게 번지지않으며 먹이 번지는 효과가 좋다.일번 당지는 두껍고 면이 거칠음,이번당지는 엷고 매끄러운 느낌
1-3. 그래픽 윈도우(graphic windows)의 지질좌표 배열
1-3-1. 화선지의 불규칙한 번짐양상에 대한 random화선지 생성
액체의 흐름측면에서 보면, 화선지의 상태에 의해 그 흐름이 조절이된다. 화선지는 내부의 섬유질이 불규칙하게 엉켜있는 형상을 하고 있으며, 이로인해 그 내부의 모세관현상이 강하게 나타난다. 또한 이 섬유질이 표면적으로는 미소하지만, 다양한 기울기를 갖는 불규칙성을 나타낸다. 이에 대해 모델링을 하기 위해서는 화선지의 종류(stats_paper), 화선지 표면상태(surface_paper), 화선지 내부상태(inner_paper)에 대한 요소를 생각할수 있다. 먼저 화선지의 종류는 표면상태와 내부상태에 대한 기본적인 범위가 만들어지며, 표면상태는 붓의 움직임속도 velocityx, velocityy에 영향을 주게된다. 또 내부상태는 붓의 번짐인 폭(width)변수에 영향을 주게된다.
1-3-2. 좌표 배열 방법
∇surface_paper = setPattern(pattern[][],position_x,position_y)
▽inner_paper = ▽k·∇surface_paper
0 ≤ stats_paper ≤ 1
surface_paper = stats_paper*f(∇surface_paper)
inner_paper = stats_paper*g(∇inner_paper)
2. 먹색의 효과적인 팔레트 생성 방식
2-1.개요
먹의 발색구조는 먹과 먹을 응고접착시키는 아교 그리고 드로잉의 과정에서 발색정도를 조절하는 물의 양에 따라 달라지게 된다.
그러므로 이러한 물리적 특성에 의해 발색되는 먹의 색깔을 표현하기 위한 먹색의 구조를 만들어 사실적인 먹과 가장 흡사한 구조를 만든다.
2-2.먹의 재료적 특성
石墨 (흑연), 그을음 (옻칠이나 소나무등을 불에 태워서 煙(연;그을음)을 채집 , 또 和墨(화묵)은 油煙(즉,공기가 희박한 상태의 그릇 안에서 기름을 태워 발생하는 그을음)을 사용)을 사용하는 宋煙墨, 油煙墨 ,淡墨, 紫墨, 제조가 70년, 100년 정도가 되는 墨은 古墨(오래된 묵)이며 경박한 반짝임이 적어 깊고 은은한 墨色이 난다.
일반적으로 墨은 膠液(교액;아교) 을 사용하여 가루분말을 단단히 뭉쳐 먹으로 제조한다.
2-2. 먹의 세가지 색채적 특성
먹색내에서의 색의 변화의 범위는 "...스럼한 색의 검은먹색"이라 할 수 있다. 또 먹은 불투명함에서부터 잉크나 염료와 같이 스며드는 성향을 갖는 탁도,즉 투명도에 의해 먹의 선염의 정도를 갖는다. 그리고 원료인 먹에 물을 양을 얼마만큼 많이 섞느냐에 따라서 색의 밝고 어둠이 이루어지는 명암의 단계가 있다.
2-3. 먹색 팔레트 생성 방식
먹색팔레트 CDB 특성
CDB는 RGB와 다르게 Color, Dye, Brightness로 구분을 한다. 이렇게 구분을 함으로써, 명암에대한 인자를 추출해 낼수있으며, 이는 수묵화표현의 먹색,먹의 선염, 먹의 명도를 효과적으로 할수 있다.
Muk Color : 실질적인 색상을 나타낸다. 보통 원형으로 나타내며, 각 각도에따라, 그 색상값을 표현한다.
(0° : 먹적색, 120° : 먹녹색, 240° : 먹청색...)
Muk Dye : 색의 순수성을 나타낸다. 보통 원뿔형태로 나타낸다.
Muk Brightness : 명도를 나타내며, 흰색과 검정색의 퍼센트단위로 나타낸다.
* CDB와 먹과의 비교
CDB 실제 먹 특성
Muk Color 먹의 색 먹속에서 풍겨나는 색
Muk Dye 먹의 투명도 불투명에서 부터 투명단계
Muk Brightness 먹의 명도 물과 혼합에 의한 명도
이에대한 변환식을 나타내면 다음과 같다.
역변환의 경우는 컬러영역에 따라 달라진다.
RG영역(0°≤MukColor≤120°)
,, g=1-(r+b)
GB영역(120°≤MukColor≤240°)
MuukColor=MuukColor-120°
b=1-(r+g)
BR영역(240°≤MukColor≤360°)
MuukColor=MuukColor-240°
r=1-(g+b)
3. 운필의 효과적 생성 UI방법
3-1. 개요
수묵화의 붓은 사용자의 쓰임에 따라 동일한 붓을 여러 가지 형태로 변형하여 쓸 수 있다
붓의 여러 가지 형태를 만들고 쓰는 단계를 운필이라 한다.
이때 붓의 끝을 다듬는 방법은 다양한데 실제 이러한 운필의 과정을 하나의 컴퓨터그래픽 UI를 통해 실현가능한 것으로 창안하였다.
3-2. 붓의 만들기 특수성(운필)
3-2-1. 붓의 재료
붓에 사용되는 재료는 주로 동물의 털이다.
채취한 동물의 털에 따라 여러 가지 성향을 갖는 붓이 만들어 질 수 있다. 사용하는 털은 토끼, 말, 고양이, 쥐, 원숭이, 물소, 흰 돼지, 닭, 학, 백조의 털 등이 사용된다. 동물의 털중에서 수묵에서 사용되는 일반적인 붓의 모필 성향은 길이가 길고 탄력이 있어서 드로잉시에 붓의 모양을 자유자재로 구사한다.
3-2-2. 붓의 만들기
붓의 모양을 만드는 방법은 붓을 뉘운 방향으로 순하게 끝을 모으는 방법과 역으로 거슬려 붓 끝이 갈라지게 하는 방법, 그리고 이 붓을 사용할 때 붓의 끝부분만으로 그림을 그리는 경우 붓의 두께가 작은 것이 되고 깊이 눌러 그리게 되면 같은 붓도 큰 붓으로 그리는 것과 같은 효과를 얻게 된다.
이러한 붓의 재료적 특성과 붓을 조성하는 단계의 특성을 고려 이처럼 복잡한 과정을 통합된 하나의 UI를 통해 효과적으로 제어하고 이용할 수 있게 하였다.
3-4. 수묵화 붓의 다양성 만들기 생성방법
수묵화는 특성상 어떤 정형화된 붓을 사용하지 않는다. 단지, 사용자의 임의적인 먹조절이나 형태변환을 통해 편리하게 사용한다. 그러므로서 유기적인 드로잉효과를 줄수 있게된다. 이에 대한 인터페이스 디자인을 위해 아래와 같이 기본적으로 좌우의 움직임은 붓의 끝모양을 나타낼 수 있으며, 위아래의 움직임은 붓의 두께조절을 가능하게 할수 있다. 마우스의 좌우의 움직임은 붓끝모양을 나타내며 , 위아래의 움직임은 붓의 두께를 조절한다.
브러쉬 운용 인터페이스
방 식 관련 변수 형 태 비 고
수평 움직임 -x, +x 붓끝모양 역봉(갈필), 편봉, 순봉
수직 움직임 -y, +y 붓 두께 대봉,중봉,소봉
자유 움직임 -x, +x, -y, +y 혼합
Interface상의 마우스 움직임좌표를 각각 (xn,yn), (xn+1,yn+1)이라 하면, 각 방향에 대한 움직임 합산함수를 다음과 같이 표현할수 있다.
ShapeOfBrush의 값의 증감에 따라, 초기 Dry_brush의 값이 변동하게 되며, WidthOfBrush의 값에 의해 초기 Brush_Width값이 변동하게 된다.
실제브러쉬와 산출방법
ShapeOfBrush/k 1
순봉 편봉 역봉(갈필)
0 50 100
WidthOfBrush/k 2
소봉 중봉 대봉 User Definition
0 60 100 not define
4. 먹 번짐의 불규칙한 효과표현 이중 마스크 시뮬레이션방법
4-1.개요
화선지에 먹이 번져가는 효과는 매우 불규칙적이지만 그 물리적 움직임을 보면 다음과 같이 분석 할 수 있다.
①화선지에 먹이 묻는 순간
②화선지의 표면은 먹을 빠르게 흡수하여 표면적을 가득 채우고
③ 얇의 화선지는 나머지 먹을 더 이상 수용할 수 없어 포화상태에 이른 표면적 안의 나머지 먹은
④중력과 표면장력으로 물분자끼리 서로 밀치며 바깥으로 번져나가게 된다.
⑤이때 무거운 먹의 알갱이는 중심에서 멀리벗어나지 않고
⑥상대적으로 가벼운 먹 알갱이가 물분자에 포함되어 먼 곳 가장자리 까지 이르게 된다
이때 화선지에 번져가는 먹은 붓에서 화선지로 전달되는 먹의 양과 정비례 관계를 갖게 되고 또한 지면에 붓을 지속적으로 접촉하고 있으면 그만 큼 화선지에 전달되는 먹의 양이 많아 지므로 번져가는 범위가 넓게 된다.
또한 이때 지면이 물에 적셔 있으면 화선지의 결의 모공이 닫혀있어 부드럽게 채워지게 되고 , 그렇지 않으면 화선지의 결에 따라 먹이 번져가게 된다.
또한 번짐의 현상은 지질과 매우 밀접한 관계가 있다.
화선지는 겉으로 보기에는 평평한 지면으로 보이지만 내부적으로는 무질서한 화선지의 결들이 서로 뒤엉켜 있다
4-2 마스크 분석
따라서 다채로운 먹이 번지는 현상은 먹색,선염,농담, 붓의 지질 , 붓의 크기, 붓의 기울기, 드로잉 속도에 의해 좌우 된다할 수 있다.
이러한 다양한 요인에 의한 먹이 번지는 현상을 표현하기위해서는 마스크를 사용하는 방법이다. 종이에 착색되기 전에 물과 먹은 혼합된 상태이다.
종이에 칠한 후 물과 먹의 양에 의해, 또 화선지의 종류에 따라 이것들이 서로 분리되었다, 혼합되었다하는 상태가 반복이 되면서, 물 분자의 움직임과 , 먹의 색소의 움직임이 종이에 착색되게 된다. 이때, 화선지의 독특한 흡수방식(불규칙적인 흡수)과 유저의 붓놀림등의 영향에 의해, 착색되는 형태가 거의 무한대로 다양하게 나타나게 된다.
이 과정을 두개의 레이어별로 분석을 하면,
제1레이어는 water & pigment layer 먹-물은 종이층 위에 존재하게된다.
제2레이어는 paper layer 색소의 흡수와 방출이 반복적으로 나타난다.
그러나 수묵화의 디지탈적인 모델링을 위해서는, 레이어단위의 분석이 번짐양상을 표현하는 데 효과적이지만 , 이에대한 드로잉툴로써의 면모를 갖추기 위해서는, 분석에 대한 효율적인 표현이 필요하다. 즉, 그 계산량이 많아지면 안되며, 최적화된 알고리즘이 필요하다.
우선 분석면에서 보면, 기본 마스크와 효과표현 마스크를 분리 분석하며, 이에 대한 방식은 다음과 같은 알고리즘을 통하게 된다.
이것을 그림으로 도해하면 다음과 같다.
물 + 먹층 - water & pigment layer
종이층 - paper layer
제 1레이어에서는
. 기존 붓의 굵기width, 획에 대한 초기 영역을 나타내며, 기본적인 색소와 물의 이동영역이 된다.
제2 레이어에서는
. 젖은 영역wet_area, 기본적으로 1의 값을 갖으며, 젖은 정도에 따라 그 값이 변동한다.
. 붓의 기울기slope, 첫 붓스템프의 형태를 나타내며, 360의 방향으로 이를체크한다.
. 붓의 움직임 속도velocityx, velocityy
. 붓의 끝 모양,brush_style
. 물과 먹과의 혼합정도density
. 종이 표면상태▽surface_paper, 양수와 음수값으로 그 기울기를 의미한다. 종이상태에 따라 그 제한적인 범위가 정해진다.(▽stats_paper)
. 종이 내부상태▽inner_paper, 액체의 번짐을 나타낸다.
액체의 움직임은 중력에 영향을 받으며, 만일 같은 조건이 주어진다면, 그 움직임은 동일하게 퍼져나간다. 이에대해, 어떤 장애물이 존재할 경우 그 움직임이 가속, 혹은 감속을 하게 되며, 결과적으로 불규칙한 움직임을 보이게 된다.
4-3. 마스크 구성과 기능
제 1레이어는 기본 마스크로 사용한다.
기본마스크의 구성과 기능은 다음과 같다.
구성 : 브러쉬선택영역(width), 색상(color), 번짐(spread), 기울기(slope)
기능 : 지질이 규칙적인 레이어상태에서 드로잉 시 나타나는 브러쉬효과 모델링 마스크
제 2의 마스크는 효과 표현 마스크이다.
효과표현 마스크의 구성과 기능은 다음과 같다.
구성 : 지질변수(surface_paper, inner_paper), 갈라짐변수(dry_brush), 농담변수(density), 물상태(wet)
기능 : 지질이 불규칙적인 레이어상태에서 드로잉시 나타나는 효과 모델링 마스크
기본마스크와 효과표현 마스크를 사용하여 실시간으로 모션 변수를 받아들이게 되면 실제 먹의번짐과붓의 움직임에 의한 다양한 먹의번짐을 표현 할 수 있게 된다.
모션변수는 다음과 같은 값들을 받아 들이고 있다.
구성 : 드로잉 속도에 의한 상태변화 변수
기능 : 고정적인 마스크에는 영향을 주지않으며, Mouse 이동시 영향을 주는 변수로, 브러쉬선택영역(width), 번짐(spread), 갈라짐변수(crash)에 영향을 준다.
4-4. 프로그램 구조
그러므로 이와 같은 마스크 알고리즘을 연산하여 시뮬레이션화하는 프로그램의 구조는 다음과 같이 구성 되어 있다.
4-4-1. Main loop
수묵화의 모델링 작업에서, 전체적인 루프를 보면, 일정 메모리영역에 존재하는 마스크를 이용하며, 각각의 함수들의 특징을 표현하는 방식을 사용한다. 먼저, 브러쉬의 할당영역에 의해 기본 마스크가 정의되며, 색값, 번짐상수, 기울기등에 의해 수묵화의 기본적인 속성이 부여된다. 또, 수묵화의 전형적인 특성을 나타내기 위해, 지질(화선지)의 속성과 브러쉬의 갈라짐, 농담, 기울기등의 효과표현 마스크를 조합하는 알고리즘방식이다. 이 알고리즘을 보면 다음과 같다.
procMainLoop(width,color,spread,slope,p,crash,density,wet,velocityx,velocityy):for each drawing step do
if MouseMove = true then
MotionBrush(velocityx,velocityy)
BaseMask(width,color,spread,slope)
EffectMask(surface_paper,innner_papaer,crash,density,slope,wet)
CombineMask(&memoryDC,surface_paper)
end for
endproc
4-4-2. BaseMask - effect of drawing on the standard layer
정규적인 레이어에 드로잉시 표현방식으로 아래 조건을 따른다.
물은 같은 조건을 주어졌을때, 동일한 방향으로 흐른다.
지질은 규칙적인 배열로 되어 있으며, 어떠한 불규칙 효과를 갖지 않는다.
기본적으로, 드로잉 영역은 width영역내에 color,slope,spread값에 의해서만, 그 효과가 나타난다.
color값은 현재의 색상을 나타낸다.
slope는 기본적인 브러쉬의 모양을 나타낸다.
spread값은 수묵화 내의 그라데이션효과에 영향을 주며, 그 값이 width의 범위내에 있다.
proc BaseMask
getCurrentBrushColor(color)
getCurrentBrushSlope(slope)
getCurrentSpread(spread)
setMemoryArea(&memoryDC,width)
for all pixel do
drawBaseStempToMemory(width,color,slope,spread)
end for
end proc
4-4-3. EffectMask
불규칙효과를 주기위한 레이어이며, 드로잉시 표현방식으로는 아래를 따른다.
불규칙효과에 영향을 주는 요소는 지질의 불규칙성이다.surface_paper,
inner_paper
suface_paper : 지질의 표면을 나타나는 상수이며, 색소이동속도에 영향을 준다.
inner_paper : 지질의 내부적인 요소를 나타내며, 번짐상수에 영향을 준다.
wet : 지질이 물함축성 여부를 의미하며, 이 값이 클수록, 번짐현상이 많이 일어나고, 이 값이 작으면 dry_brush현상이 일어난다.
proc EffectMask
getCurrentBrushWidth(width,inner_paper)
getCurrentPaperProperty(surface_paper,inner_paper)
getCurrentWetProperty(wet)
setMemoryArea(&memoryDC,width)
for all pixel do
drawEffectStempToMemory(width,getCurrentPaperProperty(..),getCurrentBrushWidth(..))
end for
end proc
4-4-4. Motion Effect
마우스 이동시의 효과를 나타내며, 이에 해당되는 효과는 다음에 분류된다.
기본적으로 영향을 주는 변수는 가로측과 세로측의 마우스이동속도에 좌우된다.
velocityx, velocityy : x,y방향의 이동속도를 의미하며, 이에의해 영향을 받는 변수는wet,width,spread가 영향을 받으며, 기본적인 알고리즘은 아래와 같다.
proc MotionBrush
setMotionBrush(getCurrentVelocity(velocityx,velocityy),wet,width,spread)
end proc
4-5. 함수관련 정의
함수 관련정의는 다음과 같이 정의 되어 있다.
4-5-1. 지질함수
proc hwasun_paper_production
setRangeOfPaper(paper_width,paper_height)
setTypeOfPattern(mode)
setRangeOfPattern(pattern_width,pattern_height)
for All pixel of paper
hwasun_paper[currentPositionX][CurrentPositionY]
← pattern[currentPositionX%pattern_width][currentPositionY%pattern_height]
end for
end proc
proc set_hwasun_paper_property
velocityx,velocityy ← ▽surface_paper
brush_width,spread,wet 1,2,..,n ←▽inner_paper
end proc
4-5-2. 번짐 함수
proc spread_width
sub_mask ← f 1 (surface_paper)·water_including(wet)
sub_mask' ← f 2 (inner_paper)·water_including(wet)
for All pixel of current brush mask
brush_mask x,y ← ∑sub_mask (0,0)(0,1)...(n,n)
brush_mask x,y ← ∑sub_mask' (0,0)(0,1)...(n,n)
end for
end proc
.
상기와 같은 수묵화 저작도구를 선택하여 마우스를 이용하여 그림을 그리게 될 때 그림판에 컬러를 표현하는 알고리즘을 보면
1) 마우스 포인터에 의해 특정화 된 위치의 색값을 추출한다.( GetPixel( ) )
2) 색값을 Red, Green, Blue의 정수 값으로 각각 추출한 뒤 , 그 값을 적용시킨다. (GetRValue,GetGValue,GetBValue)
컬러를 코딩하는 알고리즘을 하기와 같다.
void CSetColor::CheckColor(CPoint point)
long f;
int f_r, f_g, f_b;// 각 RGB값을 정수값으로 저장하는 변수
CDC *A = GetDC();
f = GetPixel (A->m_hDC, point.x, point.y);// 실질적으로
// 색값의 포인터를 얻어옴
f_r = GetRValue(f); // 32비트 저장된 값을 각 색깔
// 별로 RGB값에 저장한다.
f_g = GetGValue(f);
f_b = GetBValue(f);
m_EditRed = f_r; // 에디트 박스에 값을 넘겨줌
m_EditGreen = f_g;
m_EditBlue = f_b;
// 선택된 색깔을 표현한다.
CClientDC dc(this); // 화면 출력을 위한 DC 클래스
CRect rect;// 화면 크기를 얻기 위한 변수
CBrush brush, *pOldBrush; // 브러시 오브젝트
brush.CreateSolidBrush(RGB(f_r,f_g,f_b)); // 브러시 생성
pOldBrush = (CBrush *)dc.SelectObject(&brush); // DC에 브러시 선택
dc.Rectangle(OFFSETX,OFFSETY,OFFSETX+80,OFFSETY+30);
dc.SelectObject(pOldBrush);// DC 복원
UpdateData(FALSE);
theApp.m_pDlgBrushSelect->UpdateData(FALSE);
theApp.m_pDlgBrushSelect->Invalidate();
그리고 타임값에 의한 브러쉬 변화에 따른 알고리즘을 보면, 드로잉시 붓의 빠름과 느림에 의해 그 번짐의 정도가 다르게 된다. 예를 들어 천천히 움직일 경우 화선지와 먹의 번짐이 많아지고 , 반대의경우 적어져, 그림의 두껍고 얇은 양상이 나타난다.
1. 마우스 왼쪽 클릭 이벤트시 초기 타임값을 저장한다.
2. 마우스가 드래그 상태일 경우 각 값의 세팅과 킬링 타임을 체크하여, 브러쉬의 굵기값을 수정한다.
타임값에 의한 브러쉬 변화를 코딩하는 알고리즘을 하기와 같다.
void CSumukView::SetTime()
SYSTEMTIME lpSystemTime;// 시스템 시간 호출(set time)
::GetSystemTime(&lpSystemTime);
wMs = lpSystemTime.wMilliseconds;
wS = lpSystemTime.wSecond;
wM = lpSystemTime.wMinute;
wH = lpSystemTime.wHour;
int CSumukView::KillTime()
SYSTEMTIME lpSystemTime;// 시스템 시간 호출
::GetSystemTime(&lpSystemTime);
wMs = lpSystemTime.wMilliseconds - wMs;
wS = lpSystemTime.wSecond - wS;
wM = lpSystemTime.wMinute - wM;
wH = lpSystemTime.wHour - wH;
int delaytime;
delaytime = wH*1000*60*60 + wM*1000*60 + wS*1000 + wMs;
return nTreatFunc(delaytime);// 리니어한 시간표현을 곡선식을
// 이용하여, 부드럽운 변화를
// 유도하는 함수
그리고 브러시 번짐 효과를 보면, 수묵화의 표현에 있어서 빼놓을수 없는 것이, 물에 의한 효과이다. 컴퓨터에서는 단순한 그라데이션효과로써 그 유사함을 표현할수 있을 것이다. 거시적으로 볼 때, 붓의 중앙부분에서 바깥부분으로 갈수록 그 색이 옅어 지는 효과를 들수 있다.
이것을 표현하기 위해, 중앙 거리에 따라 그 기울기가 마이너스인 함수를 이용한다.
위 그림은 거리와 색의 농도와의 상관관계를 나타내는 그래프이다.
slope = -1인 함수 구현
먼저 단순한 직선의 방정식을 표현하면, y=-x+a (a:양의 정수)
이때, 컬러의 최대값은 256(0 - 255) 이고, 중심점에서의 거리를 W1, 번짐까지의 거리를 W2라 하면, 컬러는 W2 - W1의 영역에서 현재 선택되어진 컬러에서 255컬러까지 변화를 갖아야 한다.
현재 선택된 컬러(C)= 255-C/W2-W1가 된다.
그러므로, 최종적으로 중앙에서의 그에 따른 색깔은 Y = Y×(255-C)/W2-W1)와 같은 함수로 표현된다.
또한 기본 브러쉬를 수행하기 위한 알고리즘은 다음과 같다.
1) 현재 선택되어진 색깔값을 R,G,B 별로 값을 구분하여 저장한다.
2) 각 색깔값 별로 기울기(slope)가 마이너스인 함수를 적용시키며, 선택된 굵기 값까지 루프를 형성한다. 이때 화면에 직접 출력하지 않고, 일정 메모리를 할당하여, 그 메모리에 그린다.
3) 최종적으로 메모리 맵에 그려진 브러쉬를 화면에 출력하고, 마무리 짓는다.
그리고 기본 브러쉬에 대한 코딩은 다음과 같다.
// 메모리 DC에 그림을 그림
if (nSW != nW)
// 각 색깔별로 RGB변수를 추출한다.
nR=GetRValue(m_Clr);
nG=GetGValue(m_Clr);
nB=GetBValue(m_Clr);
nSR=nSG=nSB=255;
// 루프시작
for (int i = nSW ; i > nW ; I--)
// 기울기가 마이너스인 직선의 방정식을 이용한다.
nSR = nSR - (255-nR)/(nSW-nW);
nSG = nSG - (255-nG)/(nSW-nW);
nSB = nSB - (255-nB)/(nSW-nW);
//펜과 브러시 속성을 변경
CBrush sbrush, *pOldSBrush; // 브러시 오브젝트
sbrush.CreateSolidBrush(RGB(nSR,nSG,nSB)); // 브러시 생성
pOldSBrush = (CBrush *)BufferDC.SelectObject(&sbrush);
CPen spen,*pOldSPen;
spen.CreatePen(PS_SOLID,1,RGB(nSR,nSG,nSB));
pOldSPen = (CPen *)BufferDC.SelectObject(&spen);
// 메모리 맵에 그림
BufferDC.Ellipse(nSW-i,nSW-i,i,i);
BufferDC.SelectObject(pOldSPen);// DC 복원
BufferDC.SelectObject(pOldSBrush);// DC 복원
BufferDC.Ellipse((nSW-nW)/2, (nSW-nW)/2, nW+(nSW-nW)/2, nW+(nSW-nW)/2);
// 메모리 비트맵에 그려진 내용을 화면으로 전송
// 겹침 효과를 주기 위해 SRCAND를 사용함
dc.BitBlt(pt.x-nSW/2,pt.y-nSW/2,nSW,nSW, &BufferDC, 0, 0, SRCAND);
또한 불규칙 브러쉬에 대한 알고리즘은 다음과 같다.
메모리 맵에 그려진, 초기 기본브러쉬에 마스킹 기법을 이용하여, 도 12와 같이 기본브러쉬+랜덤마스크를 합성하여 불규칙함을 표현한다.
그리고 불규치 브러쉬에 대한 코딩은 다음과 같이 한다.
// 메모리 DC에 그림을 그림
if (nSW != nW)
// 각 색깔별로 RGB변수를 추출한다.
nR=GetRValue(m_Clr);
nG=GetGValue(m_Clr);
nB=GetBValue(m_Clr);
nSR=nSG=nSB=255;
// 루프시작
for (int i = nSW ; i > nW ; I--)
// 기울기가 마이너스인 직선의 방정식을 이용한다.
nSR = nSR - (255-nR)/(nSW-nW);
nSG = nSG - (255-nG)/(nSW-nW);
nSB = nSB - (255-nB)/(nSW-nW);
//펜과 브러시 속성을 변경
CBrush sbrush, *pOldSBrush; // 브러시 오브젝트
sbrush.CreateSolidBrush(RGB(nSR,nSG,nSB));// 브러시 생
//성
pOldSBrush= (CBrush *)BufferDC.SelectObject(&sbrush);
CPen spen,*pOldSPen;
spen.CreatePen(PS_SOLID,1,RGB(nSR,nSG,nSB));
pOldSPen = (CPen *)BufferDC.SelectObject(&spen);
// 메모리 맵에 그림
BufferDC.Ellipse(nSW-i,nSW-i,i,i);
BufferDC.SelectObject(pOldSPen);// DC 복원
BufferDC.SelectObject(pOldSBrush);// DC 복원
// 불규칙 마스크를 생성한다.
for(int x=0; x<nSW ; x++)
for(int y=0; y<nSW ; y++)
if(rand() % b == 0)// b는 불규칙 정도를 조절하는 변수
bufferDC.SetPixel(x,y,RGB(WHITE));
// 불규칙이 없는 부분을 최종적으로 그려준다.
BufferDC.Ellipse((nSW-nW)/2, (nSW-nW)/2, nW+(nSW-nW)/2, nW+(nSW-nW)/2);
// 메모리 비트맵에 그려진 내용을 화면으로 전송
// 겹침 효과를 주기 위해 SRCAND를 사용함
dc.BitBlt(pt.x-nSW/2,pt.y-nSW/2,nSW,nSW, &BufferDC, 0, 0, SRCAND);
그리고 불규칙 갈필 효과 브러쉬은 마지막의 불규칙을 없는 부분을 제거해 줌으로써, 효과적으로 갈필효과를 나타낼수 있다.
방사형 브러쉬의 알고리즘은 다음과 같다.
먼저 각에 따른 원을 형성하는 함수를 만들어야 한다. 이때 적절한 방법이 krute정리를 이용할수 있다.
반지름이 1인고, 원의 원주를 이루는 좌표를 x,y라 하면 아래와 같은 식은 항상 참이라는 것을 알 것이다. X2+Y2=1 여기서, 라디안의 개념으로 변환하면 sin2θ+cos2θ=1이 된다. 반지름을 r이라 하면, 각에 의한 좌표는 다음과 같이 나타낸다.
(X,Y) ⇔ (rcosθ,rsinθ)
방사형 브러쉬의 코딩은 라디안 값을 사용하기 위해 더블형으로 선언한다.
double dx, dy;
double fi;
srand((unsigned)time(NULL));
b = theApp.m_pDlgBrushSelect->m_bRandomDegree.GetPos();
nR=GetRValue(m_Clr);
nG=GetGValue(m_Clr);
nB=GetBValue(m_Clr);
for(i=0 ; i<180 ; i+i+6)
CPen spen, *OldSPen;
spen.CreatePen(PS_SOLID, 1, RGB(nR,nG,nB);
pOldSPen = (CPen *)BufferDC.SelectObject(&spen);
fi = (PI/180) * I;// Degree를 라디안으로 변환한다.
dx = nSW/2 * cos(fi);// 원주율 함수를 적용
dy = nSW/2 * sin(fi);
// 중심에서 원주까지 직선을 그린다.
BufferDC.MoveTo(nSW/2, nSW/2);
BufferDC.LineTo(nSW/2 - (int) dx, nSW/2 - (int)dy);
BufferDC.MoveTo(nSW/2, nSW/2);
BufferDC.LineTo(nSW/2 + (int)dx, nSW/2 + (int) dy);
BufferDC.SelectObject(pOldSPen);
그리고 고딕형 브러쉬의 코딩은 다음과 같다.
// 메모리 DC에 그림을 그림
if (nSW != nW)
// 각 색깔별로 RGB변수를 추출한다.
nR=GetRValue(m_Clr);
nG=GetGValue(m_Clr);
nB=GetBValue(m_Clr);
nSR=nSG=nSB=255;
// 루프1 시작
for (int i = nSW ; i > nSW/2 ; I--)
// 펜을 만듬
CPen spen,*pOldSPen;
spen.CreatePen(PS_SOLID,1,RGB(nSR,nSG,nSB));
pOldSPen = (CPen *)BufferDC.SelectObject(&spen);
// 메모리 맵에 그림
BufferDC.MoveTo(nSW/2, nSW/2);
BufferDC.LineTo(i, nSW/2 -i);
BufferDC.MoveTo(i, nSW/2);
BufferDC.LineTo(i, nSW/2);
BufferDC.SelectObject(pOldSPen);// DC 복원
BufferDC.SelectObject(pOldSBrush);// DC 복원
// 루프2 시작
for (int i = nSW/2 ; i > nSW ; I--)
// 펜을 만듬
CPen spen,*pOldSPen;
spen.CreatePen(PS_SOLID,1,RGB(nSR,nSG,nSB));
pOldSPen = (CPen *)BufferDC.SelectObject(&spen);
// 메모리 맵에 그림
BufferDC.MoveTo(i, 0);
BufferDC.LineTo(i, nSW/2);
BufferDC.MoveTo(i, nSW/2);
BufferDC.LineTo(i, nSW);
BufferDC.SelectObject(pOldSPen);// DC 복원
BufferDC.SelectObject(pOldSBrush);// DC 복원
// 불규칙이 없는 부분을 최종적으로 그려준다.
BufferDC.Ellipse((nSW-nW)/2, (nSW-nW)/2, nW+(nSW-nW)/2, nW+(nSW-nW)/2);
// 메모리 비트맵에 그려진 내용을 화면으로 전송
// 겹침 효과를 주기 위해 SRCAND를 사용함
dc.BitBlt(pt.x-nSW/2,pt.y-nSW/2,nSW,nSW, &BufferDC, 0, 0, SRCAND);
상술한 바와 같이 본 발명은 컴퓨터상에서 가장 중요한 부분을 차지하는 먹의 불규칙한 번짐 즉, 솜털처럼 번지는 현상, 붓의 갈기가 생기는 번짐현상, 먹이 번져 나가다 멈추면서 가장자리가 경계가 뚜렷해지면 진해지는 현상, 먹이 뭉치며 불규칙한 붓갈기가 생기는 현상, 모서리진 붓을 구현하여 실제 지면에 수묵화를 그릴 때와 유사한 효과를 낼수 있다.
또한 컴퓨터상에서 그래픽 툴에 의해 수묵화 저작도구를 제공하여 전통적인 수묵화를 재현하는 도구로 실용화 될 수 있을 것이며, 컴퓨터를 활용한 다양한 수묵화 편집 및 저작이 가능한 효과가 있다.

Claims (10)

  1. 수묵화 그래픽 저작도구 형성방법에 있어서,
    컴퓨터상에서 수묵화 프로그램을 실행시키는 과정과,
    상기 수묵화 프로그램을 실행할 시 운필 및 조묵과 화선지를 선택하기 위한 메뉴바를 표시하는 과정과,
    상기 표시된 화선지를 선택하기 위한 메뉴바에서 다수의 화선지중 원하는 하나를 선택하는 과정과,
    상기 표시된 운필 메뉴바에서 다수의 운필종류중 원하는 운필을 선택하는 과정과,
    상기 표시된 조묵 메뉴바에서 다수의 조묵중 원하는 조묵을 선택하는 과정으로 이루어짐을 특징으로 하는 수묵화 저작도구 형성방법.
  2. 제1항에 있어서,
    상기 선택한 조묵 및 운필에 대응하는 붓을 선택하여 상기 선택한 화선지에 해당하는 그림판에서 그림을 저작하는 과정을 더 구비함을 특징으로 하는 수묵화 저작도구 형성방법.
  3. 제2항에 있어서,
    상기 표시된 조묵 메뉴바에서 마우스를 이용하여 조묵판을 마찰시켜 묵의 농도를 조절하는 과정을 더 구비함을 특징으로 하는 수묵화 저작도구 형성방법.
  4. 제1항에 있어서,
    상기 화선지 선택과정에서 원하는 화선지를 선택할 시 상기 선택한 화선지에 대한 그림판을 표시하는 과정을 더 구비함 특징으로 하는 수묵화 저작도구 형성방법.
  5. 제1항에 있어서,
    상기 화선지의 종류는 추선지, 옥반잔지, 저피지, 화지임을 특징으로 하는 수묵화 저작도구 형성방법.
  6. 제1항에 있어서,
    상기 운필의 종류는 붓의 종류, 붓의 크기, 먹의 번짐에 대한 불규칙정도, 먹의 번짐정도임을 특징으로 하는 수묵화 저작도구 형성방법.
  7. 제1항에 있어서,
    상기 조묵의 종류는 먹의 색깔, 먹의 투명도, 먹의 농도임을 특징으로 하는 수묵화 저작도구 형성방법.
  8. 제2항에 있어서,
    상기 그림저작과정에서 그림을 저작할 시 기본 브러쉬마스킹값과 램덤마스킹값을 합성하여 상기 선택한 화선지에 붓에 묻은 묵이 불규칙하게 번지도록 하는 과정을 더 구비함을 특징으로 하는 수묵화 저작도구 형성방법.
  9. 제2항에 있어서,
    상기 상기 조묵의 농도 조절과정에서 마우스를 이용하여 조묵접시에 커서를 이동시킨 후 시계방향으로 마찰을 시킬 경우 먹의 농도가 진해지고, 시계반대방향으로 마찰시킬 경우 먹의 농도가 연해짐을 특징으로 하는 수묵화 저작도구 형성방법.
  10. 제3항에 있어서,
    상기 조묵선택과정에서 먹의 색깔과 먹의 투명성, 물과 먹의 배합에 따른 농도에 의해 생성함을 특징으로 하는 수묵화 저작도구 형성방법.
KR10-2000-0085978A 2000-12-29 2000-12-29 수묵화 그래픽 저작도구 형성방법 KR100430713B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0085978A KR100430713B1 (ko) 2000-12-29 2000-12-29 수묵화 그래픽 저작도구 형성방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0085978A KR100430713B1 (ko) 2000-12-29 2000-12-29 수묵화 그래픽 저작도구 형성방법

Publications (2)

Publication Number Publication Date
KR20020056594A true KR20020056594A (ko) 2002-07-10
KR100430713B1 KR100430713B1 (ko) 2004-05-10

Family

ID=27689088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0085978A KR100430713B1 (ko) 2000-12-29 2000-12-29 수묵화 그래픽 저작도구 형성방법

Country Status (1)

Country Link
KR (1) KR100430713B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008105606A1 (en) * 2007-02-26 2008-09-04 Hankuk University Of Foreign Studies Research And Industry-University Cooperation Foundation Reconstructing three dimensional oil paintings
KR101330908B1 (ko) * 2006-11-14 2013-11-18 엘지전자 주식회사 이동 단말기에서 비접촉 센서를 이용한 그리기 기능을구현하는 방법
CN110610532A (zh) * 2019-08-12 2019-12-24 安徽石轩文化科技有限公司 一种水墨流动性元素动画特效制作方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330908B1 (ko) * 2006-11-14 2013-11-18 엘지전자 주식회사 이동 단말기에서 비접촉 센서를 이용한 그리기 기능을구현하는 방법
WO2008105606A1 (en) * 2007-02-26 2008-09-04 Hankuk University Of Foreign Studies Research And Industry-University Cooperation Foundation Reconstructing three dimensional oil paintings
KR100967701B1 (ko) * 2007-02-26 2010-07-07 한국외국어대학교 연구산학협력단 3차원 유화 데이터의 복원
US8817037B2 (en) 2007-02-26 2014-08-26 Hankuk University Of Foreign Studies Research And Industry-University Cooperation Foundation Reconstructing three dimensional oil paintings
CN110610532A (zh) * 2019-08-12 2019-12-24 安徽石轩文化科技有限公司 一种水墨流动性元素动画特效制作方法
CN110610532B (zh) * 2019-08-12 2023-08-01 安徽石轩文化科技有限公司 一种水墨流动性元素动画特效制作方法

Also Published As

Publication number Publication date
KR100430713B1 (ko) 2004-05-10

Similar Documents

Publication Publication Date Title
US5767860A (en) Digital mark-making method
US5384899A (en) Apparatus and method for emulating a substrate
US6198489B1 (en) Computer generated watercolor
Takgi et al. Volumetric modeling of colored pencil drawing
Annum Digital painting evolution: A multimedia technological platform for expressivity in fine art painting
JPH11202758A (ja) 画家の描画または彩画の作成をシュミレーションする方法、およびその方法を達成するための装置
Geng The algorithms and principles of non-photorealistic graphics: artistic rendering and cartoon animation
KR100430713B1 (ko) 수묵화 그래픽 저작도구 형성방법
Baxter III Physically-based modeling techniques for interactive digital painting
Rudolf et al. A bidirectional deposition model of wax crayons
Guo Generating realistic calligraphy words
Tallon Digital Fashion Illustration: With Photoshop and Illustrator
Hume Fashion and textile design with Photoshop and Illustrator: professional creative practice
Reynolds Stylized depiction in computer graphics
Asogwa et al. EXPLORING NEGATIVE-POSITIVE DRAWING: AN EXPERIMENT
Onwuekwe Trends in Illustration: A digital approach to large format illustrations on Igbo folklore.
Andrews Adobe Photoshop CS2 A-Z: Tools and features illustrated ready reference
Wong et al. Visual Design On The Computer 2e
Nunes et al. Perception-based painterly rendering: funcionality and interface design
Covey Photoshop for artists: a complete guide for fine artists, photographers, and printmakers
Mao et al. AtelierM: a physically based interactive system for creating traditional marbling textures
Недзельська Digital drawing tools
Jenkins Smashing Photoshop CS5: 100 Professional Techniques
Robles Sketchbook Pro Digital Painting Essentials
Scott-Baron Manga Clip Art: Everything You Need to Create Your Own Professional-Looking Manga Artwork

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee