(57)【特許請求の範囲】
【請求項１】
電子計算機を用いてｘｙ平面上の２次元形状からｚ軸方向の情報を有する３次元形状に変換する形状変換方法において、ビットマップとして表現された２次元形状が２次元形状入力部から入力される手順と、前記２次元形状の各ビットに対応するｘｙ平面上の任意のピクセル形状から、ｘｙ方向の位置変化を含めたｚ軸方向の移動軌跡を伴う３次元形状への変換情報が制御情報入力部から入力される手順と、入力されたビットマップとして表現された前記２次元形状の各ビットに、前記３次元形状への変換情報を３次元形状変換部で対応させる手順を、電子計算機に実行させることを特徴とする２次元形状を３次元形状に変換する形状変換方法。
【請求項２】
請求項１記載の形状変換方法において、前記３次元形状への変換情報を入力する手順は、ｘｙ平面上の任意のピクセル形状から、ｘｙ方向の形状変化と、ｘｙ方向の位置変化を含めたｚ軸方向の移動軌跡を伴う３次元形状への変換情報を入力する手順であることを特徴とする電子計算機を用いた形状変換方法。
【請求項３】
請求項１〜２のいずれか１項に記載の形状変換方法において、前記２次元形状はビットマップフォントの文字データであることを特徴とする形状変換方法。
【請求項４】
請求項１〜３のいずれか１項に記載の形状変換方法を実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項５】
平面上のビットマップとして表現された２次元形状を受け取る２次元形状入力部と、該２次元形状を構成する各ビットに対応するピクセルの形状の移動の方法やその形状に加える変換などを指定する制御情報入力部と、前記２次元形状入力部から入力された２次元形状の各ビットに３次元形状を対応させることによって３次元形状を生成する３次元形状変換部と、変換された３次元形状を出力する３次元形状出力部を有し、請求項１〜３のいずれか１項に記載の形状変換方法によって、２次元形状を３次元形状に変換することを特徴とする形状変換装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子計算機を用いて２次元形状を３次元形状に変換する形状変換技術に係り、特に、ｘｙ平面上の２次元形状（例えば、ビットマップフォントなどの文字データ）として表現された図形に、ｚ軸方向の情報を付加することによって、これを立体図形（３次元形状）に加工する形状変換方法、および該方法を実行させるプログラムを記録した記録媒体、ならびに形状変換装置に関する。
【０００２】
【従来の技術】
従来から、２次元形状を３次元化する方法として様々な方法が提案されており、特にアウトラインフォントの分野においてはこれが著しい。ところが、従来提案されてきたものは、全て、２次元形状を３次元形状のように見せるようにしたものである。具体的な提案例としては、例えば「特開平８−３２８５３４号公報」に開示されたものが挙げられる。これは、文字の輪郭に、それを斜めにずらした際の軌跡としての「影」または「側面」を表現するための輪郭線を新たに付加することによって、その文字があたかも３次元空間にデザインされたものであるかのように見せるようにしたものである。たとえ、これらを拡張して、実際の３次元図形を作り出したとしても、その輪郭は曲線として残ってしまう。これを３次元形状として処理する場合、その計算量も多く、リアルタイムでの処理が困難である。
このように、２次元形状から、簡単に、３次元形状を生成する方法については、未だ、提案されていないのが実情である。
【０００３】
【発明が解決しようとする課題】
上述したように、従来技術においては、２次元形状を斜めにずらした軌跡によってデザイン的に３次元形状に見せかけるようにしたものはあるが、実際に２次元形状を３次元形状に変換することは行われていなかった。
本発明は、この状況に鑑み、与えられた２次元図形（例えば、ビットマップフォントの文字データ）から、簡単に、３次元形状を生成する形状変換方法、および該方法を実行させるプログラムを記録した記録媒体、ならびに形状変換装置を提供することを目的としている。
【０００４】
【課題を解決するための手段】
本発明の形状変換方法は、上記目的を達成するために、平面上のビットマップとして表現された２次元形状を入力し、入力された２次元形状を構成する各ビットそれぞれに３次元形状を対応させ、それらを合成することにより、２次元形状を３次元の形状に変換するようにしたことを特徴としている。２次元形状を構成する各ビットそれぞれに対応させる前記３次元形状は、該ビットに対応するピクセルの形状をこの平面とは独立した方向に移動した際の軌跡として得られるものであり、また、ピクセルの形状の移動の際に、その形状に変換を加えるようにしたことを特徴としている。
【０００５】
また、本形状変換方法を、文字データのビットマップに適用することにより、ビットマップフォントの立体化表示が可能になる。また、上記形状変換方法を実行させるプログラムを記録したフレキシブルディスクなどの記録媒体により、流通させることが可能になる。
【０００６】
また、本発明の形状変換装置は、ビットマップとして表現された２次元形状を受け取る２次元形状入力部（図１５の２１）と、該２次元形状を構成する各ビットに対応するピクセルの形状の移動の方法やその形状に加える変換などを指定する制御情報入力部（同２２）と、２次元形状入力部から入力された２次元形状の各ビットに３次元形状を対応させることによって３次元形状を生成する３次元形状変換部（同２３）と、変換された３次元形状を出力する３次元形状出力部（同２４）から構成される。３次元形状変換部は、前述した形状変換方法によって形状変換を行なう。
【０００７】
【発明の実施の形態】
以下、図面を用いて本発明の実施例を説明する。
（第１の実施例）
図１は、本発明の第１の実施例における形状変換方法の概略を示すフローチャートであり、ビットマップである２次元形状の各々のビットに３次元形状を対応させる処理手順を示している。第１の実施例において、平面上のビットマップである２次元形状が、縦Ｉビット、横Ｊビットから構成されるものとする。
【０００８】
同図に示すように、まず、ｉとｊに０を挿入する（ステップＳ１）。次に、ｉ＜Ｉか否かを判定し（ステップＳ２）、ｉ＜Ｉならば（ステップＳ２：Ｙ）、次に、ｊ＜Ｊか否かを判定する（ステップＳ３）。ｊがＪ未満であれば（ステップＳ３：Ｙ）、Ｐijに３次元形状を対応させる（ステップＳ４）。すなわち、全てのｉ（０≦ｉ＜Ｉ）とｊ（０≦ｊ＜Ｊ）の組み合わせに対し、ビットＰijに、例えば黒ビットに黒い形状、白ビットに透明な形状を対応させた適当な３次元形状を割り当てる。次に、ｊに１を加算した後（ステップＳ５）、ステップＳ３に戻る。ｊがＪ以上になったら（ステップＳ３：Ｎ）、ｊを０にリセットし（ステップＳ６）、ｉに１を加算した後（ステップＳ７）、ステップＳ２に戻る。これらを繰り返し、ｉがＩ以上になったら（ステップＳ２：Ｎ）、Ｐijに３次元形状を対応させる処理を終了する。以上により、縦Ｉビット，横Ｊビットの２次元形状全体が３次元形状に変換される。
【０００９】
図２は、第１の実施例の具体例を長方形の２次元図形を用いて説明する図である。
まず、図２（ａ）に元となる２次元図形を示す。ここでは、例として（５×４）の２０ビットで構成された長方形を用いるが、これはあくまでも、説明を簡単にするために単純な図形を選んだものである。それが、円やコニック曲線、Ｂezier曲線などの曲線で構成されるものであれ、ドーナツ型などの穴の開いた形状であれ、本質的な内容に変化は生じない。以下の説明は、その形状そのものに左右されるものではない。
【００１０】
また、ここでは、各ビットを正方形で表し、また、ビット間に隙間を設けて作図しているが、これらは、あくまでも、説明を容易にするための措置である。ビットの形状に制限は不要であるし、それらの間に隙間があってもなくても、本発明に影響はない。
【００１１】
さて、図２（ｂ）には、図２（ａ）において正方形で表された各ビットに直方体を対応させた例を示した。その結果、元の２次元形状の長方形が、３次元形状としての直方体に変換されている。この図においては、元の長方形を構成していた各ビットが隙間なく詰まって見える。これは、あくまで、図がいたずらに複雑になることを避けたものである。本発明の主張は、元の２次元形状の各ビットに３次元形状を対応づけることであり、その形状の間に隙間を設けてもよいし、重ね合わせても構わない。
【００１２】
また、図２（ｃ）には、（５×４）の長方形に並んでいる各ビットを円で表し、この各円に円柱を対応づけた例を示した。
但し、これらの例は、あくまでも、説明を単純にするために用意したものである。各ビットに対応づけられる３次元形状は、直線性を持ったものである必然性はなく、曲線に沿ったものでも全く問題はない。
本実施例によれば、与えられたビットマップの２次元形状から、簡単に、３次元形状を生成する方法を提供することが可能になる。
【００１３】
（第２の実施例）
第２の実施例は、２次元形状を構成する各ビットに対応させる３次元形状（曲がった直方体，曲がった円柱）を最初に生成しておく実施例である。
図３は、第２の実施例に特有の処理手順を示すフローチャートである。この実施例でも、平面上のビットマップである２次元形状が、縦Ｉビット、横Ｊビットから構成されるものとする。
【００１４】
同図に示すように、まず、最初のステップとして、２次元形状を構成する各ビットに対応させる３次元形状Ｃを生成する（ステップＳ１１）。次に、ｉとｊに０を挿入する（ステップＳ１２）。ｉとＩを比較し（ステップＳ１３）、ｉがＩ未満であれば（ステップＳ１３：Ｙ）、次に、ｊとＪを比較し（ステップＳ１４）、ｊがＪ未満であれば（ステップＳ１４：Ｙ）、Ｐijに、例えば黒ビットに黒い形状、白ビットに透明な形状を対応させた３次元形状Ｃを割り当てた後（ステップＳ１５）、ｊを１加算しステップＳ１４に戻り、同様の処理を繰り返す。
【００１５】
ステップＳ１４において、ｊがＪ以上になったら（ステップＳ１４：Ｎ）、ｊを０にリセットし（ステップＳ１７）、ｉを１加算して（ステップＳ１８）、ステップＳ１３に戻る。
以上の処理を繰り返し、ｉがＩ以上になったら（ステップＳ１３：Ｎ）、処理を終了する。
【００１６】
以上の処理により、全てのｉ（０≦ｉ＜Ｉ）とｊ（０≦ｊ＜Ｊ）の組み合わせに対し、ビットＰijに、生成した３次元形状Ｃを割り当てることにより、全体を３次元形状に変換することができる。
図４には、第２の実施例を用いて、第１の実施例と同一の長方形から３次元形状を生成した例を示す。図４（ａ）は元の長方形を示し、図４（ｂ）は２次元形状を構成する長方形の各ビットに「曲がった直方体」を割り当てた例を示し、図４（ｃ）は２次元形状を構成する長方形の各ビットに「曲がった円柱」を割り当てた例を示している。すなわち、図３のステップＳ１１で生成した３次元形状Ｃが「曲がった直方体」の場合の例が図４（ｂ）であり、「曲がった円柱」の場合の例が図４（ｃ）である。
本実施例によれば、簡単な処理により、２次元形状を、曲がった形状を有する３次元形状に変換することが可能になる。
【００１７】
（第３の実施例）
第３の実施例は、２次元形状を構成する各ビットに対応させる３次元形状（捻れた直方体，歪んだ円柱）を最初に生成しておく実施例である。図５は、第３の実施例に特有の処理手順を示すフローチャートである。この実施例でも、平面上のビットマップである２次元形状が、縦Ｉビット、横Ｊビットから構成されるものとする。
【００１８】
同図に示すように、まず、最初のステップとして、２次元形状を構成する各ビットに対応させる３次元形状Ｃを生成する（ステップＳ２１）。次に、ｉとｊに０を挿入する（ステップＳ２２）。ｉとＩを比較し（ステップＳ２３）、ｉがＩ未満であれば（ステップＳ２３：Ｙ）、次に、ｊとＪを比較し（ステップＳ２４）、ｊがＪ未満であれば（ステップＳ２４：Ｙ）、Ｐijに、例えば黒ビットに黒い形状、白ビットに透明な形状を対応させた３次元形状Ｆij（Ｃ）を対応させた後（ステップＳ２５）、ｊを１加算しステップＳ２４に戻り、同様の処理を繰り返す。なお、ここで３次元形状Ｆij（Ｃ）は、生成した３次元形状Ｃに変換Ｆijを施したものである。
【００１９】
ステップＳ２４において、ｊがＪ以上になったら（ステップＳ２４：Ｎ）、ｊを０にリセットし（ステップＳ２７）、ｉを１加算して（ステップＳ２８）、ステップＳ２３に戻る。
以上の処理を繰り返し、ｉがＩ以上になったら（ステップＳ２３：Ｎ）、処理を終了する。
【００２０】
以上の処理により、全てのｉ（０≦ｉ＜Ｉ）とｊ（０≦ｊ＜Ｊ）の組み合わせに対し、ビットＰijに、生成した３次元形状Ｃに変換Ｆijを施した、Ｆij（Ｃ）を割り当てることにより、全体を３次元形状に変換することができる。
図６には、第３の実施例を用いて、第１の実施例と同一の長方形から３次元形状を生成した例を示す。図６（ａ）は元の長方形を示し、図６（ｂ）は２次元形状を構成する長方形の各ビットに「捻れた直方体」を割り当てた例を示し、図６（ｃ）は２次元形状を構成する長方形の各ビットに「歪んだ円柱」を割り当てた例を示している。すなわち、図５のステップＳ２１で生成した３次元形状Ｃが「捻れた直方体」の場合の例が図６（ｂ）であり、「歪んだ円柱」の場合の例が図６（ｃ）である。
本実施例によれば、簡単な処理により、２次元形状を、捻れた形状または歪んだ形状を有する３次元形状に変換することが可能になる。
【００２１】
（第４の実施例）
第４の実施例は、前記第１〜第３の実施例の何れかにおいて、入力となる２次元形状を、「ビットマップフォント」の文字データに特定したものである。
（文字例１）
本例では、入力する２次元形状として、ゴシック文字の“目”という文字を取り上げる。
図７は、本例で取り上げたゴシック体の“目”という文字を、１５×１５メッシュでデザインした２次元形状の図である。図８は、図７の２次元形状を２次元のテーブルで表した実際のデータである。ここでは、“０”が白に、“１”が黒に対応している。
【００２２】
ただし、ここで、各ビットの色を白と黒の２色としたのは単に説明を簡単にするためであり、格別深い意味はない。その他の色を持っていた場合には、その色を割り当てればよく、本実施例に何の影響も与えない。
また、図８は、２次元のテーブルであるが、その実装上の形態も各種の形態があり得る。例えば、メモリの２次元配列でもよいし、メモリの１次元配列を２次元と解釈して用いることも可能である。メモリのバイトを構成する各ビットを、このテーブルの各要素に対応させてもよいし、ニブル，バイト，ワードなどの単位をテーブルの各要素に対応させてもよい。要するに、本実施例は、論理的な表現である図８を、物理的にどのように実装したものであってもよい。
【００２３】
本実施例では、このように表現された２次元形状を、前述した第１〜第３実施例のいずれかの形状変換方法を適用して３次元化（立体化）する。
図９は、図７の２次元形状に第１の実施例を適用した場合の図であり、２次元形状の各ビットに対応させる３次元形状としてその断面が正方形であるような直方体をそのまま用いた場合の例である。図９は、図がいたずらに煩雑化するのを避けるためにに文字の四隅に割り当てられた直方体のみを明示しているが、元の“目”という文字を構成していた全てのビットに同様の直方体が割り当てられていることはいうまでもない。
【００２４】
（文字例２）
本例では、入力する２次元形状として、ゴシック文字の“口”という文字を取り上げる。
図１０は、本例で取り上げたゴシック体の“口”という文字を、８×８メッシュでデザインした２次元形状の図である。
図１１は、図１０の２次元形状“口”に対して、第３の実施例の形状変換方法を適用した場合に生成される３次元形状の図である。
図１２は、各ビットに割り当てられる変換前の直方体を示す図である。
図１３は、各ビットに割り当てられた図１２の直方体に施す変換式を示す図である。
【００２５】
図１１では、点Ａを含むビットを基準（ｘ方向とｙ方向の基点；すなわち座標値（０，０））として、右にｉ番目、下にｊ番目のビットには、図１２に示す直方体に以下に示すような変換を施した３次元形状を割り当てる。すなわち、図１２の直方体の頂点Ｍを原点（０，０，０）とし、頂点Ｎを座標（０，０，５）とするとき、この直方体上の任意の点Ｐ（ｘ，ｙ，ｚ）に対して、図１３に示す座標変換を施す。この結果、全体としてみると、元の２次元形状“口”を、原点Ａを中心に時計回りに４５度回転しつつ、距離５だけｚ方向に移動し、最終的に大きさが２倍になるように拡大する、という変換を施した際の各点の軌跡として表される３次元形状が得られる。そのとき得られる３次元形状が図１１に示すものである。
本実施例によれば、ビットマップフォントの２次元形状の文字データから、これを３次元に拡張した形状を、容易に得ることが可能になる。
【００２６】
（第５の実施例）
図１４は、本発明を実現するためのコンピュータを構成する部分を模式的に描いた図である。同図において、１はＣＰＵ、２はプログラムメモリ、３はデータメモリ、４はディスプレイ、５はハードディスク、６はフレキシブルディスク、７はプリンタ、８はキーボード，スキャナ，マウスなどからなる入力装置である。ここで、上述のソフトウェア（プログラム）は、ハードディスク５，フレキシブルディスク６，ＣＤ−ＲＯＭといったいわゆる外部記憶装置に記憶され、実行の際にはメモリ上にロードされて使用される。ＣＰＵ１はこれを逐次的に読み出し、実行する。
【００２７】
前述した第１〜第４の実施例は、処理手順に特徴を有するものであり、コンピュータによって実行されるソフトウェア（プログラム）として記述し、フレキシブルディスクやＣＤ−ＲＯＭなどの記録媒体に格納して流通させることが可能である。
【００２８】
（第６の実施例）
図１５は、第６の実施例に係る形状変換装置の構成を示す図である。前述の第１〜第５の実施例を実現するために本形状変換装置は、同図に示すように、入力装置８と、プログラムメモリ２と、データメモリ３と、データ格納装置（ハードディスクなど）５０と、制御情報格納部９などから構成される。プログラムメモリ２は、２次元形状入力部２１，制御情報入力部２２，３次元形状変換部２３，３次元形状出力部２４，制御部２５から構成される。
【００２９】
２次元形状入力部２１は、ディスク装置などに代表されるデータ格納装置５０または入力装置８などから、２次元形状の輪郭線データを読み込む。
制御情報入力部２２は、この２次元形状を移動する方向や移動量などの情報とともに、この２次元形状に加える変換を指定するための情報、すわなち、この２次元形状を構成する輪郭点それぞれの軌跡を指定するための情報を、制御情報格納部９から読み込む。
【００３０】
３次元形状変換部２３は、制御情報入力部２１で読み込まれた情報を用いて、第１〜第４の実施例の何れかの方法を用いて、２次元形状入力部２１から読み込んだ２次元形状を３次元形状に変換する。
３次元形状出力部２４は、３次元形状変換部２３で変換された３次元形状を、ディスク装置などに代表されるデータ格納装置５０または出力装置などに出力する。
なお、制御部２５は、以上の処理全体の制御を行なうものである。データメモリ３は、上記各部の間でやり取りされるデータを一時的に記憶するために用いられる。
【００３１】
【発明の効果】
本発明によれば、与えられた２次元形状から、簡単に、３次元形状を生成する形状変換方法、該方法を実行させるプログラムを記録した記憶媒体、および形状変換装置を得ることが可能になる。
【図面の簡単な説明】
【図１】本発明の第１の実施例における形状変換方法の概略を示すフローチャートである。
【図２】第１の実施例の具体例を長方形の２次元図形を用いて説明する図である。
【図３】第２の実施例に特有の処理手順を示すフローチャートである。
【図４】第２の実施例を用いて、第１の実施例と同一の長方形から３次元形状を生成した例を示す。
【図５】第３の実施例に特有の処理手順を示すフローチャートである。
【図６】第３の実施例を用いて、第１の実施例と同一の長方形から３次元形状を生成した例を示す。
【図７】ゴシック体の“目”という文字を、１５×１５メッシュでデザインした２次元形状の図である。
【図８】図７の２次元形状を２次元のテーブルで表した実際のデータである。
【図９】図７の２次元形状に第１の実施例を適用した場合の図である。
【図１０】ゴシック体の“口”という文字を、８×８メッシュでデザインした２次元形状の図である。
【図１１】２次元形状“口”に対して、第３実施例の形状変換方法を適用した場合に生成される３次元形状の図である。
【図１２】各ビットに割り当てられる変換前の直方体を示す図である。
【図１３】図１２の直方体に施す変換式を示す図である。
【図１４】本発明を実現するためのコンピュータを構成する部分を模式的に描いた図である。
【図１５】第６の実施例に係る形状変換装置の構成を示す図である。
【符号の説明】
１：ＣＰＵ、２：プログラムメモリ、３：データメモリ、４：ディスプレイ、５：ディスク、６：フレキシブルディスク、７：プリンタ、８：入力装置、９：制御情報格納部、２１：２次元形状入力部、２２：制御情報入力部、２３：３次元形状変換部、２４：３次元形状出力部、２５：制御部、５０：データ格納装置
【図１】
0003807571.tif 000002
【図２】
0003807571.tif 000003
【図３】
0003807571.tif 000004
【図４】
0003807571.tif 000005
【図５】
0003807571.tif 000006
【図６】
0003807571.tif 000007
【図７】
0003807571.tif 000008
【図８】
0003807571.tif 000009
【図９】
0003807571.tif 000010
【図１０】
0003807571.tif 000011
【図１１】
0003807571.tif 000012
【図１２】
0003807571.tif 000013
【図１３】
0003807571.tif 000014
【図１４】
0003807571.tif 000015
【図１５】
0003807571.tif 000016