JPH0765205A - 三次元形状表示装置 - Google Patents
三次元形状表示装置Info
- Publication number
- JPH0765205A JPH0765205A JP5210770A JP21077093A JPH0765205A JP H0765205 A JPH0765205 A JP H0765205A JP 5210770 A JP5210770 A JP 5210770A JP 21077093 A JP21077093 A JP 21077093A JP H0765205 A JPH0765205 A JP H0765205A
- Authority
- JP
- Japan
- Prior art keywords
- triangle
- shape
- triangles
- display device
- divided
- 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.)
- Withdrawn
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
(57)【要約】
【目的】 所望の形状を容易に表示することができる三
次元形状表示装置を提供する。 【構成】 形状データ管理部2に記憶されている三次元
形状データを入力部1で使用者が指示した変形処理に従
い、変形量計算部3で変形量を計算し、形状データ操作
部4で三次元形状データを変更する。三角形分割処理部
5では、変形処理に応じて三角形形状を構成する三角形
を再帰的に分割する。表示用データ計算部6は、形状デ
ータ管理部2に記憶されている三次元形状データをもと
に表示用のデータを計算し、表示部7で変形された形状
を表示する。
次元形状表示装置を提供する。 【構成】 形状データ管理部2に記憶されている三次元
形状データを入力部1で使用者が指示した変形処理に従
い、変形量計算部3で変形量を計算し、形状データ操作
部4で三次元形状データを変更する。三角形分割処理部
5では、変形処理に応じて三角形形状を構成する三角形
を再帰的に分割する。表示用データ計算部6は、形状デ
ータ管理部2に記憶されている三次元形状データをもと
に表示用のデータを計算し、表示部7で変形された形状
を表示する。
Description
【0001】
【産業上の利用分野】本発明は、三次元形状表示装置に
関し、特に、三次元形状の変形を対話的に行なう三次元
形状表示装置に関するものである。
関し、特に、三次元形状の変形を対話的に行なう三次元
形状表示装置に関するものである。
【0002】
【従来の技術】コンピュータグラフィックスやCADシ
ステムで三次元形状を対話的に変形するために、三次元
形状を三角形の集まりとして表現し、それらの三角形の
頂点を移動させることで形状を変形させる手法がある。
上記の変形手法として、特開平4−24876号公報に
開示されている手法では、三次元物体表面を二次元に展
開し、二次元パラメータ空間上に制御点を置き、制御点
を結ぶ二次元パラメータ空間を複数の三角形領域に分割
し、頂点の移動量が与えられたとき、三角形領域内の点
の移動量を、その三角形の頂点となっている制御点の移
動量を線形内挿することによって求めている。
ステムで三次元形状を対話的に変形するために、三次元
形状を三角形の集まりとして表現し、それらの三角形の
頂点を移動させることで形状を変形させる手法がある。
上記の変形手法として、特開平4−24876号公報に
開示されている手法では、三次元物体表面を二次元に展
開し、二次元パラメータ空間上に制御点を置き、制御点
を結ぶ二次元パラメータ空間を複数の三角形領域に分割
し、頂点の移動量が与えられたとき、三角形領域内の点
の移動量を、その三角形の頂点となっている制御点の移
動量を線形内挿することによって求めている。
【0003】また、他の形状変形手法として、特開平1
−297771号公報に開示されている手法では、複数
の格子点を持った格子をxy平面上で定義し、複数の格
子点のうちの少なくとも1つの点を基準点として選択
し、この基準点にz軸方向の移動量を与えたときに、基
準点の移動量に基づいて基準点周辺の格子点を移動さ
せ、基準点の移動量を周囲の格子点に伝搬させていくこ
とで、複数の格子点の移動を行なっている。
−297771号公報に開示されている手法では、複数
の格子点を持った格子をxy平面上で定義し、複数の格
子点のうちの少なくとも1つの点を基準点として選択
し、この基準点にz軸方向の移動量を与えたときに、基
準点の移動量に基づいて基準点周辺の格子点を移動さ
せ、基準点の移動量を周囲の格子点に伝搬させていくこ
とで、複数の格子点の移動を行なっている。
【0004】
【発明が解決しようとする課題】上記の変形手法を用い
る従来の三次元形状装置では、移動対象となる頂点を明
示的に指示する必要があるため、所望の変形を実現する
ためには移動対象となるすべての頂点を明示的に指示す
る必要があり、操作が煩雑であった。また、指示した頂
点の移動量をもとに周囲の頂点の移動量を求める算出方
法が特定されているため、汎用性が低く、任意の形状を
容易に入力することができなかった。さらに、頂点の移
動量が大きくなった場合、三角形が移動後の形状を表わ
すには粗すぎる大きさになり、細かな変形状態を表示す
ることができず、任意の形状を表示することができなか
った。
る従来の三次元形状装置では、移動対象となる頂点を明
示的に指示する必要があるため、所望の変形を実現する
ためには移動対象となるすべての頂点を明示的に指示す
る必要があり、操作が煩雑であった。また、指示した頂
点の移動量をもとに周囲の頂点の移動量を求める算出方
法が特定されているため、汎用性が低く、任意の形状を
容易に入力することができなかった。さらに、頂点の移
動量が大きくなった場合、三角形が移動後の形状を表わ
すには粗すぎる大きさになり、細かな変形状態を表示す
ることができず、任意の形状を表示することができなか
った。
【0005】本発明は上記課題を解決するためのもので
あって、所望の形状を容易に表示することができる三次
元形状表示装置を提供することを目的とする。
あって、所望の形状を容易に表示することができる三次
元形状表示装置を提供することを目的とする。
【0006】
【課題を解決するための手段】請求項1記載の三次元形
状表示装置は、三次元空間中の形状を複数の三角形で表
示する形状表示手段と、三角形を構成する構成点を移動
する移動手段と、構成点の移動量に応じて、前記三角形
をさらに複数の三角形に分割する分割手段とを含む。
状表示装置は、三次元空間中の形状を複数の三角形で表
示する形状表示手段と、三角形を構成する構成点を移動
する移動手段と、構成点の移動量に応じて、前記三角形
をさらに複数の三角形に分割する分割手段とを含む。
【0007】請求項2記載の三次元形状表示装置は、三
次元空間中の形状を複数の三角形で表示する形状表示装
置と、三角形を構成する構成点の移動を指示するための
指示標識を入力する入力手段と、指示標識と構成点との
距離と所定のパラメータとで表わされる関数により構成
点の移動量を求める移動量算出手段と、パラメータを変
化させることにより構成点の移動量を制御する制御手段
と、構成点の移動量に応じて、構成点を移動させる移動
手段とを含む。
次元空間中の形状を複数の三角形で表示する形状表示装
置と、三角形を構成する構成点の移動を指示するための
指示標識を入力する入力手段と、指示標識と構成点との
距離と所定のパラメータとで表わされる関数により構成
点の移動量を求める移動量算出手段と、パラメータを変
化させることにより構成点の移動量を制御する制御手段
と、構成点の移動量に応じて、構成点を移動させる移動
手段とを含む。
【0008】請求項3記載の三次元形状表示装置は、三
次元空間中の形状を複数の三角形で表示する形状表示手
段と、三角形を構成する構成点における法線ベクトルを
周囲の三角形の法線ベクトルの面積による重み付平均と
して算出する算出手段と、算出手段により算出された法
線ベクトルを用いて、形状に所定の表示処理を行なう処
理手段とを含む。
次元空間中の形状を複数の三角形で表示する形状表示手
段と、三角形を構成する構成点における法線ベクトルを
周囲の三角形の法線ベクトルの面積による重み付平均と
して算出する算出手段と、算出手段により算出された法
線ベクトルを用いて、形状に所定の表示処理を行なう処
理手段とを含む。
【0009】
【作用】請求項1記載の三次元形状表示装置において
は、構成点の移動量に応じて、三次元空間中の形状を表
示する三角形をさらに複数の三角形に分割するので、細
かな変形状態を表示することができる。
は、構成点の移動量に応じて、三次元空間中の形状を表
示する三角形をさらに複数の三角形に分割するので、細
かな変形状態を表示することができる。
【0010】請求項2記載の三次元形状表示装置におい
ては、関数のパラメータを変化させることにより構成点
の移動量を制御できるので、関数のパラメータの変更に
より構成点の移動に伴う形状の変形を任意に制御するこ
とができる。
ては、関数のパラメータを変化させることにより構成点
の移動量を制御できるので、関数のパラメータの変更に
より構成点の移動に伴う形状の変形を任意に制御するこ
とができる。
【0011】請求項3記載の三次元形状表示装置におい
ては、周囲の三角形の法線ベクトルの面積による重み付
平均として算出された構成点における法線ベクトルを用
いて所定の表示処理を行なうので、三角形が局所的に細
かく分割されている場合でも、三角形の面積に応じた法
線ベクトルを用いることができ、良好な表示処理を行な
うことができる。
ては、周囲の三角形の法線ベクトルの面積による重み付
平均として算出された構成点における法線ベクトルを用
いて所定の表示処理を行なうので、三角形が局所的に細
かく分割されている場合でも、三角形の面積に応じた法
線ベクトルを用いることができ、良好な表示処理を行な
うことができる。
【0012】
【実施例】以下、本発明の一実施例の三次元形状表示装
置について図面を参照しながら説明する。図1は、本発
明の一実施例の三次元形状表示装置の構成を示すブロッ
ク図である。
置について図面を参照しながら説明する。図1は、本発
明の一実施例の三次元形状表示装置の構成を示すブロッ
ク図である。
【0013】図1において、三次元形状表示装置は、入
力部1、形状データ管理部2、変形量計算部3、形状デ
ータ操作部4、三角形分割処理部5、表示用データ計算
部6、表示部7、制御部8を含む。
力部1、形状データ管理部2、変形量計算部3、形状デ
ータ操作部4、三角形分割処理部5、表示用データ計算
部6、表示部7、制御部8を含む。
【0014】入力部1は、使用者による入力を受付け、
操作指令等の入力データを制御部8へ出力する。形状デ
ータ管理部2は、形状データ操作部4から出力される三
角形の集合で表現された三次元形状のデータを管理す
る。変形量計算部3は、制御部8の制御指令に基づき、
形状データ管理部2で管理されている形状データの変形
量を計算し、形状データ操作部4へ出力する。形状デー
タ操作部4は、制御部8の制御指令に基づき、形状デー
タ管理部2に記憶されている形状データの操作を行な
う。三角形分割処理部5は、制御部8の制御指令に基づ
き、形状データ管理部2に記憶されている形状データを
もとに三次元形状を構成する三角形を複数の三角形に分
割する処理を行ない、形状データ操作部4へ出力する。
表示用データ計算部6は、制御部8の制御指令に基づ
き、形状データ管理部2に記憶されている形状データか
ら表示用のデータを計算し、表示用のデータを表示部7
へ出力する。表示部7は、制御部8の制御指令に基づ
き、表示用データ計算部6で計算された表示用のデータ
に対応した形状を表示する。制御部8は、各ブロックに
接続され、各ブロックの動作を制御する。
操作指令等の入力データを制御部8へ出力する。形状デ
ータ管理部2は、形状データ操作部4から出力される三
角形の集合で表現された三次元形状のデータを管理す
る。変形量計算部3は、制御部8の制御指令に基づき、
形状データ管理部2で管理されている形状データの変形
量を計算し、形状データ操作部4へ出力する。形状デー
タ操作部4は、制御部8の制御指令に基づき、形状デー
タ管理部2に記憶されている形状データの操作を行な
う。三角形分割処理部5は、制御部8の制御指令に基づ
き、形状データ管理部2に記憶されている形状データを
もとに三次元形状を構成する三角形を複数の三角形に分
割する処理を行ない、形状データ操作部4へ出力する。
表示用データ計算部6は、制御部8の制御指令に基づ
き、形状データ管理部2に記憶されている形状データか
ら表示用のデータを計算し、表示用のデータを表示部7
へ出力する。表示部7は、制御部8の制御指令に基づ
き、表示用データ計算部6で計算された表示用のデータ
に対応した形状を表示する。制御部8は、各ブロックに
接続され、各ブロックの動作を制御する。
【0015】次に、上記の三次元形状表示装置の動作に
ついて説明する。図2は、図1に示す三次元形状表示装
置の動作を説明するためのフローチャートである。
ついて説明する。図2は、図1に示す三次元形状表示装
置の動作を説明するためのフローチャートである。
【0016】まず、ステップS1において、入力部1に
おいて使用者が指示した変形の方法に基づき、変形量計
算部3において各頂点の移動量を算出する。
おいて使用者が指示した変形の方法に基づき、変形量計
算部3において各頂点の移動量を算出する。
【0017】次に、ステップS2において、形状データ
操作部4は、ステップS1で算出された各頂点の移動量
に基づき、形状データ管理部2に記憶されている各頂点
の座標を変更する。
操作部4は、ステップS1で算出された各頂点の移動量
に基づき、形状データ管理部2に記憶されている各頂点
の座標を変更する。
【0018】次に、ステップS3において、三角形分割
処理部5は、形状データ管理部2に記憶されている形状
データを参照して形状データを表わす三角形の分割の必
要性をチェックする。
処理部5は、形状データ管理部2に記憶されている形状
データを参照して形状データを表わす三角形の分割の必
要性をチェックする。
【0019】次に、ステップS4において、分割の対象
となった三角形の分割を行なう。次に、ステップS5に
おいて、後述する分割した三角形に隣接する三角形の処
理を行なう。
となった三角形の分割を行なう。次に、ステップS5に
おいて、後述する分割した三角形に隣接する三角形の処
理を行なう。
【0020】次に、ステップS6において、表示用デー
タ計算部6は、形状データ管理部2に記憶されている形
状データを参照して、シェーディング処理、たとえば、
グーロシェーディング等の形状の表示に必要な各頂点に
おける法線ベクトルを周囲の三角形の法線ベクトルの面
積による重み付平均として算出する。
タ計算部6は、形状データ管理部2に記憶されている形
状データを参照して、シェーディング処理、たとえば、
グーロシェーディング等の形状の表示に必要な各頂点に
おける法線ベクトルを周囲の三角形の法線ベクトルの面
積による重み付平均として算出する。
【0021】次に、ステップS7において、上記の処理
により作成された形状データ等に基づき、表示部7にお
いて、形状を表示する。
により作成された形状データ等に基づき、表示部7にお
いて、形状を表示する。
【0022】次に、図2に示すステップS3の三角形の
分割の必要性のチェックの処理について詳細に説明す
る。図3は、図2に示すステップS3における三角形の
分割の必要性のチェック処理を説明するフローチャート
である。
分割の必要性のチェックの処理について詳細に説明す
る。図3は、図2に示すステップS3における三角形の
分割の必要性のチェック処理を説明するフローチャート
である。
【0023】まず、ステップS8において、分割の必要
性をチェックする三角形の法線ベクトルと隣接する三角
形の法線ベクトルとの内積を計算する。
性をチェックする三角形の法線ベクトルと隣接する三角
形の法線ベクトルとの内積を計算する。
【0024】次に、ステップS9において、ステップS
8で計算された内積と予め設定された所定のしきい値と
を比較し、内積がしきい値より大きい場合はステップS
10へ移行し、その他の場合はステップS11へ移行す
る。
8で計算された内積と予め設定された所定のしきい値と
を比較し、内積がしきい値より大きい場合はステップS
10へ移行し、その他の場合はステップS11へ移行す
る。
【0025】次に、ステップS9において内積がしきい
値より大きいと判断された場合、ステップS10におい
て、分割の必要性をチェックしている三角形の分割フラ
グをオンにする。この分割フラグがオンの場合、上述し
た図2に示すステップS4において、分割対象の三角形
と判断され所定の分割処理が施される。
値より大きいと判断された場合、ステップS10におい
て、分割の必要性をチェックしている三角形の分割フラ
グをオンにする。この分割フラグがオンの場合、上述し
た図2に示すステップS4において、分割対象の三角形
と判断され所定の分割処理が施される。
【0026】一方、ステップS9で内積がしきい値より
大きくないと判断された場合、ステップS11におい
て、分割の必要性をチェックしている三角形に隣接する
すべての三角形についてチェックしたか否かを確認す
る。すべての三角形についてチェックしていなければ、
ステップS8へ移行し、以降の処理を継続する。すべて
の三角形をチェックした場合はステップS12へ移行す
る。
大きくないと判断された場合、ステップS11におい
て、分割の必要性をチェックしている三角形に隣接する
すべての三角形についてチェックしたか否かを確認す
る。すべての三角形についてチェックしていなければ、
ステップS8へ移行し、以降の処理を継続する。すべて
の三角形をチェックした場合はステップS12へ移行す
る。
【0027】次に、ステップS12において、すべての
三角形に関して分割の必要性をチェックしたか否かを確
認する。すべての三角形に関して分割の必要性がチェッ
クされていない場合は、ステップS8へ移行し、以降の
処理を継続する。すべての三角形に関してチェックが完
了している場合は処理を終了する。
三角形に関して分割の必要性をチェックしたか否かを確
認する。すべての三角形に関して分割の必要性がチェッ
クされていない場合は、ステップS8へ移行し、以降の
処理を継続する。すべての三角形に関してチェックが完
了している場合は処理を終了する。
【0028】上記の三角形の分割の必要性のチェック処
理は、一例を示すものであり、単に三角形の面積を所定
値と比較する等の他の三角形の分割の必要性のチェック
処理でもよい。
理は、一例を示すものであり、単に三角形の面積を所定
値と比較する等の他の三角形の分割の必要性のチェック
処理でもよい。
【0029】次に、図2に示すステップS4、S5にお
ける三角形の分割および分割された三角形に隣接する三
角形の処理について説明する。
ける三角形の分割および分割された三角形に隣接する三
角形の処理について説明する。
【0030】図4は、図2に示すステップS4、S5の
三角形の分割および分割された三角形に隣接する三角形
の処理を説明するフローチャートである。
三角形の分割および分割された三角形に隣接する三角形
の処理を説明するフローチャートである。
【0031】まず、ステップS13において、注目する
三角形の分割フラグがオンされているか否かを判断す
る。オンされていればステップS14へ移行し、されて
いなければステップS19へ移行する。
三角形の分割フラグがオンされているか否かを判断す
る。オンされていればステップS14へ移行し、されて
いなければステップS19へ移行する。
【0032】三角形の分割フラグがオンしている場合、
ステップS14において、三角形の三辺の中点を生成す
る。
ステップS14において、三角形の三辺の中点を生成す
る。
【0033】次に、ステップS15において、生成した
中点を結び、4つの三角形に分割する。
中点を結び、4つの三角形に分割する。
【0034】次に、ステップS16において、分割した
三角形に隣接する三角形の3辺とも中点が生成されてい
るか否かを確認する。周囲の三角形が既に分割されてい
るため中点が生成されている場合はステップS18へ移
行し、その他の場合はステップS17へ移行する。
三角形に隣接する三角形の3辺とも中点が生成されてい
るか否かを確認する。周囲の三角形が既に分割されてい
るため中点が生成されている場合はステップS18へ移
行し、その他の場合はステップS17へ移行する。
【0035】中点が生成されていない場合、ステップS
17において、分割した三角形に隣接する三角形の辺の
いずれかが2回以上分割されているか否かを確認する。
分割されている場合は、ステップS18へ移行し、その
他の場合はステップS19へ移行する。
17において、分割した三角形に隣接する三角形の辺の
いずれかが2回以上分割されているか否かを確認する。
分割されている場合は、ステップS18へ移行し、その
他の場合はステップS19へ移行する。
【0036】ステップS16で中点が生成されていると
判断され、または、ステップS17で2回以上分割され
ていると判断された場合は、ステップS18において、
隣接する三角形を分割する。この分割処理は、既に述べ
たステップS14、S15の処理に準じて行なわれる。
判断され、または、ステップS17で2回以上分割され
ていると判断された場合は、ステップS18において、
隣接する三角形を分割する。この分割処理は、既に述べ
たステップS14、S15の処理に準じて行なわれる。
【0037】次に、ステップS19において、隣接する
すべての三角形について上記の処理が行なわれたか否か
を判断する。処理が終了していなければステップS16
へ移行し以降の処理を継続し、終了していればステップ
S20へ移行する。
すべての三角形について上記の処理が行なわれたか否か
を判断する。処理が終了していなければステップS16
へ移行し以降の処理を継続し、終了していればステップ
S20へ移行する。
【0038】次に、ステップS20において、すべての
三角形について分割フラグをチェックしたか否かを判断
する。すべての三角形についてチェックが終了していな
ければステップS13へ移行し、終了していれば処理を
終了する。
三角形について分割フラグをチェックしたか否かを判断
する。すべての三角形についてチェックが終了していな
ければステップS13へ移行し、終了していれば処理を
終了する。
【0039】次に、上記の処理による三次元形状変形状
態について説明する。図5は、三次元形状の変形状態を
説明する図である。図5において、●で示されている点
は各三角形の頂点であり、×で示された点は変形の指示
点である。
態について説明する。図5は、三次元形状の変形状態を
説明する図である。図5において、●で示されている点
は各三角形の頂点であり、×で示された点は変形の指示
点である。
【0040】まず、図5の(a)で示すように、変形の
指示点が指定されると、各頂点の移動量は、変形の指示
点と各頂点との距離の関数で表わすことができ、たとえ
ば以下の式で表わすことができる。
指示点が指定されると、各頂点の移動量は、変形の指示
点と各頂点との距離の関数で表わすことができ、たとえ
ば以下の式で表わすことができる。
【0041】
【数1】
【0042】上記の数式により、Dで変形の影響を受け
る範囲を、aで変形の広がりを、kで全体の変形の大き
さを表わすことができるので、各パラメータを変更する
ことにより各頂点の移動量を制御し、所望の三次元形状
の変形を容易に実現することが可能となる。この結果、
変形対象となる形状の材質の特性等も表現することがで
きる。上記の関数の形式は任意であり、変形の指示点
も、点だけでなく、線や面とすることも可能である。
る範囲を、aで変形の広がりを、kで全体の変形の大き
さを表わすことができるので、各パラメータを変更する
ことにより各頂点の移動量を制御し、所望の三次元形状
の変形を容易に実現することが可能となる。この結果、
変形対象となる形状の材質の特性等も表現することがで
きる。上記の関数の形式は任意であり、変形の指示点
も、点だけでなく、線や面とすることも可能である。
【0043】上記の関数式により、各頂点の移動量を計
算することができ、図5の(b)に示すように、矢印で
示される各頂点の移動量が算出される。
算することができ、図5の(b)に示すように、矢印で
示される各頂点の移動量が算出される。
【0044】計算された移動量をもとに、各頂点を移動
させると、図5の(c)の形状となり、1つの指示点を
指定するだけで三次元形状の変形を行なうことができ、
所望の形状を容易に表示することができる。また、変形
の状態は、上記の関数の各パラメータを変形することに
より制御することができる。
させると、図5の(c)の形状となり、1つの指示点を
指定するだけで三次元形状の変形を行なうことができ、
所望の形状を容易に表示することができる。また、変形
の状態は、上記の関数の各パラメータを変形することに
より制御することができる。
【0045】次に、移動量に応じた三角形の分割の効果
について説明する。図6は、三角形の分割の効果を説明
する図である。
について説明する。図6は、三角形の分割の効果を説明
する図である。
【0046】図6の(a)において、●で示された頂点
が矢印の方向に移動するとき、三角形を分割せずに移動
を行なうと、図6の(b)に示すように、頂点の箇所で
三角形間の角度が小さくなり鋭く尖ったような形状にな
ってしまい、使用者が意図した形状とは異なる変形にな
る場合がある。しかし、本発明の三次元形状表示装置で
は、移動量に応じて三角形を分割しているので、図6の
(c)、(d)に示すように、使用者が意図した微妙な
形状を容易に表現することが可能となる。
が矢印の方向に移動するとき、三角形を分割せずに移動
を行なうと、図6の(b)に示すように、頂点の箇所で
三角形間の角度が小さくなり鋭く尖ったような形状にな
ってしまい、使用者が意図した形状とは異なる変形にな
る場合がある。しかし、本発明の三次元形状表示装置で
は、移動量に応じて三角形を分割しているので、図6の
(c)、(d)に示すように、使用者が意図した微妙な
形状を容易に表現することが可能となる。
【0047】上記の三角形を分割するタイミングとして
は、図3で説明した三角形の分割の必要性のチェック処
理だけでなく、たとえば、頂点の移動量が一定値以上に
なったとき、隣接する三角形との面間角度が一定値以上
になったとき、使用者が指示したとき等に分割してもよ
い。
は、図3で説明した三角形の分割の必要性のチェック処
理だけでなく、たとえば、頂点の移動量が一定値以上に
なったとき、隣接する三角形との面間角度が一定値以上
になったとき、使用者が指示したとき等に分割してもよ
い。
【0048】次に、1つの三角形を4つの三角形に分割
する場合について説明する。図7は、1つの三角形を4
つの三角形に分割する方法を説明する図である。
する場合について説明する。図7は、1つの三角形を4
つの三角形に分割する方法を説明する図である。
【0049】図7の(a)に示した三角形の各辺の中点
に、図7の(b)に示すように○で示すように頂点を生
成する。次に、図7の(c)に示すように頂点を結び直
して4つの三角形にする。これらの分割された三角形を
さらに分割する場合も同様の方法で行なうことができ
る。
に、図7の(b)に示すように○で示すように頂点を生
成する。次に、図7の(c)に示すように頂点を結び直
して4つの三角形にする。これらの分割された三角形を
さらに分割する場合も同様の方法で行なうことができ
る。
【0050】次に、分割された三角形に隣接する三角形
の取扱いについて説明する。図8は、分割された三角形
に隣接する三角形の扱いを説明する第1の図である。
の取扱いについて説明する。図8は、分割された三角形
に隣接する三角形の扱いを説明する第1の図である。
【0051】図8の(a)に示すように、隣接する三角
形の1つが分割されている場合、図8(b)に示すよう
に、その三角形は破線で分けられる2つの三角形として
取扱われる。
形の1つが分割されている場合、図8(b)に示すよう
に、その三角形は破線で分けられる2つの三角形として
取扱われる。
【0052】図9は、分割された三角形に隣接する三角
形の取扱いを説明する第2の図である。図8の(b)に
示したように、破線で分けられる2つの三角形として取
扱う場合、図9の(a)に示すように、矢印で示される
方向に頂点が移動されたされた場合でも、図9の(b)
に示すように、破線で分けられる2つの三角形として取
扱うので、平面性を保つことが可能となる。
形の取扱いを説明する第2の図である。図8の(b)に
示したように、破線で分けられる2つの三角形として取
扱う場合、図9の(a)に示すように、矢印で示される
方向に頂点が移動されたされた場合でも、図9の(b)
に示すように、破線で分けられる2つの三角形として取
扱うので、平面性を保つことが可能となる。
【0053】次に、隣接する三角形の1つが分割されて
いる三角形を分割する場合について説明する。図10
は、分割された三角形に隣接する三角形の取扱いを説明
する第3の図である。図10の(a)に示すように、既
に頂点が存在する場合は、図10の(b)に示すように
存在する頂点を使用し、○で示した頂点を新たに生成し
て三角形の分割を行なう。
いる三角形を分割する場合について説明する。図10
は、分割された三角形に隣接する三角形の取扱いを説明
する第3の図である。図10の(a)に示すように、既
に頂点が存在する場合は、図10の(b)に示すように
存在する頂点を使用し、○で示した頂点を新たに生成し
て三角形の分割を行なう。
【0054】次に、隣接する三角形の2つが分割されて
いる場合の取扱いについて説明する。図11は、隣接す
る三角形の2つが分割されている場合の取扱いを説明す
る図である。
いる場合の取扱いについて説明する。図11は、隣接す
る三角形の2つが分割されている場合の取扱いを説明す
る図である。
【0055】図11の(a)に示すように、隣接する三
角形の2つが分割されている場合、図11の(b)、
(c)に示す2つの取扱いが考えられる。表示に関して
はどちらを選ぶかは任意である。頂点における法線ベク
トルを計算する場合は、それぞれ○で示した頂点に関し
て計算を行なう。
角形の2つが分割されている場合、図11の(b)、
(c)に示す2つの取扱いが考えられる。表示に関して
はどちらを選ぶかは任意である。頂点における法線ベク
トルを計算する場合は、それぞれ○で示した頂点に関し
て計算を行なう。
【0056】次に、隣接する3角形の2つが分割されて
いるような三角形を分割する方法について説明する。図
12は、隣接する三角形の2つが分割されている三角形
を分割する方法を説明する図である。この場合は、既に
生成されている2つの頂点を使用し、頂点の存在しない
辺は○で示すように中点に新たな頂点を生成しこれらの
頂点を用いて三角形の分割を行なう。また、上記の方法
以外に、隣接する三角形のうち2つが分割された時点で
三角形を分割してもよい。また、隣接する三角形が3つ
とも分割されている場合は既に生成されている頂点を使
用し、三角形を分割する。
いるような三角形を分割する方法について説明する。図
12は、隣接する三角形の2つが分割されている三角形
を分割する方法を説明する図である。この場合は、既に
生成されている2つの頂点を使用し、頂点の存在しない
辺は○で示すように中点に新たな頂点を生成しこれらの
頂点を用いて三角形の分割を行なう。また、上記の方法
以外に、隣接する三角形のうち2つが分割された時点で
三角形を分割してもよい。また、隣接する三角形が3つ
とも分割されている場合は既に生成されている頂点を使
用し、三角形を分割する。
【0057】次に、隣接する三角形が分割されており、
そのうちの1つの三角形がさらに分割される場合の取扱
いについて説明する。図13は、隣接する三角形が分割
されており、そのうちの1つがさらに分割される場合の
取扱いを説明する図である。
そのうちの1つの三角形がさらに分割される場合の取扱
いについて説明する。図13は、隣接する三角形が分割
されており、そのうちの1つがさらに分割される場合の
取扱いを説明する図である。
【0058】図13の(a)から図13の(b)に示す
ように分割が行なわれた場合、図13の(c)に示すよ
うに隣接する三角形を1回分割する。図13において、
○は新たに生成された頂点であり、破線は、図8で示し
たものと同様である。
ように分割が行なわれた場合、図13の(c)に示すよ
うに隣接する三角形を1回分割する。図13において、
○は新たに生成された頂点であり、破線は、図8で示し
たものと同様である。
【0059】次に、三角形の頂点の法線ベクトルを法線
ベクトルの面積による重み付平均として算出する方法に
ついて説明する。法線ベクトルの三角形の面積による重
み付平均は次式により計算できる。
ベクトルの面積による重み付平均として算出する方法に
ついて説明する。法線ベクトルの三角形の面積による重
み付平均は次式により計算できる。
【0060】
【数2】
【0061】上式を使用して、一部が分割された三角形
群の頂点における法線ベクトルを計算する方法を図14
に示す。図14の(a)に示されている局面を、図14
の(b)に示すように複数の三角形で表現しているとす
る。ここで、図14に示す矢印は各三角形の法線ベクト
ルである。図14の(b)の○で示された点での法線ベ
クトルを求める場合、○の頂点に属する三角形の法線ベ
クトルの単純平均を求めると、図14の(c)に示すよ
うになり、誤差が大きくなる場合がある。そこで、各法
線ベクトルに上記のように三角形の面積を掛けたものを
足し合わせた後、規格化することにより、図14の
(d)に示すように三角形の面積に応じた法線ベクトル
を算出することができ、良好なシューティング等の表示
処理を行なうことができ、形状の表示を品質よく行なう
ことが可能となる。
群の頂点における法線ベクトルを計算する方法を図14
に示す。図14の(a)に示されている局面を、図14
の(b)に示すように複数の三角形で表現しているとす
る。ここで、図14に示す矢印は各三角形の法線ベクト
ルである。図14の(b)の○で示された点での法線ベ
クトルを求める場合、○の頂点に属する三角形の法線ベ
クトルの単純平均を求めると、図14の(c)に示すよ
うになり、誤差が大きくなる場合がある。そこで、各法
線ベクトルに上記のように三角形の面積を掛けたものを
足し合わせた後、規格化することにより、図14の
(d)に示すように三角形の面積に応じた法線ベクトル
を算出することができ、良好なシューティング等の表示
処理を行なうことができ、形状の表示を品質よく行なう
ことが可能となる。
【0062】
【発明の効果】請求項1記載の三次元表示装置において
は、構成点の移動量に応じて三次元空間中の形状を表示
する三角形を複数の三角形に分割し、細かな変形状態を
表示することができるので、所望の形状を容易に表示す
ることが可能となる。
は、構成点の移動量に応じて三次元空間中の形状を表示
する三角形を複数の三角形に分割し、細かな変形状態を
表示することができるので、所望の形状を容易に表示す
ることが可能となる。
【0063】請求項2記載の三次元形状表示装置におい
ては、関数のパラメータの変更により構成点の移動に伴
う形状の変形を制御することができるので、所望の形状
を容易に表示することが可能となる。
ては、関数のパラメータの変更により構成点の移動に伴
う形状の変形を制御することができるので、所望の形状
を容易に表示することが可能となる。
【0064】請求項3記載の三次元形状表示装置におい
ては、周囲の三角形の法線ベクトルの面積による重み付
平均として算出された構成点における法線ベクトルを用
いて良好な表示処理を行なうことができるので、三角形
が局地的に細かく分割されている場合でも、所望の形状
を容易に表示することが可能となる。
ては、周囲の三角形の法線ベクトルの面積による重み付
平均として算出された構成点における法線ベクトルを用
いて良好な表示処理を行なうことができるので、三角形
が局地的に細かく分割されている場合でも、所望の形状
を容易に表示することが可能となる。
【図1】本発明の一実施例の三次元形状表示装置の構成
を説明するブロック図である。
を説明するブロック図である。
【図2】図1に示す三次元形状表示装置の動作を説明す
るためのフローチャートである。
るためのフローチャートである。
【図3】図2に示す三角形の分割の必要性のチェック処
理を説明するフローチャートである。
理を説明するフローチャートである。
【図4】図2に示す三角形の分割および分割された三角
形に隣接する三角形の処理について説明するフローチャ
ートである。
形に隣接する三角形の処理について説明するフローチャ
ートである。
【図5】図1に示す三次元形状表示装置の三次元形状の
変形状態を説明する図である。
変形状態を説明する図である。
【図6】図1に示す三次元形状表示装置の三角形の分割
の効果を説明する図である。
の効果を説明する図である。
【図7】図1に示す三次元形状表示装置の1つの三角形
を4つの三角形に分割する方法を説明する図である。
を4つの三角形に分割する方法を説明する図である。
【図8】図1に示す三次元形状表示装置の分割された三
角形に隣接する三角形の取扱いを説明する第1の図であ
る。
角形に隣接する三角形の取扱いを説明する第1の図であ
る。
【図9】図1に示す三次元形状表示装置の分割された三
角形に隣接する三角形の取扱いを説明する第2の図であ
る。
角形に隣接する三角形の取扱いを説明する第2の図であ
る。
【図10】図1に示す三次元形状表示装置の分割された
三角形に隣接する三角形の取扱いを説明する第3の図で
ある。
三角形に隣接する三角形の取扱いを説明する第3の図で
ある。
【図11】図1に示す三次元形状表示装置の隣接する三
角形の2つが分割されている場合の取扱いを説明する図
である。
角形の2つが分割されている場合の取扱いを説明する図
である。
【図12】図1に示す三次元形状表示装置の隣接する三
角形の2つが分割されている三角形を分割する方法を説
明する図である。
角形の2つが分割されている三角形を分割する方法を説
明する図である。
【図13】図1に示す三次元形状表示装置の隣接する三
角形が分割されそのうちの1つの三角形がさらに分割さ
れる場合の取扱いを説明する図である。
角形が分割されそのうちの1つの三角形がさらに分割さ
れる場合の取扱いを説明する図である。
【図14】図1に示す三次元形状表示装置の一部が分割
された三角形群の頂点における法線ベクトルを計算する
方法を説明する図である。
された三角形群の頂点における法線ベクトルを計算する
方法を説明する図である。
1 入力部 2 形状データ管理部 3 変形量計算部 4 形状データ操作部 5 三角形分割処理部 6 表示用データ計算部 7 表示部 8 制御部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 7623−5L G06F 15/60 400 D
Claims (3)
- 【請求項1】 三次元空間中の形状を複数の三角形で表
示する形状表示手段と、 前記三角形を構成する構成点を移動する移動手段と、 前記構成点の移動量に応じて、前記三角形をさらに複数
の三角形に分割する分割手段とを含む三次元形状表示装
置。 - 【請求項2】 三次元空間中の形状を複数の三角形で表
示する形状表示装置と、 前記三角形を構成する構成点の移動を指示するための指
示標識を入力する入力手段と、 前記指示標識と前記構成点との距離と所定のパラメータ
とで表わされる関数により前記構成点の移動量を求める
移動量算出手段と、 前記パラメータを変化させることにより、前記構成点の
移動量を制御する制御手段と、 前記構成点の移動量に応じて、前記構成点を移動させる
移動手段とを含む三次元形状表示装置。 - 【請求項3】 三次元空間中の形状を複数の三角形で表
示する形状表示手段と、 前記三角形を構成する構成点における法線ベクトルを周
囲の三角形の法線ベクトルの面積による重み付平均とし
て算出する算出手段と、 前記算出手段により算出された法線ベクトルを用いて、
前記形状に所定の表示処理を行なう処理手段とを含む三
次元形状表示装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5210770A JPH0765205A (ja) | 1993-08-25 | 1993-08-25 | 三次元形状表示装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5210770A JPH0765205A (ja) | 1993-08-25 | 1993-08-25 | 三次元形状表示装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0765205A true JPH0765205A (ja) | 1995-03-10 |
Family
ID=16594853
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5210770A Withdrawn JPH0765205A (ja) | 1993-08-25 | 1993-08-25 | 三次元形状表示装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0765205A (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996036016A1 (fr) * | 1995-05-11 | 1996-11-14 | Sega Enterprises, Ltd. | Processeur d'images et appareil de jeu en etant equipe |
| JP2007087329A (ja) * | 2005-09-26 | 2007-04-05 | Ricoh Co Ltd | 3次元図形描画装置、3次元図形描画方法、3次元図形描画プログラム、該プログラムを記録した記録媒体 |
| JP2007122444A (ja) * | 2005-10-28 | 2007-05-17 | Ricoh Co Ltd | 3次元形状の撓み表示装置、表示方法、及びプログラム |
| JPWO2006003856A1 (ja) * | 2004-07-01 | 2008-04-17 | 松下電器産業株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
| JP2013225174A (ja) * | 2012-04-19 | 2013-10-31 | Toyota Motor Corp | 形状修正方法 |
-
1993
- 1993-08-25 JP JP5210770A patent/JPH0765205A/ja not_active Withdrawn
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1996036016A1 (fr) * | 1995-05-11 | 1996-11-14 | Sega Enterprises, Ltd. | Processeur d'images et appareil de jeu en etant equipe |
| KR100281837B1 (ko) * | 1995-05-11 | 2001-02-15 | 이리마지리 쇼우이치로 | 화상 처리 장치 및 이를 구비한 게임 장치 |
| US6878058B1 (en) * | 1995-05-11 | 2005-04-12 | Sega Enterprises, Ltd. | Image processor and game device with image processor |
| JPWO2006003856A1 (ja) * | 2004-07-01 | 2008-04-17 | 松下電器産業株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
| JP4691494B2 (ja) * | 2004-07-01 | 2011-06-01 | パナソニック株式会社 | 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路 |
| JP2007087329A (ja) * | 2005-09-26 | 2007-04-05 | Ricoh Co Ltd | 3次元図形描画装置、3次元図形描画方法、3次元図形描画プログラム、該プログラムを記録した記録媒体 |
| JP2007122444A (ja) * | 2005-10-28 | 2007-05-17 | Ricoh Co Ltd | 3次元形状の撓み表示装置、表示方法、及びプログラム |
| JP2013225174A (ja) * | 2012-04-19 | 2013-10-31 | Toyota Motor Corp | 形状修正方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8063917B2 (en) | Image processing system and program | |
| WO2013069215A1 (ja) | 画像処理装置、画像処理方法、および画像ファイルのデータ構造 | |
| CA2032847C (en) | Method and system for displaying a three-dimensional object | |
| JPH07254075A (ja) | 3次元的な物体の変形方法及びモデリングシステム | |
| JPH0765205A (ja) | 三次元形状表示装置 | |
| JP3337608B2 (ja) | 解析シミュレーション装置 | |
| JPH09223248A (ja) | 2次元図形データの3次元化処理方法 | |
| JP3090409B2 (ja) | コンピュータを用いた3次元形状のデザイン方法およびデザイン装置 | |
| US6856325B2 (en) | Information processing method and apparatus | |
| JP3361652B2 (ja) | 立体図形配置入力方法及びグラフィックシステム | |
| JP2725739B2 (ja) | コンピュータにより表示される三次元形態の変形方法 | |
| JP2000339486A (ja) | 画像処理方法、及びボリュームレンダリング処理装置 | |
| JPH05233780A (ja) | 形状変形方法 | |
| JP3451292B2 (ja) | 図形変形装置 | |
| JP3490169B2 (ja) | 三次元アニメーション処理システム及び処理方法 | |
| JP3486937B2 (ja) | 図形変形装置 | |
| JP3823596B2 (ja) | 動作シミュレーション用データの圧縮方法 | |
| JP2786098B2 (ja) | 図形拡大編集方法 | |
| JP2007323583A (ja) | 画像変換装置及び画像変換プログラム | |
| JPH0991109A (ja) | 仮想3次元空間表示装置 | |
| EP0212774A2 (en) | Display system | |
| JPH1115994A (ja) | 曲面作成方法 | |
| JPH07200854A (ja) | 図形変形装置 | |
| JP2616132B2 (ja) | 画像表示装置 | |
| JP6106293B2 (ja) | 画像処理装置、画像処理システム、および画像処理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20001031 |