WO2014038217A1 - テクスチャ描画支援装置 - Google Patents
テクスチャ描画支援装置 Download PDFInfo
- Publication number
- WO2014038217A1 WO2014038217A1 PCT/JP2013/050292 JP2013050292W WO2014038217A1 WO 2014038217 A1 WO2014038217 A1 WO 2014038217A1 JP 2013050292 W JP2013050292 W JP 2013050292W WO 2014038217 A1 WO2014038217 A1 WO 2014038217A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- texture
- gesture
- mode
- input
- drawing canvas
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
Definitions
- the present invention relates to a technique for performing image processing using a personal computer or the like, and more particularly to a technique for supporting texture drawing.
- a technique of mapping a texture on the surface of a drawing object is widely used in order to enhance the texture of the drawing object.
- a method of creating (drawing) a texture a method of creating a texture by synthesizing a template such as a three-dimensional model or a two-dimensional image is known (for example, see Non-Patent Document 1).
- a method for creating a texture a method is also known in which a stroke pattern is created by detecting features of a stroke input by a user, and a texture is created by synthesizing the created stroke pattern (for example, Non-patent document 2).
- the present invention has been made in view of the above situation, and an object of the present invention is to provide a technique capable of drawing a texture by a simple operation without impairing the handwriting input by the user.
- a part of the handwritten input texture can be edited by an intuitive gesture.
- the present invention provides a texture drawing support apparatus for creating and editing a texture based on a stroke input by handwriting on a display screen.
- a drawing canvas for displaying a stroke input by handwriting, and an interface means for displaying an element display area for displaying an element as a texture base on the display screen;
- Image output means for displaying the stroke input on the drawing canvas on the drawing canvas;
- a gesture that passes through at least one stroke displayed on the drawing canvas is input, a plurality of strokes displayed on the drawing canvas are combined to create one element, and the created element is Element creating means for registering in the element display area;
- a combining unit that combines the selected elements to create a texture; I was prepared to.
- the texture drawing support apparatus configured as described above, when a gesture is input after a part of the texture is drawn by the user, the part of the drawn texture is automatically registered as an element.
- the elements are synthesized according to the gesture to create a texture.
- the texture created as described above is created using an element handwritten by the user, the texture can be created without impairing the texture of the user handwritten input.
- elements are synthesized, that is, textures are created according to gestures that can be intuitively performed by the user, it is not necessary for the user to perform complicated parameter operations, and it is not necessary to learn complicated operations.
- the interface means may display on the display screen a button display area for displaying buttons for selecting a plurality of modes including an element creation mode and a synthesis mode for synthesizing elements.
- the element creating means is input with a stroke with the element creating mode selected, and then with a gesture that passes through at least one stroke displayed on the drawing canvas with the compositing mode selected.
- the element creation mode is selected, one stroke may be created by combining all the strokes input, and the created element may be registered in the element display area. According to such a configuration, the user can easily switch between the element creation work and the element composition work.
- composition mode may include at least one of a brush mode, a hatching mode, and a paint mode.
- the brush mode is a mode for creating a texture along a path designated by a gesture.
- the hatching mode is a mode in which hatching is performed on an area designated on the drawing canvas.
- the fill mode is a mode for filling a specified area on the drawing canvas.
- the composing means creates a texture by linearly combining elements along a path specified by the gesture when a gesture is input on the drawing canvas. May be. At this time, it is desirable that the orientation (orientation) of each element be parallel to the tangential direction of the gesture path at the position where each element is arranged. According to such a configuration, the user can determine the length of the texture and the degree of bending by designating the length of the path and the degree of bending with the gesture.
- the compositing unit linearly combines the elements in the direction designated by the gesture in the designated area, An element is arranged parallel to the primary combined element in a margin part between the primary combined element and the boundary of the designated area, and stitching is performed between adjacent elements in a direction orthogonal to the direction specified by the gesture.
- a texture may be created.
- the user can perform seamless hatching on a desired area by specifying the area to be hatched and inputting a gesture.
- the composing unit When the fill mode is selected, the composing unit performs a process of tiling the selected element in the designated area when a gesture is input in the designated area on the drawing canvas, and the selected element.
- the process of searching for the optimum sample having the highest proximity similarity from the first and the process of moving the position of the sample arranged in the designated region to a position having the proximity similarity equivalent to the optimum sample is performed. You may make it create. According to such a configuration, the user can apply a paint with less visual discomfort to a desired area by inputting the designation of the area to be painted and a gesture.
- the interface means may display a button for selecting the adjustment mode in the button display area in addition to the button for selecting the element creation mode and the composition mode.
- the texture drawing support apparatus selects the adjustment mode in a state where the texture created by the synthesis unit is displayed on the drawing canvas, and then inputs the gesture on the drawing canvas, and then the texture drawing according to the gesture.
- Adjustment means for changing the configuration may be further provided. The user can intuitively change the texture configuration by inputting a gesture after creating the texture.
- the adjustment mode may include at least one of a gesture editing mode, a flow / field mode, and a perspective mode.
- the gesture editing mode is a mode for adjusting the path of the gesture input when the synthesizing unit creates the texture.
- the flow field mode is a mode for adjusting the orientation of the elements included in the texture created by the synthesizing means.
- the perspective mode is a mode in which a perspective effect is imparted to the texture by inclining the texture created by the synthesis unit on the drawing canvas.
- the adjusting unit displays the gesture path input when the texture is created on the drawing canvas when the gesture designating the texture display area on the drawing canvas is input.
- the gesture editing mode is selected in a state where the gesture path is redisplayed and a gesture for changing the gesture path is input, and the orientation of the element along the changed gesture path and And a process for changing the position. According to such a configuration, the user can intuitively change the degree of bending of the texture.
- the adjustment means when a gesture passing through the texture display area on the drawing canvas is input, the elements constituting the texture along the path specified by the gesture. Change the orientation. According to such a configuration, the user can intuitively change the orientation of the elements constituting the texture.
- the adjustment unit tilts the texture in the direction specified by the gesture when a gesture that passes through the texture display area on the drawing canvas is input. According to such a configuration, the user can give a perspective effect to the texture by an intuitive operation, and can also give a stereoscopic effect to the texture.
- the present invention can also be understood as a texture drawing support method for creating and editing a texture based on a stroke input by handwriting on a display screen. That is, the present invention includes a step of causing a computer to display a drawing canvas for displaying a stroke input by handwriting and an element display area for displaying an element serving as a texture base on a display screen; Causing the computer to display a stroke input on the drawing canvas on the drawing canvas; When a computer inputs a gesture that passes at least one stroke displayed on the drawing canvas, the computer creates a single element by combining a plurality of strokes displayed on the drawing canvas. Registering the selected element in the element display area; When a computer inputs a gesture with one of the elements registered in the element display area selected, and creates a texture by synthesizing the selected elements; It can also be understood as a texture drawing support method including
- the present invention can also be understood as a program for causing a computer to execute each step of the texture drawing support method described above, or a recording medium on which the program is recorded.
- the texture can be drawn by a simple operation without impairing the texture of the user's handwriting input.
- FIG. 1 is a diagram schematically illustrating a schematic configuration and a functional configuration of a texture drawing support apparatus according to an embodiment of the present invention.
- the texture drawing support apparatus displays a computer 1 having hardware resources such as a CPU, a memory, and an auxiliary storage device, a menu for inputting instructions, a toolbar, a tool button, and the like, and an output result of characters, figures, and the like.
- Display 2 and a mouse 3 as a pointing device.
- the computer 1 can be realized by installing a program in a general-purpose personal computer, a tablet terminal, a smartphone, or the like, or can be configured as a dedicated device.
- a touch pad or a tablet pen can be used instead of a mouse.
- a smartphone or the like having a touch panel or a touch screen is used as the computer 1, the user can perform an input operation with a finger instead of the mouse 3.
- the computer 1 has a functional configuration as shown in FIG. That is, the computer 1 includes an interface unit 10, an image output unit 11, an element creation unit 12, a synthesis unit 13, and an adjustment unit 14. These functional configurations are realized by the CPU executing a program stored in the memory. Hereinafter, each component will be described.
- the interface unit 10 displays a GUI (Graphical User Interface) on the display screen of the display 2.
- GUI Graphic User Interface
- the interface unit 10 includes a drawing canvas 20, a main toolbar 21, a file edit toolbar 22, a patch plate 23, a patch toolbar 24, a background palette 25, and a selected patch 26.
- the GUI is displayed.
- the drawing canvas 20 is a work area for the user to draw using the mouse 3.
- the main toolbar 21 is an area for displaying buttons for selecting various tools.
- the file edit toolbar 22 is an area for displaying command buttons for saving an image file including a texture created on the drawing canvas 20, reading an image file recorded in a memory, canceling a user operation, and the like. It is.
- the patch plate 23 is an area for displaying a part (element) of the texture created by the user's handwriting input, and corresponds to an element display area according to the present invention.
- the patch toolbar 24 is an area for displaying command buttons for deleting elements displayed on the patch plate 23.
- the background palette 25 is an area for displaying a background image template of the drawing canvas 20.
- the selected patch 26 is an area for displaying an element selected by the user among the elements displayed on the patch plate 23.
- the main tool bar 21 includes a pen tool button 210, a brush tool button 211, a fill tool button 212, a mask tool button 213, a selection tool button 214, a gesture edit button 215, an example stroke, A button 216, a hatch tool button 217, a flow field button 218, a zoom button 219, a tilt point button 220, a pencil button 221, a density adjustment slider 222, a thickness adjustment slider 223, and the like.
- the pen tool button 210 is a button for selecting a pen mode for drawing a drawing object such as a figure or a character on the drawing canvas 20.
- the brush tool button 211 is a button for selecting a brush mode for drawing using an element created by the user.
- the fill tool button 212 is a button for selecting a fill mode in which fill is performed using an element created by the user.
- the mask tool button 213 is a button for selecting a mask mode for arbitrarily designating an area on the drawing canvas 20 using the mouse 3.
- the selection tool button 214 is a button for selecting a selection mode for specifying a texture to be edited among the textures drawn on the drawing canvas 20.
- the gesture editing button 215 is a button for selecting a gesture editing mode for editing a path of a gesture input by the mouse 3.
- the example stroke button 216 is a button for selecting an element creation mode for creating an element that becomes a part of the texture on the drawing canvas 20.
- the hatch tool button 217 is a button for selecting a hatching mode in which hatching is performed using an element created by the user.
- the flow field button 218 is a button for selecting a flow field mode for editing the orientation of elements in the texture.
- the zoom button 219 is a button for selecting a zoom mode for enlarging the drawing object.
- the viewpoint tilt button 220 is a button for selecting a perspective mode for changing the tilt of the viewpoint with respect to the texture.
- the pencil button 221 is a button for selecting a pencil mode for drafting an outline of a drawing object on the drawing canvas 20.
- the density adjustment slider 222 is a slider that adjusts the density of elements in the texture created on the drawing canvas 20 (the interval between adjacent elements in the texture).
- the thickness adjustment slider 223 is a slider that adjusts the thickness of a line (stroke) constituting an element in the texture.
- the image output unit 11 outputs a drawing object drawn by the user in the pen mode or the pencil mode on the drawing canvas 20. In addition, the image output unit 11 outputs the stroke handwritten by the user in the element creation mode on the drawing canvas 20.
- the element creation unit 12 creates an element by combining a plurality of strokes input on the drawing canvas 20 in the element creation mode, and registers the created element in the patch plate 23 (the patch plate is registered by the interface unit 10). 23).
- the stroke input in the element creation mode is output on the drawing canvas 20 by the image output unit 11 (see FIGS. 4A, 5A, and 6A).
- the user clicks the mouse 3 on the brush tool button 211, the fill tool button 212, or the hatch tool button 217 to select the brush mode, the fill mode, or the hatch mode. To do. Subsequently, the user passes through at least one of the plurality of strokes displayed on the drawing canvas 20 as indicated by the dashed-dotted arrows in FIGS. 4B, 5B, and 6B. Enter the gesture you want.
- the gesture input method may be a method of dragging the mouse 3 as in the case of stroke input.
- the element creating unit creates one element by combining all strokes inputted in the previous element creating mode. The elements created in this way are registered and displayed on the patch plate 23 as shown in FIGS. 4 (c), 5 (c) and 6 (c).
- the orientation of the elements registered in the patch plate 23 is determined according to the direction in which the gesture passes through the stroke. Therefore, the user can intuitively change the orientation of the element.
- the synthesis unit 13 automatically creates a texture by synthesizing elements according to a gesture input by the user in the brush mode, the paint mode, or the hatching mode.
- a gesture input by the user in the brush mode, the paint mode, or the hatching mode.
- the combining unit 13 performs a gesture when a gesture that passes the stroke input in the element creation mode is input. Linearly combine elements along the path specified by. At that time, the orientation (orientation) of each element is determined based on the tangential direction of the gesture path at the position where each element is arranged. That is, the direction of each element is made parallel to the tangential direction of the gesture path. Further, the distance between adjacent elements is calculated from the size of the element registered in the patch plate 23.
- the synthesizing unit 13 selects the selected element (FIG. 7A ) Is linearly coupled along the gesture path (element surrounded by a solid line) (FIG. 7B).
- the compositing unit 13 receives an element when a gesture that passes the stroke input in the element creation mode is input. Is combined to create a texture having the same shape as the area designated in advance. Note that the user needs to specify a filled area before inputting a gesture.
- designating a fill area the user first clicks the mask tool button 213 to select a mask mode, and then designates the fill area by dragging the mouse 3 on the drawing canvas 20. .
- the user selects the element creation mode after designating the filled area, and draws a part of the texture in the designated area. Then, the user only has to select a painting mode and input a gesture that passes through a part of the texture displayed in the previous designated area.
- a gesture is input into a designated area on the drawing canvas 20. do it.
- the combining unit 13 combines the elements selected in the area specified by the gesture. Create a texture.
- the synthesis unit 13 executes the process of tiling the selected element in the designated area, and then searches for the optimum sample having the highest proximity similarity from the selected element, and is arranged in the designated area. Iterative optimization is performed by repeating the process of moving the position of the sample to a position having close similarity similar to that of the optimum sample.
- the synthesis unit 13 first tiles the selected element (FIG. 8A) in the designated area (FIG. 8B). Next, the synthesizer 13 synthesizes elements based on the EM algorithm. For example, the synthesizing unit 13 searches for the optimum sample (the figure enclosed by the broken line in FIG. 9A) having the highest proximity similarity based on the similarity metric from the selected element (Search Step) and the designation Processing for moving the position of the figure surrounded by the broken line in the region sample (FIG. 9B) to a position equivalent to or close to the proximity similarity of the optimum sample (FIG. 9C, FIG. 9D) ( Execute Assignment (Step).
- the synthesizing unit 13 searches for the optimum sample (the figure enclosed by the broken line in FIG. 9A) having the highest proximity similarity based on the similarity metric from the selected element (Search Step) and the designation Processing for moving the position of the figure surrounded by the broken line in the region sample (FIG. 9B) to a position equivalent to or close
- These Search Step and Assignment Step may be repeatedly executed for each sample in the designated area, or may be executed only for the sample arranged at the boundary portion of the element tiled in the designated area. Note that the above-described Search Step and Assignment Step are repeatedly executed.
- a texture approximate to an element can be created as shown in FIGS. 8C and 8D.
- orientation of the element in the filled area is in accordance with the orientation of the element registered in the patch plate 23.
- the synthesizing unit 13 receives an element when a gesture that passes through the stroke input in the element creation mode is input. Is combined to create a texture having the same shape as the area designated in advance. Note that the user needs to specify a hatching area before inputting a gesture.
- the procedure for specifying the hatched area is the same as the procedure for specifying the filled area described above.
- a gesture is input into a designated area on the drawing canvas 20. do it.
- the combining unit 13 combines the elements selected in the area specified by the gesture. Create a texture.
- the synthesis unit 13 first one-dimensionally joins the elements along the gesture path (FIG. 10B). In this case, the orientation of each element is made parallel to the tangential direction of the gesture path, as in the brush mode described above. Subsequently, the synthesizing unit 13 arranges elements parallel to each element of the element group in a blank area between the one-dimensionally coupled element group and the boundary of the designated area. That is, the synthesis unit 13 arranges duplicates on both sides or one side of each element of the element group. Then, the synthesis unit 13 creates seamless hatching (texture) by stitching between adjacent elements in a direction orthogonal to the gesture path.
- seamless hatching texture
- an element is a set of strokes, and each stroke is a set of two-dimensional points.
- the element can be replaced with a two-dimensional point. Therefore, when combining elements in each mode described above, the combining unit 13 calculates only the coordinates of the center of gravity (hereinafter referred to as “sample point”) of each element, and the coordinates of the sample point of each element are calculated. After that, each sample point may be replaced with an element.
- the computation load on the computer 1 can be kept low, so that the time required for element synthesis processing can be kept short. That is, it is possible to improve the response from when the user inputs a gesture until the texture is output on the display screen.
- the adjustment unit 14 edits the texture created by the synthesis unit 13 described above. For example, the user selects a selection mode by clicking the selection tool button 214, then selects a texture displayed on the drawing canvas 20, and further selects a gesture editing button 215, a flow field button 218, or When the gesture editing mode, the flow / field mode, or the perspective mode is selected by clicking the viewpoint tilt button 220, the adjustment unit 14 edits the texture according to the gesture input by the user. In addition, when the density adjustment slider 222 or the thickness adjustment slider 223 is dragged in a state where the texture displayed on the drawing canvas 20 is selected, the density of elements in the texture (interval between adjacent elements) and the element are changed. Change the thickness of the stroke.
- the adjustment unit 14 corrects the gesture path input by the user when creating the texture, and rearranges the elements according to the corrected gesture path.
- the adjustment unit 14 11 re-displays the gesture path on the drawing canvas 20 as shown in FIG.
- the gesture editing button 215 is clicked with the gesture path redisplayed, and then an arbitrary position of the gesture path is dragged
- the adjusting unit 14 turns the gesture path according to the drag operation of the user. Is changed (FIG. 11C).
- the adjustment unit 14 changes the orientation and position of the element along the changed gesture path (FIG. 11D).
- the adjustment unit 14 is designated by a gesture when a gesture is input on the display area of the texture created in the fill mode or the hatching mode. Modify the orientation of the element along the path.
- the click operation of the selection tool button 214 and the click operation of the texture display area are input in a state where the texture created in the fill mode or the hatch mode is displayed on the drawing canvas 20 (FIG. 12A).
- the adjustment unit 14 determines the direction of the path specified by the gesture and the degree of bending. Change the orientation of the element along Specifically, the adjustment unit 14 creates a vector field (FIG. 12C) along the gesture path, and renders strokes constituting the element according to the created vector field (FIG. 12D).
- the adjustment unit 14 is designated by the gesture.
- a perspective effect and a stereoscopic effect are imparted to the texture.
- the viewpoint tilt button 220 is input after the click operation of the selection tool button 214 and the click operation of the texture display area are input in a state where the texture created in the fill mode or the hatch mode is displayed on the drawing canvas 20. Is clicked, and then a gesture that passes through the texture display area is input (FIG. 13A), the adjusting unit 14 tilts the texture in the direction specified by the gesture (FIG. 13B). ).
- the gesture is input from the right side to the left side in the drawing, the left end of the texture is inclined in the depth direction in the drawing, and the right end of the texture is inclined in the front direction in the drawing. The density and position of the elements are adjusted.
- the adjustment unit 14 increases the density of elements arranged on the left side of the texture (decreases the spacing between elements) and decreases the density of elements arranged on the right side of the texture (widens the spacing between elements). ).
- a perspective effect and a three-dimensional effect can be given to the texture by a user's intuitive operation.
- the texture drawing support device since the texture is created using the elements handwritten by the user, the texture can be created without impairing the texture of the user handwritten input.
- elements that is, textures are created in accordance with gestures that can be intuitively performed by the user, it is not necessary for the user to perform complicated parameter operations and it is not necessary to learn complicated operations.
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本発明は、ユーザが手書き入力したエレメントからテクスチャを自動的に作成するテクスチャ描画支援装置において、ユーザの手書き入力による風合いを損なうことなく、且つ簡略な操作によってテクスチャを描画することができる技術の提供を課題とする。この課題を解決するために、本発明は、表示画面上でテクスチャの一部を構成する複数のストロークが入力された後、一部のストロークを通過するジェスチャが入力されたときに、前記複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを自動的に装置に登録するとともに、ジェスチャに従ってエレメントを合成することによりテクスチャを自動的に作成する。
Description
本発明は、パーソナルコンピュータ等を利用して画像処理を行う技術に関し、特にテクスチャの描画を支援する技術に関する。
パーソナルコンピュータ等を利用して画像処理を行う場合に、描画オブジェクトの質感を高めるために、描画オブジェクトの表面にテクスチャをマッピングする技術が広く用いられている。テクスチャを作成(描画)する方法としては、三次元モデルや二次元イメージ等のテンプレートを合成してテクスチャを作成する方法が知られている(例えば、非特許文献1を参照)。
また、テクスチャを作成する他の方法としては、ユーザが入力したストロークの特徴を検出してストロークパターンを作成し、作成されたストロークパターンを合成してテクスチャを作成する方法も知られている(例えば、非特許文献2を参照)。
Barla, P., Breslav, S., Thollot, J. and Markosian, L. Interactive hatching and stippling by example. INRIA Technical Report (2006)
Groller, E. and Szirmay-Kalos, L. Stroke Pattern Analysis and Synthesis. EUROGRAPHICS, 25 (2006), Number 3
Ijiri, T., Mech, R., Miller, G. and Igarashi, T. An example-based procedural system for element arrangement. Computer Graphics Forum 27,2 (EUROGRAPHICS 2008), 429 - 436
ところで、従来の方法においては、テンプレートやストロークパターンを作成又は編集する際に、ユーザが各種のパラメータを設定したり、煩雑な操作を習得したりする必要があった。また、ストロークパターンを作成又は合成する際にユーザの手書き入力による風合いが損なわれる可能性もあった。
本発明は、上記したような実情に鑑みてなされたものであり、その目的は、ユーザの手書き入力による風合いを損なうことなく、簡略な操作によってテクスチャを描画することができる技術の提供にある。
本発明は、上記した課題を解決するために、手書き入力されたテクスチャの一部を直感的なジェスチャによって編集することができるようにした。
詳細には、本発明は、表示画面上で手書き入力されるストロークに基づいてテクスチャを作成及び編集するテクスチャ描画支援装置において、
手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるインタフェース手段と、
前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させる画像出力手段と、
前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するエレメント作成手段と、
前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成する合成手段と、
を備えるようにした。
手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるインタフェース手段と、
前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させる画像出力手段と、
前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するエレメント作成手段と、
前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成する合成手段と、
を備えるようにした。
このように構成されたテクスチャ描画支援装置によれば、ユーザによってテクスチャの一部が描画された後にジェスチャが入力された場合に、描画されたテクスチャの一部がエレメントとして自動的に登録される。また、登録されたエレメントの一つが選択された状態でジェスチャが入力された場合は、ジェスチャに従ってエレメントが合成されてテクスチャが作成される。
上記したように作成されるテクスチャは、ユーザが手書き入力したエレメントを使用して作成されるため、ユーザの手書き入力による風合いを損なわずにテクスチャを作成することができる。また、ユーザが直感的に行うことができるジェスチャに従ってエレメントの合成、すなわちテクスチャの作成が行われるため、ユーザが複雑なパラメータ操作を行う必要がなくなるとともに、煩雑な操作を習得する必要もなくなる。
ここで、インタフェース手段は、エレメント作成モードと、エレメントを合成する合成モードと、を含む複数のモードを選択するためのボタンを表示するボタン表示エリアを表示画面上に表示させるようにしてもよい。その場合、エレメント作成手段は、エレメント作成モードが選択された状態でストロークが入力され、次いで合成モードが選択された状態で前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記エレメント作成モードが選択された状態で入力された全てのストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するようにしてもよい。このような構成によれば、ユーザは、エレメントの作成作業とエレメントの合成作業とを簡単に切り替えることができる。
なお、前記した合成モードは、ブラシモードと、ハッチングモードと、塗りつぶしモードの少なくとも一つを含むようにしてもよい。ブラシモードは、ジェスチャによって指定される経路に沿ってテクスチャを作成するモードである。ハッチングモードは、描画キャンバス上で指定された領域にハッチングを施すモードである。塗りつぶしモードは、描画キャンバス上で指定された領域を塗りつぶすモードである。
前記ブラシモードが選択されている場合は、合成手段は、描画キャンバス上にジェスチャが入力されたときに、前記ジェスチャによって指定される経路に沿ってエレメントを一次結合することによりテクスチャを作成するようにしてもよい。その際、各エレメントの向き(配向)は、各エレメントが配置される位置におけるジェスチャ経路の接線方向と平行にされることが望ましい。このような構成によれば、ユーザは、ジェスチャによって経路の長さや曲がり具合を指定することにより、テクスチャの長さや曲がり具合を決定することができる。
前記ハッチングモードが選択されている場合は、合成手段は、描画キャンバス上の指定領域内にジェスチャが入力されたときに、前記指定領域内で前記ジェスチャによって指定された方向にエレメントを一次結合し、一次結合されたエレメントと前記指定領域の境界との余白部分に前記一次結合されたエレメントと平行にエレメントを配置し、さらに前記ジェスチャによって指定された方向と直交する方向において隣接するエレメント間をスティッチングすることによりテクスチャを作成するようにしてもよい。このような構成によれば、ユーザは、ハッチングを施す領域の指定とジェスチャの入力を行うことにより、所望の領域にシームレスなハッチングを施すことができる。
前記塗りつぶしモードが選択されている場合は、合成手段は、描画キャンバス上の指定領域内にジェスチャが入力されたときに、選択中のエレメントを前記指定領域にタイリングする処理と、選択中のエレメントから近接類似性の最も高い最適サンプルを探索する処理と、指定領域に配置されたサンプルの位置を前記最適サンプルと同等の近接類似性になる位置へ移動させる処理と、を実行することによりテクスチャを作成するようにしてもよい。このような構成によれば、ユーザは、塗りつぶしを施す領域の指定とジェスチャを入力することにより、視覚的な違和感の少ない塗りつぶしを所望の領域に施すことができる。
また、インタフェース手段は、前記エレメント作成モードと前記合成モードを選択するボタンに加え、調整モードを選択するボタンを前記ボタン表示エリアに表示させるようにしてもよい。その場合、テクスチャ描画支援装置は、合成手段によって作成されたテクスチャが描画キャンバス上に表示された状態で調整モードが選択され、次いで描画キャンバス上にジェスチャが入力されたときに、前記ジェスチャに従って前記テクスチャの構成を変更する調整手段を更に備えるようにしてもよい。ユーザは、テクスチャの作成後にジェスチャを入力することにより、テクスチャの構成を直感的に変更することができる。
前記調整モードは、ジェスチャ編集モードと、フロー・フィールドモードと、遠近化モードと、の少なくとも一つを含むようにしてもよい。ジェスチャ編集モードは、合成手段がテクスチャを作成する際に入力されたジェスチャの経路を調整するモードである。フロー・フィールドモードは、合成手段により作成されたテクスチャに含まれるエレメントの配向を調整するモードである。遠近化モードは、合成手段により作成されたテクスチャを描画キャンバス上で傾斜させることにより、テクスチャに遠近効果を付与するモードである。
ジェスチャ編集モードによりテクスチャが編集される場合は、調整手段は、描画キャンバスにおけるテクスチャの表示領域を指定するジェスチャが入力されたときに、前記テクスチャの作成時に入力されたジェスチャの経路を前記描画キャンバス上に再表示させる処理と、ジェスチャ経路が再表示された状態でジェスチャ編集モードが選択され、次いで前記ジェスチャ経路を変更するジェスチャが入力されたときに、変更後のジェスチャ経路に沿ってエレメントの配向及び位置を変更する処理と、を実行する。このような構成によれば、ユーザは、テクスチャの曲がり度合い等を直感的に変更することができる。
フロー・フィールドモードが選択された場合は、調整手段は、描画キャンバス上のテクスチャ表示領域を通過するジェスチャが入力されたときに、前記ジェスチャによって指定された経路に沿って、前記テクスチャを構成するエレメントの配向を変更する。このような構成によれば、ユーザは、テクスチャを構成するエレメントの配向を直感的に変更することができる。
遠近化モードが選択された場合は、調整手段は、描画キャンバス上のテクスチャ表示領域を通過するジェスチャが入力されたときに、前記ジェスチャによって指定された方向に前記テクスチャを傾斜させる。このような構成によれば、ユーザは、直感的な操作によってテクスチャに遠近効果を付与することができるとともに、テクスチャに立体感を付与することも可能になる。
なお、本発明は、表示画面上で手書き入力されるストロークに基づいてテクスチャを作成及び編集するテクスチャ描画支援方法として捉えることもできる。
すなわち、本発明は、コンピュータが、手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるステップと、
コンピュータが、前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させるステップと、
コンピュータが、前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するステップと、
コンピュータが、前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成するステップと、
を含むテクスチャ描画支援方法として捉えることもできる。
すなわち、本発明は、コンピュータが、手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるステップと、
コンピュータが、前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させるステップと、
コンピュータが、前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するステップと、
コンピュータが、前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成するステップと、
を含むテクスチャ描画支援方法として捉えることもできる。
また、本発明は、上記したテクスチャ描画支援方法の各ステップをコンピュータに実行させるプログラム、又はそのプログラムが記録された記録媒体として捉えることもできる。
本発明によれば、ユーザの手書き入力による風合いを損なうことなく、簡略な操作によってテクスチャを描画することができる。
以下に図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。
<テクスチャ描画支援装置の概要>
図1は、本発明の実施形態に係るテクスチャ描画支援装置の概略構成及び機能構成を模式的に示す図である。テクスチャ描画支援装置は、CPU、メモリ、補助記憶装置等のハードウェア資源を備えるコンピュータ1と、入力指示のためのメニュー、ツールバー、ツールボタン等の表示及び文字や図形等の出力結果を表示するためのディスプレイ2と、ポインティングデバイスとしてのマウス3と、を備えている。コンピュータ1は、汎用のパーソナルコンピュータ、タブレット端末、スマートフォン等にプログラムをインストールすることにより実現することもできるし、専用の装置として構成することも可能である。また、ポインティングデバイスとしては、マウスの代わりにタッチパッドやタブレットペンを用いることもできる。なお、コンピュータ1として、タッチパネルやタッチスクリーンを備えたスマートフォン等が用いられる場合は、マウス3の代わりにユーザが指で入力操作を行うことも可能である。
図1は、本発明の実施形態に係るテクスチャ描画支援装置の概略構成及び機能構成を模式的に示す図である。テクスチャ描画支援装置は、CPU、メモリ、補助記憶装置等のハードウェア資源を備えるコンピュータ1と、入力指示のためのメニュー、ツールバー、ツールボタン等の表示及び文字や図形等の出力結果を表示するためのディスプレイ2と、ポインティングデバイスとしてのマウス3と、を備えている。コンピュータ1は、汎用のパーソナルコンピュータ、タブレット端末、スマートフォン等にプログラムをインストールすることにより実現することもできるし、専用の装置として構成することも可能である。また、ポインティングデバイスとしては、マウスの代わりにタッチパッドやタブレットペンを用いることもできる。なお、コンピュータ1として、タッチパネルやタッチスクリーンを備えたスマートフォン等が用いられる場合は、マウス3の代わりにユーザが指で入力操作を行うことも可能である。
<コンピュータ1>
コンピュータ1は、図1に示すような機能構成を有している。すなわち、コンピュータ1は、インタフェース部10、画像出力部11、エレメント作成部12、合成部13、及び調整部14を備えている。これらの機能構成は、CPUがメモリに記憶されたプログラムを実行することにより実現される。以下、各構成要素について説明する。
コンピュータ1は、図1に示すような機能構成を有している。すなわち、コンピュータ1は、インタフェース部10、画像出力部11、エレメント作成部12、合成部13、及び調整部14を備えている。これらの機能構成は、CPUがメモリに記憶されたプログラムを実行することにより実現される。以下、各構成要素について説明する。
(インタフェース部10)
インタフェース部10は、例えば、ディスプレイ2の表示画面上にGUI(Graphical User Interface)を表示させる。詳細には、インタフェース部10は、図2に示すように、描画キャンバス20、メインツールバー21、ファイル・エディットツールバー22、パッチプレート23、パッチツールバー24、バックグラウンドパレット25、選択パッチ26から構成されるGUIを表示させる。
インタフェース部10は、例えば、ディスプレイ2の表示画面上にGUI(Graphical User Interface)を表示させる。詳細には、インタフェース部10は、図2に示すように、描画キャンバス20、メインツールバー21、ファイル・エディットツールバー22、パッチプレート23、パッチツールバー24、バックグラウンドパレット25、選択パッチ26から構成されるGUIを表示させる。
描画キャンバス20は、ユーザがマウス3を利用して描画するための作業領域である。メインツールバー21は、各種のツールを選択するためのボタンを表示する領域である。ファイル・エディットツールバー22は、描画キャンバス20上で作成されたテクスチャを含む画像ファイルの保存、メモリに記録されている画像ファイルの読み出し、及びユーザ操作の取り消し等を行うためのコマンドボタンを表示する領域である。パッチプレート23は、ユーザの手書き入力によって作成されたテクスチャの一部(エレメント)を表示する領域であり、本発明に係わるエレメント表示エリアに相当する。パッチツールバー24は、前記パッチプレート23に表示されたエレメントの削除等を行うためのコマンドボタンを表示する領域である。バックグラウンドパレット25は、描画キャンバス20の背景画像のテンプレートを表示する領域である。選択パッチ26は、前記パッチプレート23に表示されているエレメントのうち、ユーザによって選択されているエレメントを表示する領域である。
メインツールバー21は、図3に示すように、ペンツール・ボタン210、ブラシツール・ボタン211、塗りつぶしツール・ボタン212、マスクツール・ボタン213、選択ツール・ボタン214、ジェスチャ編集ボタン215、エグザンプル・ストローク・ボタン216、ハッチングツール・ボタン217、フロー・フィールド・ボタン218、ズーム・ボタン219、視点傾斜ボタン220、ペンシル・ボタン221、密度調整スライダ222、太さ調整スライダ223等を含む。
ペンツール・ボタン210は、描画キャンバス20上に図形や文字等の描画オブジェクトを描画するためのペンモードを選択するためのボタンである。ブラシツール・ボタン211は、ユーザによって作成されたエレメントを使用して描画するためのブラシモードを選択するためのボタンである。塗りつぶしツール・ボタン212は、ユーザによって作成されたエレメントを使用して塗りつぶしを行う塗りつぶしモードを選択するためのボタンである。マスクツール・ボタン213は、マウス3を利用して描画キャンバス20上の領域を任意に指定するマスクモードを選択するためのボタンである。選択ツール・ボタン214は、描画キャンバス20上に描画されたテクスチャのうち、編集の対象となるテクスチャを特定する選択モードを選択するためのボタンである。ジェスチャ編集ボタン215は、マウス3によって入力されるジェスチャの経路を編集するジェスチャ編集モードを選択するためのボタンである。エグザンプル・ストローク・ボタン216は、描画キャンバス20上でテクスチャの一部となるエレメントを作成するエレメント作成モードを選択するためのボタンである。ハッチングツール・ボタン217は、ユーザによって作成されたエレメントを使用してハッチングを施すハッチングモードを選択するためのボタンである。フロー・フィールド・ボタン218は、テクスチャにおけるエレメントの配向を編集するフロー・フィールドモードを選択するためのボタンである。ズーム・ボタン219は、描画オブジェクトを拡大するためのズームモードを選択するためのボタンである。視点傾斜ボタン220は、テクスチャに対する視点の傾きを変更する遠近化モードを選択するためのボタンである。ペンシル・ボタン221は、描画キャンバス20上に描画オブジェクトのアウトラインを下書きするためのペンシルモードを選択するためのボタンである。密度調整スライダ222は、描画キャンバス20上で作成されたテクスチャにおけるエレメントの密度(テクスチャにおいて隣接するエレメントの間隔)を調整するスライダである。太さ調整スライダ223は、テクスチャにおけるエレメントを構成する線(ストローク)の太さを調整するスライダである。
(画像出力部11)
画像出力部11は、前記ペンモードや前記ペンシルモードにおいてユーザが描画した描画オブジェクトを前記描画キャンバス20上に画像出力させる。また、画像出力部11は、前記エレメント作成モードにおいてユーザが手書き入力したストロークを前記描画キャンバス20上に画像出力させる。
画像出力部11は、前記ペンモードや前記ペンシルモードにおいてユーザが描画した描画オブジェクトを前記描画キャンバス20上に画像出力させる。また、画像出力部11は、前記エレメント作成モードにおいてユーザが手書き入力したストロークを前記描画キャンバス20上に画像出力させる。
(エレメント作成部12)
エレメント作成部12は、前記エレメント作成モードにおいて描画キャンバス20上に入力された複数のストロークを結合してエレメントを作成し、作成されたエレメントを前記パッチプレート23に登録(インタフェース部10により前記パッチプレート23に表示させる)する。
エレメント作成部12は、前記エレメント作成モードにおいて描画キャンバス20上に入力された複数のストロークを結合してエレメントを作成し、作成されたエレメントを前記パッチプレート23に登録(インタフェース部10により前記パッチプレート23に表示させる)する。
ここで、エレメントが作成される流れを図4乃至図6を参照しつつ説明する。先ず、ユーザは、前記エグザンプル・ストローク・ボタン216上でマウス3をクリック操作してエレメント作成モードを選択する。続いて、ユーザは、描画キャンバス20上でマウス3をドラッグ操作して複数のストロークを入力することにより、テクスチャの一部を描画する。エレメント作成モードにおいて入力されたストロークは、画像出力部11によって描画キャンバス20上に画像出力される(図4(a)、図5(a)、図6(a)を参照)。
ユーザは、テクスチャの一部を描画した後にブラシツール・ボタン211、塗りつぶしツール・ボタン212、又はハッチングツール・ボタン217上でマウス3をクリック操作して、ブラシモード、塗りつぶしモード、又はハッチングモードを選択する。続いて、ユーザは、図4(b)、図5(b)、図6(b)の一点鎖線矢印で示すように、描画キャンバス20上に表示されている複数のストロークの少なくとも一つを通過するジェスチャを入力する。なお、ジェスチャの入力方法は、ストロークの入力と同様に、マウス3をドラッグ操作する方法を用いることができる。このような手順によってジェスチャが入力されたときに、エレメント作成部は、先のエレメント作成モードで入力された全てのストロークを組み合わせて一つのエレメントを作成する。このようにして作成されたエレメントは、図4(c)、図5(c)、図6(c)に示すように、パッチプレート23に登録及び表示される。
なお、パッチプレート23に登録されるエレメントの配向は、ジェスチャがストロークを通過する際の方向に従って決定される。そのため、ユーザは、エレメントの配向を直感的に変えることができる。
(合成部13)
合成部13は、ブラシモード、塗りつぶしモード、又はハッチングモードにおいてユーザが入力するジェスチャに従ってエレメントを合成することにより、テクスチャを自動的に作成する。以下、上記の各モードにおけるエレメントの合成手順について説明する。
合成部13は、ブラシモード、塗りつぶしモード、又はハッチングモードにおいてユーザが入力するジェスチャに従ってエレメントを合成することにより、テクスチャを自動的に作成する。以下、上記の各モードにおけるエレメントの合成手順について説明する。
・ブラシモード
ブラシモードでは、合成部13は、図4(b)及び図4(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、ジェスチャによって指定された経路に沿ってエレメントを一次結合する。その際、各エレメントの向き(配向)は、各エレメントが配置される位置におけるジェスチャ経路の接線方向に基づいて決定される。すなわち、各エレメントの向きは、ジェスチャ経路の接線方向と平行にされる。また、隣接するエレメントの間の距離は、パッチプレート23に登録されたエレメントの大きさから計算される。
ブラシモードでは、合成部13は、図4(b)及び図4(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、ジェスチャによって指定された経路に沿ってエレメントを一次結合する。その際、各エレメントの向き(配向)は、各エレメントが配置される位置におけるジェスチャ経路の接線方向に基づいて決定される。すなわち、各エレメントの向きは、ジェスチャ経路の接線方向と平行にされる。また、隣接するエレメントの間の距離は、パッチプレート23に登録されたエレメントの大きさから計算される。
なお、パッチプレート23に登録済みのエレメントを使用してテクスチャを作成する場合は、ユーザは、図7(a)に示すように、パッチプレート23に登録されているエレメントの一つを選択(クリック操作)した後、描画キャンバス20上でジェスチャを入力すればよい。これに対し、合成部13は、パッチプレート23に登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに(図7(a))、選択されたエレメント(図7(a)中の実線で囲まれたエレメント)をジェスチャ経路に沿って一次結合する(図7(b))。
・塗りつぶしモード
塗りつぶしモードでは、合成部13は、図5(b)及び図5(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、エレメントを合成することにより、予め指定された領域と同形状のテクスチャを作成する。なお、ユーザは、ジェスチャを入力する前に、塗りつぶし領域を指定する必要がある。塗りつぶし領域を指定する場合は、ユーザは、先ず前記マスクツール・ボタン213をクリック操作してマスクモードを選択し、次いで描画キャンバス20上でマウス3をドラッグ操作することにより塗りつぶし領域を指定すればよい。ユーザは、塗りつぶし領域を指定した後にエレメント作成モードを選択し、先の指定領域内にテクスチャの一部を描画する。そして、ユーザは、塗りつぶしモードを選択し、先の指定領域内に表示されているテクスチャの一部を通過するジェスチャを入力すればよい。
塗りつぶしモードでは、合成部13は、図5(b)及び図5(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、エレメントを合成することにより、予め指定された領域と同形状のテクスチャを作成する。なお、ユーザは、ジェスチャを入力する前に、塗りつぶし領域を指定する必要がある。塗りつぶし領域を指定する場合は、ユーザは、先ず前記マスクツール・ボタン213をクリック操作してマスクモードを選択し、次いで描画キャンバス20上でマウス3をドラッグ操作することにより塗りつぶし領域を指定すればよい。ユーザは、塗りつぶし領域を指定した後にエレメント作成モードを選択し、先の指定領域内にテクスチャの一部を描画する。そして、ユーザは、塗りつぶしモードを選択し、先の指定領域内に表示されているテクスチャの一部を通過するジェスチャを入力すればよい。
また、パッチプレート23に登録済みのエレメントを使用してテクスチャを作成する場合は、パッチプレート23に登録されているエレメントの一つを選択した後、描画キャンバス20上の指定領域内にジェスチャを入力すればよい。これに対し、合成部13は、パッチプレート23に登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、ジェスチャで指定された領域内において選択されたエレメントを合成してテクスチャを作成する。
ここで、塗りつぶしモードにおけるエレメントの合成手順について図8、図9を参照しながら説明する。塗りつぶしモードでは、合成部13は、選択中のエレメントを指定領域にタイリングする処理を実行した後に、選択中のエレメントから近接類似性の最も高い最適サンプルを探索する処理と、指定領域に配置されたサンプルの位置を前記最適サンプルと同等の近接類似性になる位置へ移動させる処理と、を繰り返す反復最適化を行う。
詳細には、合成部13は、先ず、選択中のエレメント(図8(a))を指定領域にタイリングする(図8(b))。次に、合成部13は、EMアルゴリズムに基づいてエレメントの合成を行う。例えば、合成部13は、選択中のエレメントから類似性メトリックに基づく近接類似性が最も高い最適サンプル(図9(a)中の破線で囲んだ図形)を探索する処理(Search Step)と、指定領域のサンプル(図9(b))中の破線で囲んだ図形の位置を最適サンプルの近接類似性と同等又は近似する位置へ移動(図9(c)、図9(d))させる処理(Assignment Step)を実行する。これらSearch StepとAssignment Stepは、指定領域の各サンプルについて繰り返し実行されてもよく、若しくは指定領域にタイリングされたエレメントの境界部分に配置されたサンプルについてのみ実行されてもよい。なお、前記したSearch StepとAssignment Stepは、繰り返し実行される。上記したような合成処理が行われると、図8(c)、図8(d)に示すように、エレメントに近似したテクスチャを作成することができる。
なお、塗りつぶし領域におけるエレメントの配向は、パッチプレート23に登録されたエレメントの配向に準ずる。
・ハッチングモード
ハッチングモードでは、合成部13は、図6(b)及び図6(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、エレメントを合成することにより、予め指定された領域と同形状のテクスチャを作成する。なお、ユーザは、ジェスチャを入力する前に、ハッチング領域を指定する必要がある。ハッチング領域を指定する手順は、前述した塗りつぶし領域を指定する手順と同様である。
ハッチングモードでは、合成部13は、図6(b)及び図6(c)に示すように、前述のエレメント作成モードで入力されたストロークを通過するジェスチャが入力されたときに、エレメントを合成することにより、予め指定された領域と同形状のテクスチャを作成する。なお、ユーザは、ジェスチャを入力する前に、ハッチング領域を指定する必要がある。ハッチング領域を指定する手順は、前述した塗りつぶし領域を指定する手順と同様である。
また、パッチプレート23に登録済みのエレメントを使用してテクスチャを作成する場合は、パッチプレート23に登録されているエレメントの一つを選択した後、描画キャンバス20上の指定領域内にジェスチャを入力すればよい。これに対し、合成部13は、パッチプレート23に登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、ジェスチャで指定された領域内において選択されたエレメントを合成してテクスチャを作成する。
ここで、ハッチングモードにおけるエレメントの合成手順について図10を参照しながら説明する。ハッチングモードでは、合成部13は、指定領域内でジェスチャが入力されたときに(図10(a))、先ず、ジェスチャの経路に沿ってエレメントを一次元結合する(図10(b))。その場合の各エレメントの配向は、前述したブラシモードと同様に、ジェスチャ経路の接線方向と平行にされる。続いて、合成部13は、一次元結合されたエレメント群と指定領域の境界との余白領域に、前記エレメント群の各エレメントと平行なエレメントを配置する。すなわち、合成部13は、前記エレメント群の各エレメントの両側又は片側に複製を配置する。そして、合成部13は、ジェスチャ経路と直交する方向において隣接するエレメント間をスティッチングすることによりシームレスなハッチング(テクスチャ)を作成する。
なお、エレメントはストロークの集合であり、個々のストロークは二次元の点の集まりである。よって、エレメントは、二次元の点に置き換えることができる。そこで、合成部13は、上記した各モードでエレメントを合成する場合に、各エレメントの重心(以下、「標本点」と記す)の座標のみを計算し、各エレメントの標本点の座標が算出された後に各標本点をエレメントに置き換えるようにしてもよい。このような方法によりエレメントの合成が行われると、コンピュータ1の演算負荷を低く抑えることができるため、エレメントの合成処理に要する時間を短く抑えることができる。つまり、ユーザがジェスチャを入力してからテクスチャが表示画面上に出力されるまでのレスポンスを高めることができる。
(調整部14)
調整部14は、前述した合成部13によって作成されたテクスチャを編集する。例えば、ユーザが選択ツール・ボタン214をクリック操作することにより選択モードを選択し、次いで描画キャンバス20上に表示されているテクスチャを選択し、さらにジェスチャ編集ボタン215、フロー・フィールド・ボタン218、又は視点傾斜ボタン220をクリック操作してジェスチャ編集モード、フロー・フィールドモード、又は遠近化モードが選択された場合に、調整部14は、ユーザが入力するジェスチャに従ってテクスチャを編集する。また、描画キャンバス20上に表示されているテクスチャが選択された状態で密度調整スライダ222又は太さ調整スライダ223がドラッグ操作されると、テクスチャにおけるエレメントの密度(隣接するエレメントの間隔)やエレメントを構成するストロークの太さを変更する。
調整部14は、前述した合成部13によって作成されたテクスチャを編集する。例えば、ユーザが選択ツール・ボタン214をクリック操作することにより選択モードを選択し、次いで描画キャンバス20上に表示されているテクスチャを選択し、さらにジェスチャ編集ボタン215、フロー・フィールド・ボタン218、又は視点傾斜ボタン220をクリック操作してジェスチャ編集モード、フロー・フィールドモード、又は遠近化モードが選択された場合に、調整部14は、ユーザが入力するジェスチャに従ってテクスチャを編集する。また、描画キャンバス20上に表示されているテクスチャが選択された状態で密度調整スライダ222又は太さ調整スライダ223がドラッグ操作されると、テクスチャにおけるエレメントの密度(隣接するエレメントの間隔)やエレメントを構成するストロークの太さを変更する。
ここで、ジェスチャ編集モード、フロー・フィールドモード、及び遠近化モードにおいてテクスチャの編集手順について説明する。
・ジェスチャ編集モード
ジェスチャ編集モードでは、調整部14は、図11に示すように、テクスチャを作成する際にユーザが入力したジェスチャ経路を修正し、修正後のジェスチャ経路に従ってエレメントの再配置を行う。
ジェスチャ編集モードでは、調整部14は、図11に示すように、テクスチャを作成する際にユーザが入力したジェスチャ経路を修正し、修正後のジェスチャ経路に従ってエレメントの再配置を行う。
詳細には、描画キャンバス20上にテクスチャが表示された状態(図11(a))で、選択ツール・ボタン214がクリック操作され、続いてテクスチャの表示領域がクリック操作されると、調整部14は、図11(b)に示すように、描画キャンバス20上にジェスチャ経路を再表示させる。また、ジェスチャ経路が再表示されている状態でジェスチャ編集ボタン215がクリック操作され、次いでジェスチャ経路の任意の位置がドラッグ操作されると、調整部14は、ユーザのドラッグ操作に従ってジェスチャ経路の曲がり具合を変更する(図11(c))。そして、調整部14は、変更後のジェスチャ経路に沿ってエレメントの配向及び位置を変更する(図11(d))。このようなアルゴリズムを採用することにより、ユーザが直感的にテクスチャの曲がり度合いを変更可能になる。
・フロー・フィールドモード
フロー・フィールドモードでは、調整部14は、図12に示すように、塗りつぶしモード又はハッチングモードで作成されたテクスチャの表示領域上にジェスチャが入力されると、ジェスチャによって指定される経路に沿ってエレメントの配向を修正する。
フロー・フィールドモードでは、調整部14は、図12に示すように、塗りつぶしモード又はハッチングモードで作成されたテクスチャの表示領域上にジェスチャが入力されると、ジェスチャによって指定される経路に沿ってエレメントの配向を修正する。
詳細には、塗りつぶしモード又はハッチングモードで作成されたテクスチャが描画キャンバス20上に表示された状態(図12(a))で、選択ツール・ボタン214のクリック操作及びテクスチャ表示領域のクリック操作が入力された後にフロー・フィールド・ボタンがクリック操作され、次いでテクスチャ表示領域を通過するジェスチャが入力されると(図12(b))、調整部14は、ジェスチャによって指定される経路の方向や曲がり具合に沿ってエレメントの配向を変更する。具体的には、調整部14は、ジェスチャ経路に沿ったベクトル場(図12(c))を作成し、作成されたベクトル場に従ってエレメントを構成するストロークをレンダリングする(図12(d))。このようなアルゴリズムを採用することにより、ユーザが直感的にエレメントの配向を変更可能になる。
・遠近化モード
遠近化モードでは、調整部14は、図13に示すように、塗りつぶしモード又はハッチングモードで作成されたテクスチャの表示領域上を通過するジェスチャが入力されると、ジェスチャによって指定される方向へテクスチャを傾けることにより、テクスチャに遠近効果や立体感を付与する。
遠近化モードでは、調整部14は、図13に示すように、塗りつぶしモード又はハッチングモードで作成されたテクスチャの表示領域上を通過するジェスチャが入力されると、ジェスチャによって指定される方向へテクスチャを傾けることにより、テクスチャに遠近効果や立体感を付与する。
詳細には、塗りつぶしモード又はハッチングモードで作成されたテクスチャが描画キャンバス20上に表示された状態で、選択ツール・ボタン214のクリック操作及びテクスチャ表示領域のクリック操作が入力された後に視点傾斜ボタン220のクリック操作が入力され、次いでテクスチャ表示領域を通過するジェスチャが入力されると(図13(a))、調整部14は、ジェスチャによって指定された方向へテクスチャを傾斜させる(図13(b))。図13に示す例では、図中右側から左側へ向かってジェスチャが入力されているため、テクスチャの左端が図中の奥行き方向へ傾斜するとともに、テクスチャの右端が図中の手前方向へ傾斜するように、エレメントの密度及び位置が調整される。つまり、調整部14は、テクスチャの左側に配置されるエレメントの密度を高める(エレメント間の間隔を狭くする)とともに、テクスチャの右側に配置されるエレメントの密度を低める(エレメント間の間隔を広くする)。このようなアルゴリズムを採用することにより、ユーザの直感的な操作によってテクスチャに遠近効果や立体感を与えることができる。
以上述べたテクスチャ描画支援装置によれば、ユーザが手書き入力したエレメントを使用してテクスチャが作成されるため、ユーザの手書き入力による風合いを損なわずにテクスチャを作成することができる。また、ユーザが直感的に行うことができるジェスチャに従ってエレメントの合成、すなわちテクスチャの作成が行われるため、ユーザが複雑なパラメータ操作を行う必要がなくなるとともに、煩雑な操作を習得する必要もない。
1 コンピュータ
2 ディスプレイ
3 マウス
20 描画キャンバス
21 メインツールバー
23 パッチプレート
211 ブラシツール・ボタン
212 塗りつぶしツール・ボタン
213 マスクツール・ボタン
214 選択ツール・ボタン
215 ジェスチャ編集ボタン
216 エグザンプル・ストローク・ボタン
217 ハッチングツール・ボタン
218 フロー・フィールド・ボタン
220 視点傾斜ボタン
2 ディスプレイ
3 マウス
20 描画キャンバス
21 メインツールバー
23 パッチプレート
211 ブラシツール・ボタン
212 塗りつぶしツール・ボタン
213 マスクツール・ボタン
214 選択ツール・ボタン
215 ジェスチャ編集ボタン
216 エグザンプル・ストローク・ボタン
217 ハッチングツール・ボタン
218 フロー・フィールド・ボタン
220 視点傾斜ボタン
Claims (11)
- 表示画面上で手書き入力されるストロークに基づいてテクスチャを作成及び編集するテクスチャ描画支援装置において、
手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるインタフェース手段と、
前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させる画像出力手段と、
前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するエレメント作成手段と、
前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成する合成手段と、
を備えるテクスチャ描画支援装置。 - 請求項1において、前記インタフェース手段は、エレメント作成モードと、エレメントを合成する合成モードと、を含む複数のモードを選択するためのボタンを表示するボタン表示エリアを表示画面上に表示させ、
前記エレメント作成手段は、エレメント作成モードが選択された状態でストロークが入力され、次いで合成モードが選択された状態で前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記エレメント作成モードが選択された状態で入力された全てのストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するテクスチャ描画支援装置。 - 請求項2において、前記合成モードは、ジェスチャによって指定される経路に沿ってテクスチャを作成するブラシモードを含み、
前記合成手段は、前記ブラシモードが選択された状態で前記描画キャンバス上にジェスチャが入力されたときに、前記ジェスチャによって指定される経路に沿って、エレメントを各エレメントの向きがジェスチャ経路の接線方向と平行になるように一次結合することによりテクスチャを作成するテクスチャ描画支援装置。 - 請求項2又は3において、前記合成モードは、前記描画キャンバス上で指定された領域にハッチングを施すハッチングモードを含み、
前記合成手段は、前記ハッチングモードが選択された状態で前記描画キャンバス上の指定領域内にジェスチャが入力されたときに、前記指定領域内で前記ジェスチャによって指定された方向にエレメントを一次結合し、一次結合されたエレメントと前記指定領域の境界との余白部分に前記一次結合されたエレメントと平行にエレメントを配置し、さらに前記ジェスチャによって指定された方向と直交する方向において隣接するエレメント間をスティッチングすることによりテクスチャを作成するテクスチャ描画支援装置。 - 請求項2乃至4の何れか1項において、前記合成モードは、前記描画キャンバス上で指定された領域を塗りつぶす塗りつぶしモードを含み、
前記合成手段は、前記塗りつぶしモードが選択された状態で前記描画キャンバス上の指定領域内にジェスチャが入力されたときに、選択中のエレメントを前記指定領域にタイリングする処理と、選択中のエレメントから近接類似性の最も高い最適サンプルを探索する処理と、指定領域に配置されたサンプルの位置を前記最適サンプルと同等の近接類似性になる位置へ移動させる処理と、を実行することによりテクスチャを作成するテクスチャ描画支援装置。 - 請求項1乃至5の何れか1項において、前記インタフェース手段は、前記ボタン表示エリアに調整モードを選択するためのボタンを更に表示させ、
前記合成手段によって作成されたテクスチャが前記描画キャンバス上に表示された状態で調整モードが選択され、次いで前記描画キャンバス上にジェスチャが入力されたときに、前記ジェスチャに従って前記テクスチャの構成を変更する調整手段を更に備えるテクスチャ描画支援装置。 - 請求項6において、前記調整モードは、前記合成手段がテクスチャを作成する際に入力されたジェスチャの経路を調整するジェスチャ編集モードを含み、
前記調整手段は、前記描画キャンバスにおけるテクスチャの表示領域を指定するジェスチャが入力されたときに、前記テクスチャが作成される際に入力されたジェスチャの経路を前記描画キャンバス上に再表示させる処理と、ジェスチャ経路が再表示された状態で前記ジェスチャ編集モードが選択され、次いで前記ジェスチャ経路を変更するジェスチャが入力されたときに、変更後のジェスチャ経路に沿ってエレメントの配向及び位置を変更する処理と、を実行するテクスチャ描画支援装置。 - 請求項6又は7において、前記調整モードは、前記合成手段により作成されたテクスチャに含まれるエレメントの配向を調整するフロー・フィールドモードを含み、
前記調整手段は、フロー・フィールドモードが選択された状態で前記描画キャンバス上のテクスチャ表示領域を通過するジェスチャが入力されたときに、前記ジェスチャによって指定された経路に沿ってエレメントの配向を変更するテクスチャ描画支援装置。 - 請求項6乃至8の何れか1項において、前記調整モードは、前記合成手段により作成されたテクスチャを前記描画キャンバス上において傾斜させる遠近化モードを含み、
前記調整手段は、前記遠近化モードが選択された状態で前記描画キャンバス上のテクスチャ表示領域を通過するジェスチャが入力されたときに、前記ジェスチャによって指定された方向へ前記テクスチャを傾斜させるテクスチャ描画支援装置。 - 表示画面上で手書き入力されるストロークに基づいてテクスチャを作成及び編集するテクスチャ描画支援方法において、
コンピュータが、手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるステップと、
コンピュータが、前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させるステップと、
コンピュータが、前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するステップと、
コンピュータが、前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成するステップと、
を含むテクスチャ描画支援方法。 - 手書き入力されるストロークを表示するための描画キャンバス、及びテクスチャのベースとなるエレメントを表示するエレメント表示エリアを表示画面上に表示させるステップと、
前記描画キャンバス上で入力されたストロークを前記描画キャンバスに表示させるステップと、
前記描画キャンバス上に表示された少なくとも一つのストロークを通過するジェスチャが入力されたときに、前記描画キャンバス上に表示されている複数のストロークを組み合わせて一つのエレメントを作成し、作成されたエレメントを前記エレメント表示エリアに登録するステップと、
前記エレメント表示エリアに登録されているエレメントの一つが選択された状態でジェスチャが入力されたときに、選択されたエレメントを合成してテクスチャを作成するステップと、
をコンピュータに実行させるプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012-198374 | 2012-09-10 | ||
JP2012198374A JP2015215636A (ja) | 2012-09-10 | 2012-09-10 | テクスチャ描画支援装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2014038217A1 true WO2014038217A1 (ja) | 2014-03-13 |
Family
ID=50236846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2013/050292 WO2014038217A1 (ja) | 2012-09-10 | 2013-01-10 | テクスチャ描画支援装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2015215636A (ja) |
WO (1) | WO2014038217A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024150415A1 (ja) * | 2023-01-13 | 2024-07-18 | 株式会社Live2D | 描画プログラム、描画装置、制御方法及び記録媒体 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037813A (ja) * | 2001-04-09 | 2003-02-07 | Omron Corp | 画像処理装置および方法、並びにプログラム |
JP2004023214A (ja) * | 2002-06-13 | 2004-01-22 | Omron Corp | 画像印刷装置および方法、印刷媒体、並びに印刷媒体ユニット |
JP2006053665A (ja) * | 2004-08-10 | 2006-02-23 | Olympus Corp | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
JP2010061472A (ja) * | 2008-09-04 | 2010-03-18 | Nintendo Co Ltd | 画像処理プログラムおよび画像処理装置 |
-
2012
- 2012-09-10 JP JP2012198374A patent/JP2015215636A/ja active Pending
-
2013
- 2013-01-10 WO PCT/JP2013/050292 patent/WO2014038217A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003037813A (ja) * | 2001-04-09 | 2003-02-07 | Omron Corp | 画像処理装置および方法、並びにプログラム |
JP2004023214A (ja) * | 2002-06-13 | 2004-01-22 | Omron Corp | 画像印刷装置および方法、印刷媒体、並びに印刷媒体ユニット |
JP2006053665A (ja) * | 2004-08-10 | 2006-02-23 | Olympus Corp | 画像処理装置、画像処理方法、画像処理プログラム及び記録媒体 |
JP2010061472A (ja) * | 2008-09-04 | 2010-03-18 | Nintendo Co Ltd | 画像処理プログラムおよび画像処理装置 |
Non-Patent Citations (2)
Title |
---|
RUBAIAT HABIB KAZI ET AL.: "Vignette:A Style Preserving Sketching Tool for Pen-and-Ink Illustration with Texture Synthesis", ACM SIGGRAPH 2012 POSTERS, no. 29, 5 August 2012 (2012-08-05) * |
RUBAIAT HABIB KAZI ET AL.: "Vignette:Interactive Texture Design and Manipulation with Freeform Gestures for Pen-and-Ink Illustraion", PROCEEDINGS OF THE SIGCHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 5 May 2012 (2012-05-05), pages 1727 - 1736 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024150415A1 (ja) * | 2023-01-13 | 2024-07-18 | 株式会社Live2D | 描画プログラム、描画装置、制御方法及び記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2015215636A (ja) | 2015-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9146660B2 (en) | Multi-function affine tool for computer-aided design | |
US7701457B2 (en) | Pen-based 3D drawing system with geometric-constraint based 3D cross curve drawing | |
US10372304B2 (en) | Facilitating object set replication | |
EP2748738B1 (en) | Method of creating a snap point in a computer-aided design system | |
WO2019057190A1 (zh) | 知识图谱的展示方法、装置、终端设备及可读存储介质 | |
US11061529B2 (en) | Generating contextual guides | |
US8487963B1 (en) | Preview representation of pixels effected by a brush tip area | |
US7600193B2 (en) | Method of tracking dual mode data objects using related thumbnails and tool icons in a palette window | |
JP2005259148A (ja) | 要素を選択する方法およびプログラム | |
JPWO2005104041A1 (ja) | 画像描画装置及びその方法 | |
JP2011128962A (ja) | 画像処理装置、画像処理方法、及びコンピュータプログラム | |
JP5981175B2 (ja) | 図面表示装置、及び図面表示プログラム | |
CN107924268B (zh) | 对象选择系统和方法 | |
Pfeuffer et al. | Bi-3D: Bi-Manual Pen-and-Touch Interaction for 3D Manipulation on Tablets | |
US8667406B1 (en) | Artboard creation and preview | |
DE102015009821A1 (de) | Optisches digitales Lineal | |
WO2014038217A1 (ja) | テクスチャ描画支援装置 | |
JP5417185B2 (ja) | オブジェクト処理装置およびオブジェクト選択方法 | |
EP2669783A1 (en) | Virtual ruler for stylus input | |
US20140365955A1 (en) | Window reshaping by selective edge revisions | |
US20190042010A1 (en) | Generating a three-dimensional image using tilt angle of a digital pen | |
JP2010271828A (ja) | 立体形状生成システム及び方法 | |
KR101363331B1 (ko) | 애니메이션 수정 방법 및 장치 | |
US7703038B1 (en) | Methods and apparatus for creating a quick canvas | |
US11694376B2 (en) | Intuitive 3D transformations for 2D graphics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 13835900 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 13835900 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |