JPH08194840A - 図形入出力装置 - Google Patents
図形入出力装置Info
- Publication number
- JPH08194840A JPH08194840A JP7004620A JP462095A JPH08194840A JP H08194840 A JPH08194840 A JP H08194840A JP 7004620 A JP7004620 A JP 7004620A JP 462095 A JP462095 A JP 462095A JP H08194840 A JPH08194840 A JP H08194840A
- Authority
- JP
- Japan
- Prior art keywords
- model
- edge
- input
- dimensional
- coordinate system
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three-dimensional [3D] modelling for computer graphics
- G06T17/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
Landscapes
- Physics & Mathematics (AREA)
- Geometry (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
【目的】 設計者が画面上にスケッチ感覚でアイソメ図
や透視図を描くことで容易に立体モデルを作成する。 【構成】 立体モデルのスケッチをするためタブレツト
から入力された点列データが入力されると(30〜3
6)、図形認識処理を行う(38)。次に認識された図
形を自動編集処理をした後に図形に対するモデル生成面
を生成する(40〜46)。次に3次元空間の座標系に
おいて視点及びタブレット上の点を結ぶ投影線を生成し
生成されたモデル生成面と投影線との交点を求め、稜線
等を導出する(48)。次に導出された稜線等による立
体モデルデータを導出しデータを記憶する(50、5
2)。この記憶されたデータ(3次元)を2次元座標に
変換し、タブレット上に表示する(54、56)。
や透視図を描くことで容易に立体モデルを作成する。 【構成】 立体モデルのスケッチをするためタブレツト
から入力された点列データが入力されると(30〜3
6)、図形認識処理を行う(38)。次に認識された図
形を自動編集処理をした後に図形に対するモデル生成面
を生成する(40〜46)。次に3次元空間の座標系に
おいて視点及びタブレット上の点を結ぶ投影線を生成し
生成されたモデル生成面と投影線との交点を求め、稜線
等を導出する(48)。次に導出された稜線等による立
体モデルデータを導出しデータを記憶する(50、5
2)。この記憶されたデータ(3次元)を2次元座標に
変換し、タブレット上に表示する(54、56)。
Description
【0001】
【産業上の利用分野】本発明は、図形入出力装置にかか
り、特に、手で描かれたスケツチをコンピユータに入力
して立体形状等を示す立体モデルを作成して表示する図
形入出力装置に関する。
り、特に、手で描かれたスケツチをコンピユータに入力
して立体形状等を示す立体モデルを作成して表示する図
形入出力装置に関する。
【0002】
【従来の技術】従来より、物体の立体形状等を示す立体
モデル作成のための3次元CADシステムが知られてい
る。この3次元CADシステムにより立体モデルを作成
する際には、立体モデルの各頂点の3次元座標値をモデ
ル形状に沿って逐次入力するのが一般的である。この場
合、設計者は一旦イメージしたモデル形状を3次元CA
Dシステムで扱うことが可能な3次元座標系上に配置さ
せたことを想定し、モデル形状の各頂点座標値を3次元
座標系上における絶対値または相対値として予め算出し
ておく必要がある。この算出された座標値を用いて、モ
デル形状の種類毎に対応する専用のコマンドによってモ
デル形状の各頂点座標を数値入力する。一般的には、そ
の入力過程および結果をアイソメ図等の投影図で確認し
ている。
モデル作成のための3次元CADシステムが知られてい
る。この3次元CADシステムにより立体モデルを作成
する際には、立体モデルの各頂点の3次元座標値をモデ
ル形状に沿って逐次入力するのが一般的である。この場
合、設計者は一旦イメージしたモデル形状を3次元CA
Dシステムで扱うことが可能な3次元座標系上に配置さ
せたことを想定し、モデル形状の各頂点座標値を3次元
座標系上における絶対値または相対値として予め算出し
ておく必要がある。この算出された座標値を用いて、モ
デル形状の種類毎に対応する専用のコマンドによってモ
デル形状の各頂点座標を数値入力する。一般的には、そ
の入力過程および結果をアイソメ図等の投影図で確認し
ている。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
3次元CADシステムでは、設計者がイメージしたモデ
ル形状について3次元座標系上に配置させたことを想定
しながら座標値を求めることは、設計者に過大な負担を
要求し、更に算出された座標値を入力するため、モデル
形状に対応するコマンドを逐次選択しなければならない
ので、入力操作に要する手間は膨大であり、非効率な作
業であった。
3次元CADシステムでは、設計者がイメージしたモデ
ル形状について3次元座標系上に配置させたことを想定
しながら座標値を求めることは、設計者に過大な負担を
要求し、更に算出された座標値を入力するため、モデル
形状に対応するコマンドを逐次選択しなければならない
ので、入力操作に要する手間は膨大であり、非効率な作
業であった。
【0004】本発明は、上記事実を考慮して、設計者が
画面上にスケッチ感覚でアイソメ図や透視図を描くこと
で容易に立体モデルを作成できる図形入出力装置を得る
ことが目的である。
画面上にスケッチ感覚でアイソメ図や透視図を描くこと
で容易に立体モデルを作成できる図形入出力装置を得る
ことが目的である。
【0005】
【課題を解決するための手段】上記目的を達成するため
に本発明は、電子ペンと、作成すべき物体の形状を入力
するための予め定めた3次元空間の座標系における当該
物体の投影面に対応するタブレツトとから成り、当該タ
ブレツト上の電子ペンの軌跡を点列データに変換して入
力する入力手段と、入力された点列データに基づいて前
記軌跡が幾何学におけるどの図形を表しているかを判断
する判断手段と、前記判断手段で判断された図形の頂
点、端点または当該図形に関連する予め定めた点の何れ
かの特定点を用いて、予め定めた条件に従って前記3次
元空間の座標系にモデル生成用平面を生成する面生成手
段と、前記面生成手段で生成されたモデル生成用平面
と、前記物体の前記3次元空間の座標系における視点及
び前記投影面上の前記特定点を結ぶ投影線との交点を求
めることによって前記3次元空間の座標系における前記
特定点のモデル座標を演算する座標演算手段と、前記座
標演算手段で演算されたモデル座標と前記判断手段で判
断された図形とから前記3次元空間の座標系における当
該図形の位置を決定すると共に立体モデルデータを生成
するモデルデータ生成手段と、前記モデルデータ生成手
段で生成された立体モデルデータの各モデル座標を表示
座標系に変換して表示装置に表示させる表示手段と、を
含んでいる。
に本発明は、電子ペンと、作成すべき物体の形状を入力
するための予め定めた3次元空間の座標系における当該
物体の投影面に対応するタブレツトとから成り、当該タ
ブレツト上の電子ペンの軌跡を点列データに変換して入
力する入力手段と、入力された点列データに基づいて前
記軌跡が幾何学におけるどの図形を表しているかを判断
する判断手段と、前記判断手段で判断された図形の頂
点、端点または当該図形に関連する予め定めた点の何れ
かの特定点を用いて、予め定めた条件に従って前記3次
元空間の座標系にモデル生成用平面を生成する面生成手
段と、前記面生成手段で生成されたモデル生成用平面
と、前記物体の前記3次元空間の座標系における視点及
び前記投影面上の前記特定点を結ぶ投影線との交点を求
めることによって前記3次元空間の座標系における前記
特定点のモデル座標を演算する座標演算手段と、前記座
標演算手段で演算されたモデル座標と前記判断手段で判
断された図形とから前記3次元空間の座標系における当
該図形の位置を決定すると共に立体モデルデータを生成
するモデルデータ生成手段と、前記モデルデータ生成手
段で生成された立体モデルデータの各モデル座標を表示
座標系に変換して表示装置に表示させる表示手段と、を
含んでいる。
【0006】また、前記表示手段に表示された図形が修
正された場合には、前記立体モデルデータを更新するこ
とができる。
正された場合には、前記立体モデルデータを更新するこ
とができる。
【0007】
【作用】本発明の入力手段は、電子ペンとタブレツトと
から構成されており、タブレットは、作成すべき物体の
形状を入力するための予め定めた3次元空間の座標系に
おける当該物体の投影面に対応する。入力手段は、この
タブレツト上の電子ペンの軌跡を点列データに変換して
入力する。従って、電子ペンを用いてタブレツト上で作
図することで手描きされた図形のデータが点列データに
変換されて入力される。判断手段は、入力された点列デ
ータに基づいてタブレツト上の電子ペンの軌跡が2次元
幾何学におけるどの図形を表わしているかを判断する。
面生成手段は、この判断手段で判断された図形の頂点、
端点または当該図形に関連する予め定めた点の何れかの
特定点を用いて、予め定めた条件に従って前記3次元空
間の座標系にモデル生成用平面を生成する。従って、設
計者は、図形を入力する毎にモデル生成用平面を想定し
入力することがない。座標演算手段では、面生成手段で
生成されたモデル生成用平面と、物体の3次元空間の座
標系における視点及び投影面上の特定点を結ぶ投影線と
の交点を求めることによって、3次元空間の座標系にお
ける特定点のモデル座標を演算する。モデルデータ生成
手段は、座標演算手段で演算されたモデル座標と判断手
段で判断された図形とから3次元空間の座標系における
当該図形の位置を決定すると共に立体モデルデータを生
成する。表示手段は、モデルデータ生成手段で生成され
た立体モデルデータの各モデル座標を表示座標系に変換
して表示装置に表示させる。従って、図形を入力する毎
に3次元空間を想定した座標入力及びコマンド入力する
ことなく、設計者がイメージした図形を入力するのみ
で、立体モデルが生成できる。
から構成されており、タブレットは、作成すべき物体の
形状を入力するための予め定めた3次元空間の座標系に
おける当該物体の投影面に対応する。入力手段は、この
タブレツト上の電子ペンの軌跡を点列データに変換して
入力する。従って、電子ペンを用いてタブレツト上で作
図することで手描きされた図形のデータが点列データに
変換されて入力される。判断手段は、入力された点列デ
ータに基づいてタブレツト上の電子ペンの軌跡が2次元
幾何学におけるどの図形を表わしているかを判断する。
面生成手段は、この判断手段で判断された図形の頂点、
端点または当該図形に関連する予め定めた点の何れかの
特定点を用いて、予め定めた条件に従って前記3次元空
間の座標系にモデル生成用平面を生成する。従って、設
計者は、図形を入力する毎にモデル生成用平面を想定し
入力することがない。座標演算手段では、面生成手段で
生成されたモデル生成用平面と、物体の3次元空間の座
標系における視点及び投影面上の特定点を結ぶ投影線と
の交点を求めることによって、3次元空間の座標系にお
ける特定点のモデル座標を演算する。モデルデータ生成
手段は、座標演算手段で演算されたモデル座標と判断手
段で判断された図形とから3次元空間の座標系における
当該図形の位置を決定すると共に立体モデルデータを生
成する。表示手段は、モデルデータ生成手段で生成され
た立体モデルデータの各モデル座標を表示座標系に変換
して表示装置に表示させる。従って、図形を入力する毎
に3次元空間を想定した座標入力及びコマンド入力する
ことなく、設計者がイメージした図形を入力するのみ
で、立体モデルが生成できる。
【0008】この表示手段に表示された図形が修正され
た場合には、立体モデルデータを更新することができ
る。
た場合には、立体モデルデータを更新することができ
る。
【0009】なお、本発明でいう図形は、点、線、面等
の集合から成るものをいい、文字、記号等も含まれる。
の集合から成るものをいい、文字、記号等も含まれる。
【0010】
【実施例】以下、図面を参照して本発明の実施例を詳細
に説明する。図2は本実施例の概略図を示すもので、図
形処理用のコンピユータ10はCPU、ROM、RAM
及びメモリ(MEM)を備えている。本実施例のメモリ
(MEM)には、詳細を後述するモデル生成面を自動的
に生成するための条件が記憶されると共に、詳細を後述
するオイラ演算子が予め記憶されている。コンピユータ
10には、タブレツト16(ディジタイザ)が接続され
ている。このタブレツト16には電子ペン18が接続さ
れており、電子ペン18の先端をタブレツト16の表面
に接触させて移動させることにより移動軌跡が点列デー
タに変換されてコンピユータ10内に入力される。この
入力は、キーボード14や図示を省略したマウスでも可
能である。本実施例のタブレット16は、液晶表示装置
と組み合わされており、このタブレットを使用して液晶
表示装置にメニュー画面等を表示することにより、電子
ペンでのメニュー選択や電子ペンでのデータ入力等が容
易になる。また、オプションとして当該液晶表示装置と
同一の画像を表示するための表示用ディスプレイ(以
下、CRT)12を接続することも可能である。このコ
ンピユータ10のROMには以下で説明する図形処理用
の制御ルーチンのプログラム等が予め記憶されている。
に説明する。図2は本実施例の概略図を示すもので、図
形処理用のコンピユータ10はCPU、ROM、RAM
及びメモリ(MEM)を備えている。本実施例のメモリ
(MEM)には、詳細を後述するモデル生成面を自動的
に生成するための条件が記憶されると共に、詳細を後述
するオイラ演算子が予め記憶されている。コンピユータ
10には、タブレツト16(ディジタイザ)が接続され
ている。このタブレツト16には電子ペン18が接続さ
れており、電子ペン18の先端をタブレツト16の表面
に接触させて移動させることにより移動軌跡が点列デー
タに変換されてコンピユータ10内に入力される。この
入力は、キーボード14や図示を省略したマウスでも可
能である。本実施例のタブレット16は、液晶表示装置
と組み合わされており、このタブレットを使用して液晶
表示装置にメニュー画面等を表示することにより、電子
ペンでのメニュー選択や電子ペンでのデータ入力等が容
易になる。また、オプションとして当該液晶表示装置と
同一の画像を表示するための表示用ディスプレイ(以
下、CRT)12を接続することも可能である。このコ
ンピユータ10のROMには以下で説明する図形処理用
の制御ルーチンのプログラム等が予め記憶されている。
【0011】本実施例では、設計者がイメージした物体
をモデルとしてタブレット16の液晶表示装置に描画す
るために、電子ペン18でタブレツト16の表面を摺動
させ、その軌跡が表示される。従って、このタブレット
16上の平面は、物体を投影した投影面と考えられる。
以下に、この2次元平面であるモデル投影面上の座標を
自動的に3次元空間の座標に変換する方法を説明する。
をモデルとしてタブレット16の液晶表示装置に描画す
るために、電子ペン18でタブレツト16の表面を摺動
させ、その軌跡が表示される。従って、このタブレット
16上の平面は、物体を投影した投影面と考えられる。
以下に、この2次元平面であるモデル投影面上の座標を
自動的に3次元空間の座標に変換する方法を説明する。
【0012】図3に示すように、通常、コンピュータで
3次元モデルの投影図を扱うときには、次の3種類の座
標系を用いる。
3次元モデルの投影図を扱うときには、次の3種類の座
標系を用いる。
【0013】1)絶対座標系W(World Cood
inates) 全ての座標系の基準となる座標系 本実施例では物体を表現するためのモデルの座標値も絶
対座標系で扱う 2)視点座標系C(Camera Coodinat
e) 人間の視点座標を原点とする座標系 3)画面座標系S(Screen Coodinat
e) タブレット16の液晶表示画面上の2次元の座標系
inates) 全ての座標系の基準となる座標系 本実施例では物体を表現するためのモデルの座標値も絶
対座標系で扱う 2)視点座標系C(Camera Coodinat
e) 人間の視点座標を原点とする座標系 3)画面座標系S(Screen Coodinat
e) タブレット16の液晶表示画面上の2次元の座標系
【0014】絶対座標系Wに置かれたモデルの座標値は
まず視点座標系Cの座標値に変換され、次にモデルの投
影面である画面座標系Sの座標値に投影変換されてタブ
レット16の液晶表示画面上に表示される。
まず視点座標系Cの座標値に変換され、次にモデルの投
影面である画面座標系Sの座標値に投影変換されてタブ
レット16の液晶表示画面上に表示される。
【0015】従って、画面に投影されたモデルの2次元
の座標が与えられた時、実際の3次元空間におけるモデ
ルの3次元の座標(以下、モデル座標という。)は、図
4に示すように、絶対座標系W上において視点座標P1
wと画面座標P2wの2点を結ぶ直線Lw(この線を仮
に投影線Lwと呼ぶ)上の何れかに存在することなる。
の座標が与えられた時、実際の3次元空間におけるモデ
ルの3次元の座標(以下、モデル座標という。)は、図
4に示すように、絶対座標系W上において視点座標P1
wと画面座標P2wの2点を結ぶ直線Lw(この線を仮
に投影線Lwと呼ぶ)上の何れかに存在することなる。
【0016】ここで、投影線Lw上のモデル座標Pwの
位置を同定するためにモデル生成面MPという概念を導
入する。「モデル生成面」とは入力されたモデルの2次
元の座標がその面上に存在する絶対座標系W上における
平面のことである。画面上に入力された2次元の座標が
モデル生成面MP上の何れにあるか予め分かれば、実際
のモデル座標は投影線Lwと、モデル生成面MPの交点
を計算することで求めることができる。
位置を同定するためにモデル生成面MPという概念を導
入する。「モデル生成面」とは入力されたモデルの2次
元の座標がその面上に存在する絶対座標系W上における
平面のことである。画面上に入力された2次元の座標が
モデル生成面MP上の何れにあるか予め分かれば、実際
のモデル座標は投影線Lwと、モデル生成面MPの交点
を計算することで求めることができる。
【0017】既存のCADシステムで、モデル投影画面
上で直接座標指示する場合は、座標指示を行なう前に逐
次モデル生成面MPを設定する必要があるため、操作が
繁雑になる。そこで、本実施例ではモデルの稜線入力の
際に次の4条件を設定することでモデル生成面MPの設
定作業を不要にし、操作性を高めている。但し、以下の
仮定は直線の稜線が入力された場合である。
上で直接座標指示する場合は、座標指示を行なう前に逐
次モデル生成面MPを設定する必要があるため、操作が
繁雑になる。そこで、本実施例ではモデルの稜線入力の
際に次の4条件を設定することでモデル生成面MPの設
定作業を不要にし、操作性を高めている。但し、以下の
仮定は直線の稜線が入力された場合である。
【0018】[条件] (1)一番最初の点は高さ0(Y軸方向の座標値)の平
面に存在する (2)線分端点の少なくとも片方は必ず既存の線分上に
描かれる (3)Y軸(高さ方向)に描かれた線分はまず垂直の稜
線と考える (4)Y軸に平行でない線分は水平の稜線とする (5)既存の面上に描かれた線はその面上にあるとする
面に存在する (2)線分端点の少なくとも片方は必ず既存の線分上に
描かれる (3)Y軸(高さ方向)に描かれた線分はまず垂直の稜
線と考える (4)Y軸に平行でない線分は水平の稜線とする (5)既存の面上に描かれた線はその面上にあるとする
【0019】上記の条件を考慮して次のようにモデル生
成図MPを自動的に設定する。まず、条件(1)で一番
最初の点のモデル生成面MPは、Y=0とする。条件
(2)で線分の端点のどちらかは必ず既存の線分上に存
在するのでその点の座標は既存の線分を按分することで
求めることができる。もう一方に端点の既存の線分上に
無い場合は、条件(3)、(4)、(5)に従ってモデ
ル生成面MPを設定する。すなわち条件(3)では入力
された線分を含みかつ投影線のXZ成分ベクトルと垂直
な面をモデル生成面MPとする。条件(4)では既存の
線分上の端点のY座標を含む水平面をモデル生成面MP
とする。条件(5)では既存の面をモデル生成面MPと
する。
成図MPを自動的に設定する。まず、条件(1)で一番
最初の点のモデル生成面MPは、Y=0とする。条件
(2)で線分の端点のどちらかは必ず既存の線分上に存
在するのでその点の座標は既存の線分を按分することで
求めることができる。もう一方に端点の既存の線分上に
無い場合は、条件(3)、(4)、(5)に従ってモデ
ル生成面MPを設定する。すなわち条件(3)では入力
された線分を含みかつ投影線のXZ成分ベクトルと垂直
な面をモデル生成面MPとする。条件(4)では既存の
線分上の端点のY座標を含む水平面をモデル生成面MP
とする。条件(5)では既存の面をモデル生成面MPと
する。
【0020】次に、モデル稜線の加筆・修正に応じて立
体モデルデータを自動的に構築する方法を説明する。
体モデルデータを自動的に構築する方法を説明する。
【0021】本実施例の立体モデルデータはスプリット
・エッジ境界表現形式のソリッドモデルデータ構造を有
している。このスプリット・エッジ境界表現形式では、
立体は、その境界面で表現することができ、主要な位相
要素として、この立体は面により構成され、面はそれを
構成する稜線からなり、稜線は両端の頂点を有する構造
となる。
・エッジ境界表現形式のソリッドモデルデータ構造を有
している。このスプリット・エッジ境界表現形式では、
立体は、その境界面で表現することができ、主要な位相
要素として、この立体は面により構成され、面はそれを
構成する稜線からなり、稜線は両端の頂点を有する構造
となる。
【0022】図5に示すように、情報Product は全デー
タの検索ノードである。情報Bodyはモデルの情報である
面(Face)、稜線(Edge)、頂点(Vertex)の検索ノー
ドを有している。このようなスプリッド・エッジ境界表
現形式の特徴は、モデルの各稜線がハーフエッジ情報
(HalfEdge)と呼ばれる2つの反対向きで一対のベクト
ル情報を有し、ハーフエッジ情報のつながり情報(Lo
op)によってモデル形状の位相を保つことにある。こ
れらの情報は、モデルが有する境界面のつながり具合の
みを表す情報であり、位相情報(位相要素、topology)
ともいう。
タの検索ノードである。情報Bodyはモデルの情報である
面(Face)、稜線(Edge)、頂点(Vertex)の検索ノー
ドを有している。このようなスプリッド・エッジ境界表
現形式の特徴は、モデルの各稜線がハーフエッジ情報
(HalfEdge)と呼ばれる2つの反対向きで一対のベクト
ル情報を有し、ハーフエッジ情報のつながり情報(Lo
op)によってモデル形状の位相を保つことにある。こ
れらの情報は、モデルが有する境界面のつながり具合の
みを表す情報であり、位相情報(位相要素、topology)
ともいう。
【0023】なお、この位相情報に対して、モデルの実
際の形状を表す情報として、面(Face)に付属する曲面
(surface 、面の形状)、稜線(Edge)に付属する曲線
(curve 、線の形状)、頂点(Vertex)の有する点(po
int 、3次元の座標値)等の幾何情報(幾何要素、geom
etry)がある。
際の形状を表す情報として、面(Face)に付属する曲面
(surface 、面の形状)、稜線(Edge)に付属する曲線
(curve 、線の形状)、頂点(Vertex)の有する点(po
int 、3次元の座標値)等の幾何情報(幾何要素、geom
etry)がある。
【0024】本実施例では、モデルの稜線の加筆・修正
に応じて、上記のデータ構造を構築・維持するために周
知のオイラー演算子に加え、次の[オイラー演算子]に
示す新規な7つのオイラー演算子を用いている。なお、
このオイラー演算子とは、モデル形状の位相を保つため
のプログラム・ルーチンに相当し、モデル形状の位相を
維持しながら上記の情報間の隣接関係を導出する操作を
いう。
に応じて、上記のデータ構造を構築・維持するために周
知のオイラー演算子に加え、次の[オイラー演算子]に
示す新規な7つのオイラー演算子を用いている。なお、
このオイラー演算子とは、モデル形状の位相を保つため
のプログラム・ルーチンに相当し、モデル形状の位相を
維持しながら上記の情報間の隣接関係を導出する操作を
いう。
【0025】[オイラー演算子] 演算子1:Make_Body 演算子2:Make_Strut_Edge 演算子3:Make_Face 演算子4:Make_Inner_Loop 演算子5:Delete_Edge 演算子6:Breake_Edge 演算子7:Extend_Edge
【0026】図6に示すように、演算子1(Make_
Body)は、1番最初の線分が入力された場合に適用
される。すなわち、第1の点P1 を始点とし第2の点P
2 を終点とする新規な線L1 が入力されたときには(図
6(1)参照)、この新規な線L1 が新規な稜線(New
Edge)に対応され、この稜線(New Edge)の第1の頂点
Vertex[0] 及び第2の頂点Vertex[1] が定まると共に、
反対向きの方向のハーフエッジ情報HalfEdge[0],HalfEd
ge[1] が定まる(図6(2)参照)。
Body)は、1番最初の線分が入力された場合に適用
される。すなわち、第1の点P1 を始点とし第2の点P
2 を終点とする新規な線L1 が入力されたときには(図
6(1)参照)、この新規な線L1 が新規な稜線(New
Edge)に対応され、この稜線(New Edge)の第1の頂点
Vertex[0] 及び第2の頂点Vertex[1] が定まると共に、
反対向きの方向のハーフエッジ情報HalfEdge[0],HalfEd
ge[1] が定まる(図6(2)参照)。
【0027】図7に示すように、演算子2(Make_
Strut_Edge)は、片方の端点のみが既存の線
分上にある場合に適用される。すなわち、ハーフエッジ
情報を伴う3つの稜線Edge[0],[1],[2] に(図7(1)
参照)、新規な線L2 が入力されたときには(図7
(2)参照)、この新規な線L2 が新規な稜線Edge[3]
に対応され、反対向きの方向のハーフエッジ情報HalfEd
ge[0],HalfEdge[1] が定まる(図7(3)参照)。ここ
では、稜線Edge[3] にかかる既存の稜線Edge[2] は、稜
線Edge[0],[1] から形成された枝のような既存の線分の
稜線(Strut_Edge)であり、この稜線Edge
[2] の一方のハーフエッジ情報がつながり候補(pNe
xtHedge)に設定される。なお、この演算子2
(Make_Strut_Edge)の詳細は後述す
る。
Strut_Edge)は、片方の端点のみが既存の線
分上にある場合に適用される。すなわち、ハーフエッジ
情報を伴う3つの稜線Edge[0],[1],[2] に(図7(1)
参照)、新規な線L2 が入力されたときには(図7
(2)参照)、この新規な線L2 が新規な稜線Edge[3]
に対応され、反対向きの方向のハーフエッジ情報HalfEd
ge[0],HalfEdge[1] が定まる(図7(3)参照)。ここ
では、稜線Edge[3] にかかる既存の稜線Edge[2] は、稜
線Edge[0],[1] から形成された枝のような既存の線分の
稜線(Strut_Edge)であり、この稜線Edge
[2] の一方のハーフエッジ情報がつながり候補(pNe
xtHedge)に設定される。なお、この演算子2
(Make_Strut_Edge)の詳細は後述す
る。
【0028】図8に示すように、演算子3(Make_
Face)は線分の追加により面が形成される場合に適
用される。すなわち、ハーフエッジ情報を伴う3つの稜
線Edge[0],[1],[2] の2つの稜線に対し(図8(1)参
照)、新規な線L3 が入力されたときには(図8(2)
参照)、この新規な線L3 が新規な稜線Edge[4] に対応
され、反対向きの方向のハーフエッジ情報HalfEdge[0],
HalfEdge[1] が定まる(図8(3)参照)。また、この
稜線Edge[4] にかかる既存の稜線Edge[1],[2]につい
て、同一方向のハーフエッジ情報が一対のつながり候補
(pNextHdge)に設定され、これら稜線Edge
[0],[1],[2],[4] 内部に含まれるハーフエッジ情報が閉
じたループ(Close Loop)に定まる。なお、
この演算子3(Make_Face)の詳細は後述す
る。
Face)は線分の追加により面が形成される場合に適
用される。すなわち、ハーフエッジ情報を伴う3つの稜
線Edge[0],[1],[2] の2つの稜線に対し(図8(1)参
照)、新規な線L3 が入力されたときには(図8(2)
参照)、この新規な線L3 が新規な稜線Edge[4] に対応
され、反対向きの方向のハーフエッジ情報HalfEdge[0],
HalfEdge[1] が定まる(図8(3)参照)。また、この
稜線Edge[4] にかかる既存の稜線Edge[1],[2]につい
て、同一方向のハーフエッジ情報が一対のつながり候補
(pNextHdge)に設定され、これら稜線Edge
[0],[1],[2],[4] 内部に含まれるハーフエッジ情報が閉
じたループ(Close Loop)に定まる。なお、
この演算子3(Make_Face)の詳細は後述す
る。
【0029】図9に示すように、演算子4(Make_
Inner_Loop)は既存の面内に孤立した線分が
描かれた場合に適用される。すなわち、稜線Edge[0],
[1],[2],[3] で形成される面Face内にハーフエッジ情報
を伴う稜線Edge[5] が定まるのは(図9(1)参照)、
順次稜線が形成され閉じたループが形成され(図9
(2)参照)、この稜線から新規な稜線等が増殖される
(図9(3)参照)前段階であると考えられるためであ
る。
Inner_Loop)は既存の面内に孤立した線分が
描かれた場合に適用される。すなわち、稜線Edge[0],
[1],[2],[3] で形成される面Face内にハーフエッジ情報
を伴う稜線Edge[5] が定まるのは(図9(1)参照)、
順次稜線が形成され閉じたループが形成され(図9
(2)参照)、この稜線から新規な稜線等が増殖される
(図9(3)参照)前段階であると考えられるためであ
る。
【0030】図10に示すように、演算子5(Dele
te_Edge)は既存の線分を消去する場合に適用さ
れる。なお、演算子5では、以下の4つの場合を考慮す
る必要がある。第1の場合は独立した線分の稜線の消去
であり(図10(1)参照)、この場合には全てを消去
する。第2の場合は演算子2(Make_Strut_
Edge)で説明した既存の稜線から形成された枝のよ
うな既存の線分の稜線(Strut_Edge)の消去
であり(図10(2)参照)、この場合には稜線(St
rut_Edge)及びハーフエッジ情報を消去すると
共に、HalfEdge[0],[2] によりループ情報を形成するよ
うに、すなわちハーフエッジ情報が関連するようにする
(図10(3)参照)。第3の場合は1つのループを形
成し連続する稜線の内部の1つの線分(の稜線、same l
oop edge)の消去であり(図10(4)参照)、この場
合には該当する稜線及びハーフエッジ情報を消去すると
共に、この消去により独立する線分の稜線を独立した新
規な稜線としかつ独立するループを修正ループ情報(mo
dified loop )を形成するように、すなわちハーフエッ
ジ情報が関連するようにする(図10(5)参照)。第
4の場合は異なる複数のループを形成する何れかのルー
プ内で連続する稜線の1つの線分(の稜線、different
loop edge )の消去であり(図10(6)参照)、この
場合には該当する稜線及びハーフエッジ情報を消去する
と共に、この消去により独立したループ(deleted loo
p)が解消されるので、独立したループを既存のループ
に帰属するように修正ループ情報(modified loop )を
形成、すなわちハーフエッジ情報が関連させる(図10
(7)参照)。
te_Edge)は既存の線分を消去する場合に適用さ
れる。なお、演算子5では、以下の4つの場合を考慮す
る必要がある。第1の場合は独立した線分の稜線の消去
であり(図10(1)参照)、この場合には全てを消去
する。第2の場合は演算子2(Make_Strut_
Edge)で説明した既存の稜線から形成された枝のよ
うな既存の線分の稜線(Strut_Edge)の消去
であり(図10(2)参照)、この場合には稜線(St
rut_Edge)及びハーフエッジ情報を消去すると
共に、HalfEdge[0],[2] によりループ情報を形成するよ
うに、すなわちハーフエッジ情報が関連するようにする
(図10(3)参照)。第3の場合は1つのループを形
成し連続する稜線の内部の1つの線分(の稜線、same l
oop edge)の消去であり(図10(4)参照)、この場
合には該当する稜線及びハーフエッジ情報を消去すると
共に、この消去により独立する線分の稜線を独立した新
規な稜線としかつ独立するループを修正ループ情報(mo
dified loop )を形成するように、すなわちハーフエッ
ジ情報が関連するようにする(図10(5)参照)。第
4の場合は異なる複数のループを形成する何れかのルー
プ内で連続する稜線の1つの線分(の稜線、different
loop edge )の消去であり(図10(6)参照)、この
場合には該当する稜線及びハーフエッジ情報を消去する
と共に、この消去により独立したループ(deleted loo
p)が解消されるので、独立したループを既存のループ
に帰属するように修正ループ情報(modified loop )を
形成、すなわちハーフエッジ情報が関連させる(図10
(7)参照)。
【0031】図11に示すように、演算子6(Brak
e_Edge)は既存の線分を分割する場合に適用され
る。すなわち、既存の線分L6 を分割するときに(図1
1(1)参照)、その線分上の分割位置に頂点を挿入す
ると共に挿入された頂点により分割される一方を既存線
分L6 の稜線としかつ他方を新規線分の稜線(New Edg
e)とする(図11(2)参照)。なお、頂点を介して
連続する稜線を合成する場合には、上記方法を逆に行え
ばよい。実際には線分中に頂点を挿入するルーチンと線
分中に頂点を消去するルーチンを用意する。
e_Edge)は既存の線分を分割する場合に適用され
る。すなわち、既存の線分L6 を分割するときに(図1
1(1)参照)、その線分上の分割位置に頂点を挿入す
ると共に挿入された頂点により分割される一方を既存線
分L6 の稜線としかつ他方を新規線分の稜線(New Edg
e)とする(図11(2)参照)。なお、頂点を介して
連続する稜線を合成する場合には、上記方法を逆に行え
ばよい。実際には線分中に頂点を挿入するルーチンと線
分中に頂点を消去するルーチンを用意する。
【0032】図12に示すように、演算子7(Exte
nd_Edge)は既存の線分を延長する場合に適用さ
れる。すなわち、既存の線分L7 の稜線Edge[7] で(図
12(1)参照)、延長点P7 が指示されて稜線Edge
[7] の頂点P(strut vertex)から延長点P7 までの稜
線Edge[8] が形成されたときには(図12(2)参
照)、既存の稜線Edge[7] を延長すると共に、形成され
た稜線Edge[8] を消去する(図12(3)参照)。
nd_Edge)は既存の線分を延長する場合に適用さ
れる。すなわち、既存の線分L7 の稜線Edge[7] で(図
12(1)参照)、延長点P7 が指示されて稜線Edge
[7] の頂点P(strut vertex)から延長点P7 までの稜
線Edge[8] が形成されたときには(図12(2)参
照)、既存の稜線Edge[7] を延長すると共に、形成され
た稜線Edge[8] を消去する(図12(3)参照)。
【0033】本実施例では、以上説明した7つのオイラ
ー演算子を用いることで立体モデルの位相を操作する。
ー演算子を用いることで立体モデルの位相を操作する。
【0034】次に、上記演算子2(Make_Stru
t_Edge)と演算子3(Make_Face)のオ
イラー演算子の詳細を更に説明する。
t_Edge)と演算子3(Make_Face)のオ
イラー演算子の詳細を更に説明する。
【0035】上記の演算子2(Make_Strut_
Edge)では既存の何れのハーフエッジ情報につなが
り情報を有させるようにするのか不定になる場合があ
る。例えば、図13(1)に示すように、稜線である新
規線分LA を稜線である既存の線分LB 、線分LC の頂
点部分に接続しようとする場合、新規線分LA のハーフ
エッジ情報がつながるべき既存のハーフエッジ情報、す
なわちつながり候補(pNextHedge)が内側の
ハーフエッジ情報(図13(2)参照)、または外側の
ハーフエッジ情報(図13(3)参照)の何れでもよい
ことになる。
Edge)では既存の何れのハーフエッジ情報につなが
り情報を有させるようにするのか不定になる場合があ
る。例えば、図13(1)に示すように、稜線である新
規線分LA を稜線である既存の線分LB 、線分LC の頂
点部分に接続しようとする場合、新規線分LA のハーフ
エッジ情報がつながるべき既存のハーフエッジ情報、す
なわちつながり候補(pNextHedge)が内側の
ハーフエッジ情報(図13(2)参照)、または外側の
ハーフエッジ情報(図13(3)参照)の何れでもよい
ことになる。
【0036】そこで、本実施例ではハーフエッジ情報の
つながり情報としてのループ情報(Loop)を以下の
ようにその性質によって範疇分け(分類)し、以下に述
べる規則を予め設定することによって、略自動的に適切
なつながり候補を選択することができるという知見を得
た。
つながり情報としてのループ情報(Loop)を以下の
ようにその性質によって範疇分け(分類)し、以下に述
べる規則を予め設定することによって、略自動的に適切
なつながり候補を選択することができるという知見を得
た。
【0037】[ループ情報の分類] (a)閉じたループ(Closed_Loop)・・・
閉じた平面の稜線で構成されるループ (b)開いたループ(Opened_Loop)・・・
a)以外のループ [規則] (1)新規線分が入力された際に、もしつなぎ候補のル
ープが開いていたらその候補に高い優先度を与える。 (2)もし新規線分の端点が閉じたループの面上にあれ
ば、その閉じたループのつながり候補に高い優先度を与
える(図13)。
閉じた平面の稜線で構成されるループ (b)開いたループ(Opened_Loop)・・・
a)以外のループ [規則] (1)新規線分が入力された際に、もしつなぎ候補のル
ープが開いていたらその候補に高い優先度を与える。 (2)もし新規線分の端点が閉じたループの面上にあれ
ば、その閉じたループのつながり候補に高い優先度を与
える(図13)。
【0038】例えば、規則(1)については、図14
(1)に示すように、閉じたループ(Closed_L
oop)と開いたループ(Opened_Loop)と
があり、図14(2)に示すように、点PD から稜線Ed
ge[D] を形成する場合、図14(3)に示すように、開
いたループ(Opened_Loop)のつなぎ候補に
優先度を与える。
(1)に示すように、閉じたループ(Closed_L
oop)と開いたループ(Opened_Loop)と
があり、図14(2)に示すように、点PD から稜線Ed
ge[D] を形成する場合、図14(3)に示すように、開
いたループ(Opened_Loop)のつなぎ候補に
優先度を与える。
【0039】規則(2)については、図15(2)に示
すように、点PD から閉じたループの面上の点Pd まで
の稜線Edge[d] を形成する場合、図15(3)に示すよ
うに、閉じたループ(Closed_Loop)のつな
ぎ候補に優先度を与える。
すように、点PD から閉じたループの面上の点Pd まで
の稜線Edge[d] を形成する場合、図15(3)に示すよ
うに、閉じたループ(Closed_Loop)のつな
ぎ候補に優先度を与える。
【0040】このようにして、つながり候補に優先度を
与えた後には、つながり候補のループ情報を次のように
分類する。
与えた後には、つながり候補のループ情報を次のように
分類する。
【0041】[分類] (c)反時計回りループ(CCW_Loop) 新規線分のハーフエッジ情報がつながった場合にユーザ
の視点から見て反時計回りのループを形成するループ情
報。(本システムでは反時計回りのループを持つ面を表
の面とする。) (d)時計回りループ(CW_Loop) ユーザの視点から見て時計回りになるループを形成する
ループ情報。
の視点から見て反時計回りのループを形成するループ情
報。(本システムでは反時計回りのループを持つ面を表
の面とする。) (d)時計回りループ(CW_Loop) ユーザの視点から見て時計回りになるループを形成する
ループ情報。
【0042】そして、次の規則から、つなぎ候補を決定
する。 [規則] (3)つなぎ候補が全て反時計回りループの時にはユー
ザに最も近いつなぎ候補を選択する(図16(1)〜
(3)参照)。 (4)つなぎ候補が全て時計回りループの時にはユーザ
から最も遠いつなぎ候補を選択する(図16(4)〜
(6)参照)。 (5)つなぎ候補が反時計回りと時計回りの両方のルー
プが有れば、ユーザに最も最も近い反時計回りのつなぎ
候補を選ぶ(図16(7)〜(9)参照)。
する。 [規則] (3)つなぎ候補が全て反時計回りループの時にはユー
ザに最も近いつなぎ候補を選択する(図16(1)〜
(3)参照)。 (4)つなぎ候補が全て時計回りループの時にはユーザ
から最も遠いつなぎ候補を選択する(図16(4)〜
(6)参照)。 (5)つなぎ候補が反時計回りと時計回りの両方のルー
プが有れば、ユーザに最も最も近い反時計回りのつなぎ
候補を選ぶ(図16(7)〜(9)参照)。
【0043】このようにして、分類(a)〜(d)と、
規則(1)〜(5)を用い、優先度を与えれば、適切な
つながり候補を自動的に選択できる。
規則(1)〜(5)を用い、優先度を与えれば、適切な
つながり候補を自動的に選択できる。
【0044】また、上記の演算子3(Make_Fac
e)で面が形成される場合には、新規線分の両端点で上
記の規則でつなぎ候補を選択し、選択されたペアのハー
フエッジ情報が面形成の条件に適合すれば新規に面とル
ープ情報を作成する。
e)で面が形成される場合には、新規線分の両端点で上
記の規則でつなぎ候補を選択し、選択されたペアのハー
フエッジ情報が面形成の条件に適合すれば新規に面とル
ープ情報を作成する。
【0045】なお、他のオイラー演算子については詳細
な説明を省略する。次に、本実施例の作用を、図17乃
至図21を参照すると共に、2次元の入力図形を3次元
の立体モデルに変換し表示する図1の図形処理用の制御
ルーチンに合わせて説明する。
な説明を省略する。次に、本実施例の作用を、図17乃
至図21を参照すると共に、2次元の入力図形を3次元
の立体モデルに変換し表示する図1の図形処理用の制御
ルーチンに合わせて説明する。
【0046】図17には、タブレット16上の液晶表示
装置に表示される画面構成を示した。液晶表示装置に表
示される装置画面21は、所要な操作を指示するための
メニューバー22、現在の状態が表示されるステイタス
バー24、図形入力をすると共に立体モデルが表示され
る入力・表示画面26、及び視点移動等のときに指示す
るためのアイコンメニューバー28から構成されてい
る。なお、以下の説明では、入力・表示画面26を用い
て説明する。また、図ではアイソメ図法で立体モデルを
作成する場合を説明する。
装置に表示される画面構成を示した。液晶表示装置に表
示される装置画面21は、所要な操作を指示するための
メニューバー22、現在の状態が表示されるステイタス
バー24、図形入力をすると共に立体モデルが表示され
る入力・表示画面26、及び視点移動等のときに指示す
るためのアイコンメニューバー28から構成されてい
る。なお、以下の説明では、入力・表示画面26を用い
て説明する。また、図ではアイソメ図法で立体モデルを
作成する場合を説明する。
【0047】図形入出力装置のスイツチがオンされると
図1に示されるルーチンが起動され、ステップ30で初
期化が行なわれると共にステップ32において図形認識
用パラメータの設定が行なわれる。このパラメータは、
タブレツトから入力された点列データが幾何学における
線分、円および円弧のいずれに近似しているか等を判定
するために使用されるものである。また、このとき、設
計者の立体モデルのスケッチを容易にするための3次元
の参考軸X,Y,Zが表示される(図18(1)参
照)。次のステップ34では、タブレツト16からデー
タが入力されたかキーボード14からデータが入力され
たかを判断し、キーボードからデータが入力されたと判
断されたときにはステップ36においてキーボード入力
処理を実行する。このキーボード入力処理については、
CRTやタブレット上に表示されたメニユーから終了の
機能選択や、終了の機能以外の機能(例えば、図形処理
用のパラメータの大きさの変更、図形データベースの保
存、読込、消去、ハードコピー、オールクリアー、ヘル
プ等)がある。
図1に示されるルーチンが起動され、ステップ30で初
期化が行なわれると共にステップ32において図形認識
用パラメータの設定が行なわれる。このパラメータは、
タブレツトから入力された点列データが幾何学における
線分、円および円弧のいずれに近似しているか等を判定
するために使用されるものである。また、このとき、設
計者の立体モデルのスケッチを容易にするための3次元
の参考軸X,Y,Zが表示される(図18(1)参
照)。次のステップ34では、タブレツト16からデー
タが入力されたかキーボード14からデータが入力され
たかを判断し、キーボードからデータが入力されたと判
断されたときにはステップ36においてキーボード入力
処理を実行する。このキーボード入力処理については、
CRTやタブレット上に表示されたメニユーから終了の
機能選択や、終了の機能以外の機能(例えば、図形処理
用のパラメータの大きさの変更、図形データベースの保
存、読込、消去、ハードコピー、オールクリアー、ヘル
プ等)がある。
【0048】一方、ステップ34においてタブレツトか
らデータが入力されたと判断されたときには、判断手段
としてのステップ38において図形認識処理を行なう。
図18(1)に示すように、立体モデルの底辺を作成す
る場合には、電子ペン18で1本づつ線を入力するが、
この入力されたときの点列データが線として認識され
る。次のステップ40ではステップ38で認識された図
形が作図すべき図形か、指定した線分(稜線)の削除等
のオペレータであるかを判断する。作図すべき図形であ
るときにはステップ44で自動編集処理をした後にステ
ップ46において(ステップ38で認識された)図形に
対するモデル生成面MPを上記で説明したようにして生
成する。なお、この自動編集処理は、図18(1)の例
では、認識された線が3次元の参考軸X,Y,Zの何れ
か(最も幾何学的に近い軸)に対して平行となるように
自動的に調整される。次のステップ48では上述のよう
に3次元空間の座標系において視点及び投影面(タブレ
ット)上の点を結ぶ投影線を生成すると共に生成された
モデル生成面と投影線との交点を求め、稜線等を導出す
る。次のステップ50では、導出された稜線等による立
体モデルデータを導出し、次のステップ52でこのデー
タを記憶する。この立体モデルデータの導出は、図18
(1)の例では、4本目の線分が入力され、閉じた領域
が形成された時点で、自動的に面として認識される。次
のステップ54では記憶されたデータ(3次元)を2次
元座標に変換し、次のステップ56でタブレット上に表
示する。
らデータが入力されたと判断されたときには、判断手段
としてのステップ38において図形認識処理を行なう。
図18(1)に示すように、立体モデルの底辺を作成す
る場合には、電子ペン18で1本づつ線を入力するが、
この入力されたときの点列データが線として認識され
る。次のステップ40ではステップ38で認識された図
形が作図すべき図形か、指定した線分(稜線)の削除等
のオペレータであるかを判断する。作図すべき図形であ
るときにはステップ44で自動編集処理をした後にステ
ップ46において(ステップ38で認識された)図形に
対するモデル生成面MPを上記で説明したようにして生
成する。なお、この自動編集処理は、図18(1)の例
では、認識された線が3次元の参考軸X,Y,Zの何れ
か(最も幾何学的に近い軸)に対して平行となるように
自動的に調整される。次のステップ48では上述のよう
に3次元空間の座標系において視点及び投影面(タブレ
ット)上の点を結ぶ投影線を生成すると共に生成された
モデル生成面と投影線との交点を求め、稜線等を導出す
る。次のステップ50では、導出された稜線等による立
体モデルデータを導出し、次のステップ52でこのデー
タを記憶する。この立体モデルデータの導出は、図18
(1)の例では、4本目の線分が入力され、閉じた領域
が形成された時点で、自動的に面として認識される。次
のステップ54では記憶されたデータ(3次元)を2次
元座標に変換し、次のステップ56でタブレット上に表
示する。
【0049】一方、ステップ40においてオペレータで
あると判断されたときにはステップ50においてオペレ
ータ処理を行なった後にステップ52でオペレータ処理
後のデータを記憶する。
あると判断されたときにはステップ50においてオペレ
ータ処理を行なった後にステップ52でオペレータ処理
後のデータを記憶する。
【0050】上記のようにして立体モデルの底辺部分が
形成されたので、この底辺を有する箱型の立体モデルを
作成する場合には、図18(2)に示すように、垂直線
を入力する。この垂直線は立体モデルの表面線か裏面線
かが不定であるので、設計者に問い合わせ、この問い合
わせ結果に従う。この場合は、前面の平面の辺であるの
で表面線として確定される(図18(3))。次に、箱
型の辺の各々を順次入力する(図19(1)、(2)参
照)。なお、線分の入力時には、その合成部分に付不要
な線分が生じた場合に自動的にトリミングされるように
なっている。このようにして、12本の辺(稜線)から
なる6面体である立体モデルが自動的に認識される。こ
のため、図19(2)に示すように、隠れ線を点線で表
示することもできる。
形成されたので、この底辺を有する箱型の立体モデルを
作成する場合には、図18(2)に示すように、垂直線
を入力する。この垂直線は立体モデルの表面線か裏面線
かが不定であるので、設計者に問い合わせ、この問い合
わせ結果に従う。この場合は、前面の平面の辺であるの
で表面線として確定される(図18(3))。次に、箱
型の辺の各々を順次入力する(図19(1)、(2)参
照)。なお、線分の入力時には、その合成部分に付不要
な線分が生じた場合に自動的にトリミングされるように
なっている。このようにして、12本の辺(稜線)から
なる6面体である立体モデルが自動的に認識される。こ
のため、図19(2)に示すように、隠れ線を点線で表
示することもできる。
【0051】次に、この6面体である立体モデルを、角
を切削したような形状に変形させる場合の修正では、各
面を分割するための線分を入力した後に(図19
(3))、不要となる線分(稜線)を消去指示し(図2
0(1))、順次不要な線分を選択し消去する(所謂ピ
ッキング動作)。これにより、不要な線分が消去された
立体モデルが表示されるので(図20(2))、必要と
する線分を加筆する(図20(3))。この線分の加筆
により、斜辺と壁面が自動的に生成される。この時点
で、アイコンメニューバー28の選択により、裏面表示
をオフにすれば、図21(1)に示すように、裏面が表
示されない立体モデルを表示できる。また、アイコンメ
ニューバー28の選択により、図21(2)に示すよう
に、視点を変更することも可能である。
を切削したような形状に変形させる場合の修正では、各
面を分割するための線分を入力した後に(図19
(3))、不要となる線分(稜線)を消去指示し(図2
0(1))、順次不要な線分を選択し消去する(所謂ピ
ッキング動作)。これにより、不要な線分が消去された
立体モデルが表示されるので(図20(2))、必要と
する線分を加筆する(図20(3))。この線分の加筆
により、斜辺と壁面が自動的に生成される。この時点
で、アイコンメニューバー28の選択により、裏面表示
をオフにすれば、図21(1)に示すように、裏面が表
示されない立体モデルを表示できる。また、アイコンメ
ニューバー28の選択により、図21(2)に示すよう
に、視点を変更することも可能である。
【0052】次に、6面体の角を更に修正しようとする
場合には、各面を分割すると共に(図21(2))、不
要な線を消去した後に、不足の線分を追加し(図21
(3))、立体モデルを完成させる。
場合には、各面を分割すると共に(図21(2))、不
要な線を消去した後に、不足の線分を追加し(図21
(3))、立体モデルを完成させる。
【0053】なお、本実施例の図形入出力装置では、各
面にシェーディングを付加すること、寸法を記入するこ
と、アイソメ図法のみでなく3点透視図法や2点透視図
法もできる。
面にシェーディングを付加すること、寸法を記入するこ
と、アイソメ図法のみでなく3点透視図法や2点透視図
法もできる。
【0054】このように、2次元の投影図から3次元モ
デルが作成できるので、従来の3次元CADシステムの
ように3次元座標系を想定し、複雑な操作を行うことな
く、設計者は自分のイメージに近い図形を描画すること
によって立体モデルを作成することができる。
デルが作成できるので、従来の3次元CADシステムの
ように3次元座標系を想定し、複雑な操作を行うことな
く、設計者は自分のイメージに近い図形を描画すること
によって立体モデルを作成することができる。
【0055】また、本実施例では、モデル形状入力用の
コマンド選択を不要にでき、モデル投影図面(アイソメ
図及び透視図)上の2次元座標を自動的に3次元座標に
変換することができる。
コマンド選択を不要にでき、モデル投影図面(アイソメ
図及び透視図)上の2次元座標を自動的に3次元座標に
変換することができる。
【0056】さらに、本実施例では、モデル稜線の加筆
・修正に応じて、立体モデルデータを自動的に構築する
ことができる。
・修正に応じて、立体モデルデータを自動的に構築する
ことができる。
【0057】
【発明の効果】以上説明したように本発明によれば、自
動的にモデル生成用平面が生成されるので、事前に立体
イメージを数値座標に置き換えたり、入力の際にコマン
ドを選択したりすることがなく、設計者がイメージした
モデル形状をそのままタブレットに入力するのみのスケ
ッチ感覚で自動的に立体モデルを生成することができ
る、という効果がある。
動的にモデル生成用平面が生成されるので、事前に立体
イメージを数値座標に置き換えたり、入力の際にコマン
ドを選択したりすることがなく、設計者がイメージした
モデル形状をそのままタブレットに入力するのみのスケ
ッチ感覚で自動的に立体モデルを生成することができ
る、という効果がある。
【図1】本実施例の制御ルーチンを示す流れ図である。
【図2】本実施例の概略図を示すブロツク図、
【図3】コンピュータで3次元モデルを扱うときの座標
系を示す線図である。
系を示す線図である。
【図4】立体モデルの座標を定める説明をするための説
明図である。
明図である。
【図5】本実施例の立体モデルデータのデータ構造を示
すイメージ図である。
すイメージ図である。
【図6】演算子1(Make Body )を説明するための説明
図である。
図である。
【図7】演算子2(Make Strut Edge)を説明するための
説明図である。
説明図である。
【図8】演算子3(Make Face )を説明するための説明
図である。
図である。
【図9】演算子4(Make Inner Loop )を説明するため
の説明図である。
の説明図である。
【図10】演算子5(Delete Edge )を説明するための
説明図である。
説明図である。
【図11】演算子6(Brake Edge)を説明するための説
明図である。
明図である。
【図12】演算子7(Extend Edge )を説明するための
説明図である。
説明図である。
【図13】演算子2(Make Strut Edge)の詳細を説明す
るための説明図である。
るための説明図である。
【図14】ループ情報(Loop)の規則(1)を説明する
ための説明図である。
ための説明図である。
【図15】ループ情報(Loop)の規則(2)を説明する
ための説明図である。
ための説明図である。
【図16】ループ情報(Loop)の規則(3)〜(5)を
説明するための説明図である。
説明するための説明図である。
【図17】タブレット上の液晶表示装置の画面構成を示
す線図である。
す線図である。
【図18】立体モデルの形成過程を示すイメージ図であ
る。
る。
【図19】立体モデルの形成過程を示すイメージ図であ
る。
る。
【図20】立体モデルの形成過程を示すイメージ図であ
る。
る。
【図21】立体モデルの形成過程を示すイメージ図であ
る。
る。
16 タブレット 18 電子ペン
Claims (2)
- 【請求項1】電子ペンと、作成すべき物体の形状を入力
するための予め定めた3次元空間の座標系における当該
物体の投影面に対応するタブレツトとから成り、当該タ
ブレツト上の電子ペンの軌跡を点列データに変換して入
力する入力手段と、 入力された点列データに基づいて前記軌跡が幾何学にお
けるどの図形を表しているかを判断する判断手段と、 前記判断手段で判断された図形の頂点、端点または当該
図形に関連する予め定めた点の何れかの特定点を用い
て、予め定めた条件に従って前記3次元空間の座標系に
モデル生成用平面を生成する面生成手段と、 前記面生成手段で生成されたモデル生成用平面と、前記
物体の前記3次元空間の座標系における視点及び前記投
影面上の前記特定点を結ぶ投影線との交点を求めること
によって前記3次元空間の座標系における前記特定点の
モデル座標を演算する座標演算手段と、 前記座標演算手段で演算されたモデル座標と前記判断手
段で判断された図形とから前記3次元空間の座標系にお
ける当該図形の位置を決定すると共に立体モデルデータ
を生成するモデルデータ生成手段と、 前記モデルデータ生成手段で生成された立体モデルデー
タの各モデル座標を表示座標系に変換して表示装置に表
示させる表示手段と、 を含む図形入出力装置。 - 【請求項2】前記表示手段に表示された図形が修正され
た場合には、前記立体モデルデータを更新することを特
徴とする請求項1に記載の図形入出力装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00462095A JP3574202B2 (ja) | 1995-01-17 | 1995-01-17 | 図形入出力装置 |
| US08/584,082 US5734383A (en) | 1995-01-17 | 1996-01-11 | Apparatus and method for generating a three-dimensional model on a graphic display from a two-dimensional image |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP00462095A JP3574202B2 (ja) | 1995-01-17 | 1995-01-17 | 図形入出力装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08194840A true JPH08194840A (ja) | 1996-07-30 |
| JP3574202B2 JP3574202B2 (ja) | 2004-10-06 |
Family
ID=11589109
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP00462095A Expired - Fee Related JP3574202B2 (ja) | 1995-01-17 | 1995-01-17 | 図形入出力装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5734383A (ja) |
| JP (1) | JP3574202B2 (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100900824B1 (ko) * | 2007-09-18 | 2009-06-04 | 한국전자통신연구원 | 스케치 기반 3차원 모델 생성 장치 및 방법 |
| JP2010500670A (ja) * | 2006-08-11 | 2010-01-07 | シーメンス、プラダクツ、ライフサイクル、マニジマント、ソフトウエア、インク | 軽量ポリゴントポロジ表現システム及び軽量ポリゴントポロジ表現方法 |
| JP2010118048A (ja) * | 2008-11-12 | 2010-05-27 | Honda Motor Co Ltd | 描画支援装置、描画支援プログラム、描画支援方法 |
| JP2012238309A (ja) * | 2011-05-11 | 2012-12-06 | Dassault Systemes | 幾何学的三次元モデルオブジェクトを設計する方法 |
| JP2013077179A (ja) * | 2011-09-30 | 2013-04-25 | Canon Marketing Japan Inc | 情報処理装置、情報処理装置の制御方法、及びプログラム |
| US8593487B2 (en) | 2008-11-12 | 2013-11-26 | Honda Motor Co., Ltd. | Drawing support device, drawing support program, and drawing support method |
| US9335909B2 (en) | 2009-06-03 | 2016-05-10 | Honda Motor Co., Ltd. | Drawing assist device, drawing assist program, and drawing assist method |
Families Citing this family (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7616198B2 (en) * | 1998-02-20 | 2009-11-10 | Mental Images Gmbh | System and computer-implemented method for modeling the three-dimensional shape of an object by shading of a two-dimensional image of the object |
| NL1010452C2 (nl) * | 1998-11-02 | 2000-05-03 | Koelman Intellectueel Eigendom | Werkwijze en inrichting voor het ontwerpen van oppervlakken met een vrije vorm. |
| JP2001209821A (ja) * | 2000-01-27 | 2001-08-03 | Mitsubishi Electric Corp | 三次元グラフィックス処理装置およびその方法 |
| JP2002133438A (ja) * | 2000-10-19 | 2002-05-10 | Mitsubishi Electric Corp | 3次元グラフィックス描画装置、3次元グラフィックス描画方法および3次元ポリゴンデータを記録したコンピュータで読取可能な記録媒体 |
| US7515752B2 (en) * | 2004-08-27 | 2009-04-07 | Corel Corporation | Sketch recognition and enhancement |
| JP2008112252A (ja) * | 2006-10-30 | 2008-05-15 | Yamazaki Mazak Corp | 2次元図面を3次元ソリッドモデルに変換する方法及び属性の変換方法 |
| US20080297503A1 (en) * | 2007-05-30 | 2008-12-04 | John Dickinson | System and method for reconstructing a 3D solid model from a 2D line drawing |
| US8260583B2 (en) * | 2009-03-12 | 2012-09-04 | Siemens Product Lifecycle Management Software Inc. | System and method for identifying wall faces in an object model |
| CN101609564B (zh) * | 2009-07-09 | 2011-06-15 | 杭州力孚信息科技有限公司 | 一种草图式输入的三维网格模型制作方法 |
| US9053562B1 (en) | 2010-06-24 | 2015-06-09 | Gregory S. Rabin | Two dimensional to three dimensional moving image converter |
| CN102446228B (zh) * | 2010-09-30 | 2013-10-02 | 深圳市雅都软件股份有限公司 | 输电线路三维空间可视化展示方法及系统 |
| CN102637232B (zh) * | 2012-04-12 | 2014-03-26 | 铁道第三勘察设计院集团有限公司 | 铁路二线平面快速自动设计方法 |
| US9992021B1 (en) | 2013-03-14 | 2018-06-05 | GoTenna, Inc. | System and method for private and point-to-point communication between computing devices |
| CN104281753A (zh) * | 2014-10-22 | 2015-01-14 | 国家电网公司 | 基于二三维一体化的输电线路走廊参数化构建方法及系统 |
| US12400044B2 (en) * | 2020-02-13 | 2025-08-26 | Mitsubishi Electric Corporation | Dimension creation device, dimension creation method, and recording medium |
| KR102319566B1 (ko) * | 2021-05-31 | 2021-11-01 | 주식회사 트라이폴리곤 | 3d 모델링 데이터 관리 방법 및 이러한 방법을 수행하는 장치 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6075980A (ja) * | 1983-10-03 | 1985-04-30 | Hitachi Ltd | 手書き入力情報処理装置 |
| US5379371A (en) * | 1987-10-09 | 1995-01-03 | Hitachi, Ltd. | Displaying method and apparatus for three-dimensional computer graphics |
| JP2589999B2 (ja) * | 1988-03-18 | 1997-03-12 | 株式会社竹中工務店 | 図形入出力装置 |
| CA2055532A1 (en) * | 1990-11-26 | 1992-05-27 | Xingzhang F. Niu | Enhanced solid model generation |
| JP3117097B2 (ja) * | 1992-01-28 | 2000-12-11 | ソニー株式会社 | 画像変換装置 |
| JP2935336B2 (ja) * | 1994-10-05 | 1999-08-16 | 株式会社竹中工務店 | 図形入出力装置 |
-
1995
- 1995-01-17 JP JP00462095A patent/JP3574202B2/ja not_active Expired - Fee Related
-
1996
- 1996-01-11 US US08/584,082 patent/US5734383A/en not_active Expired - Fee Related
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010500670A (ja) * | 2006-08-11 | 2010-01-07 | シーメンス、プラダクツ、ライフサイクル、マニジマント、ソフトウエア、インク | 軽量ポリゴントポロジ表現システム及び軽量ポリゴントポロジ表現方法 |
| KR100900824B1 (ko) * | 2007-09-18 | 2009-06-04 | 한국전자통신연구원 | 스케치 기반 3차원 모델 생성 장치 및 방법 |
| JP2010118048A (ja) * | 2008-11-12 | 2010-05-27 | Honda Motor Co Ltd | 描画支援装置、描画支援プログラム、描画支援方法 |
| US8593487B2 (en) | 2008-11-12 | 2013-11-26 | Honda Motor Co., Ltd. | Drawing support device, drawing support program, and drawing support method |
| US9335909B2 (en) | 2009-06-03 | 2016-05-10 | Honda Motor Co., Ltd. | Drawing assist device, drawing assist program, and drawing assist method |
| JP2012238309A (ja) * | 2011-05-11 | 2012-12-06 | Dassault Systemes | 幾何学的三次元モデルオブジェクトを設計する方法 |
| US10108750B2 (en) | 2011-05-11 | 2018-10-23 | Dassault Systemes | Method for designing a geometrical three-dimensional modeled object |
| JP2013077179A (ja) * | 2011-09-30 | 2013-04-25 | Canon Marketing Japan Inc | 情報処理装置、情報処理装置の制御方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US5734383A (en) | 1998-03-31 |
| JP3574202B2 (ja) | 2004-10-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3574202B2 (ja) | 図形入出力装置 | |
| EP0248919B1 (en) | Method for generating representations of 3-dimensional objects and system performing this method | |
| US5808616A (en) | Shape modeling method and apparatus utilizing ordered parts lists for designating a part to be edited in a view | |
| EP2126849B1 (en) | Implicit feature recognition for a solid modeling system | |
| JP3599386B2 (ja) | エッジの混合方法 | |
| US8525838B2 (en) | Associative fillet | |
| JP2818388B2 (ja) | モデルの表面形成のためのデータ処理システム及び方法 | |
| US20030210242A1 (en) | Controlled face dragging in solid models | |
| JP4046370B2 (ja) | 3次元形状の作図方法 | |
| US5649081A (en) | Method and apparatus for pattern data processing | |
| JPH06309395A (ja) | 画像作成装置 | |
| JP3990147B2 (ja) | 投影制御処理装置およびコンピュータプログラム | |
| JP2003030254A (ja) | 3次元形状モデル変形方法 | |
| Wang et al. | Progressive sketching with instant previewing | |
| JP3582509B2 (ja) | 三次元地図データ処理方法、装置及びプログラム | |
| US20060082572A1 (en) | Inferring of associative constraints and supporting objects for 3D curves | |
| JPH04114282A (ja) | 3次元モデル作成装置及び方法 | |
| JP4771807B2 (ja) | コンピュータ支援設計装置、そのプログラム及び方法 | |
| JP4459745B2 (ja) | フィレット面を算出する方法およびプログラム | |
| JPH1115994A (ja) | 曲面作成方法 | |
| JPH0696178A (ja) | 図形処理システム | |
| JPH06168300A (ja) | 3次元形状入力装置 | |
| JP2723058B2 (ja) | 線対称図形入力装置 | |
| JP2879831B2 (ja) | 図形要素抽出方式 | |
| JPH07141528A (ja) | データ処理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040217 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040419 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040629 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040701 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |