JPH09311954A - 3次元図形表示システムおよび3次元図形の表示方法 - Google Patents

3次元図形表示システムおよび3次元図形の表示方法

Info

Publication number
JPH09311954A
JPH09311954A JP12704696A JP12704696A JPH09311954A JP H09311954 A JPH09311954 A JP H09311954A JP 12704696 A JP12704696 A JP 12704696A JP 12704696 A JP12704696 A JP 12704696A JP H09311954 A JPH09311954 A JP H09311954A
Authority
JP
Japan
Prior art keywords
line segment
data
color
contour ridge
additional line
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.)
Pending
Application number
JP12704696A
Other languages
English (en)
Inventor
Seiichi Kanema
誠一 金間
Hideki Tokuyama
秀樹 徳山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP12704696A priority Critical patent/JPH09311954A/ja
Publication of JPH09311954A publication Critical patent/JPH09311954A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】 複雑な処理手順およびマスクバッファ装置を
必要することなく、輪郭部分が適切に強調された3次元
画像を表示可能な3次元画像表示システムを提供するこ
とを目的とする。 【解決手段】 3次元画像表示システムは、論理座標空
間における処理を実行する論理空間処理部9と、論理座
標空間から2次元投影面への投影変換などを実行する装
置座標変換部16と、表示対象物を表示するための画像
空間上の画素デ−タを得る数値−画像空間変換部7と、
入力コマンドに基づき、表示対象物の論理空間上の輪郭
稜線を検出する輪郭稜線検出部14と、輪郭稜線に関す
るデータを、装置座標空間の2次元投影面上に投影変換
し、2次元投影面上の輪郭稜線を基準輪郭稜線として、
その外側に位置する付加線分を得る付加線分発生部19
とを備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、3次元図形の表示
システムおよび表示方法に関する。すなわち、3次元図
形の表面の形状などの幾何学的特性および光の反射係数
などの光学的特性、光源の種類や位置などの照明法、並
びに、視点や投影面の位置などの投影法を言語的に記述
した入力コマンドに基づき、この3次元図形に対応し
て、2次元格子状の平面空間に位置する画素のデータを
生成し、この画素データをフレームメモリに記憶し、フ
レームメモリに記憶した画素データを表示装置に転送し
することにより、3次元図形を、表示装置の2次元表示
面上に、画像として表示するシステムおよび方法に関す
る。より詳細には、観察者による、表示対象図形の3次
元的な幾何学的形状や構造の把握が容易になるように、
3次元図形の輪郭稜線部分を、その存在が明確に分かる
ように強調表示する表示システムおよび表示方法に関す
る。
【0002】この方法は、表示対象である3次元図形表
面の幾何形状を多面体で近似し、この多面体を構成する
各面をそれぞれ一定濃度の面として簡略に表示するコン
スタントシェーディング法や、隣接面との間で連続的に
濃度を変化させて滑らかに面を接続し、曲面らしく表示
するグーローシェーディング法やフォングシェーディン
グ法を用い、隠面隠線消去処理をZバッファ法で行うこ
とで、モノクロまたはカラー濃淡表示画像を生成する表
示方法または装置に良く適合する。さらに、より高度な
モノクロまたはカラー濃淡画像生成法であるレイトレー
シングやラジオシティ法との組合せも可能である。
【0003】これらグーローシェーディング法やレイト
レーシング法は3次元図形表面における光のふるまいの
シミュレートをベースとし、写真品質の表示を究極の目
標とするものであるが、この光のシミュレートを省略
し、3次元図形表面の濃淡変化を無視した均一濃度表示
との組合せにも良く適合する。
【0004】したがって、この方法は前者の表示法を利
用した3次元形状設計システムや3次元アニメーション
システムに有効である。また、後者の表示法を利用した
均一な着色と輪郭稜線強調表示の組合せによる手書きア
ニメーション画像の自動生成にも適用できる。
【0005】
【従来の技術】特開平7−85310号公報には、第1
のステップで、入力コマンドに基づいて3次元図形表面
を近似する多面体をモノクロまたはカラー濃淡付けして
可視化する画像データを生成するとともに、この入力コ
マンドを数値的に解析して、その表示シーンにおける輪
郭稜線に対応する線分コマンドを検出・記憶し、第2の
ステップで、この輪郭稜線の線分コマンドを画像データ
化し、第1のステップで求めたモノクロまたはカラー濃
淡表示画像データに重ね合わせて表示する方法が開示さ
れている。この手法では、第1のステップにおいて、輪
郭稜線に対応する線分コマンドを検出・記憶し、同時
に、この輪郭稜線の重ね合わせに対する準備処理を施し
た面画素データをフレームメモリおよびZバッファに生
成する。このデータ生成の手順は次のようである。まず
表示対象多角形のすべての辺、すなわち、すべての輪郭
稜線および稜線について面と同じモノクロまたはカラー
の濃淡を与える色または輝度でをこれらを構成する画素
データを発生し、この画素データから相互にデータを利
用しながらフレームメモリ、Zバッファ、マスクバッフ
ァにマスクデータを生成・記憶する。つぎに面のモノク
ロまたはカラー濃淡表示のための面データを発生し、こ
のマスクデータを作用させながら面データをフレームメ
モリとZバッファに書き込む。これによって、第2のス
テップにおいて、輪郭稜線の線分コマンドをもとに発生
した輪郭稜線画素データを重ね合わせるとき、および輪
郭稜線と稜線を構成する画素データが同一画素位置に重
なるとき、輪郭稜線表示データを優先して選択できるデ
ータがフレームメモリとZバッファに生成・記憶する。
【0006】
【発明が解決しようとする課題】上記の従来方法には以
下の問題がある。
【0007】(1)可視な輪郭稜線を途切れなく表示す
るのに、第1のステップにおいて、輪郭稜線重ね合わせ
準備の処理をするが、このために複雑な手順と、マスク
バッファ装置が必要である。
【0008】(2)輪郭稜線画素データの多くは、その
輪郭稜線が所在する面を構成する面画素データと同一位
置を占める。このため、輪郭稜線画素データを面画素デ
ータに重ね合わせると、輪郭稜線画素で面画素の一部分
が置き換えられる。このとき、輪郭稜線画素の色または
輝度は、輪郭稜線の存在を強調表示することが目的であ
るため、面画素のそれとは明確に異なる。このため、画
画素の色または輝度を占める面の一部分が輪郭稜線で削
り取られ、見かけの面の表示サイズが小さくなる。輪郭
稜線などを構成する画素の大きさは表示装置に固有で、
それが囲む面積の大小に係わらず一定である。したがっ
て、見かけの面積が小さくなる割合は、小さな面ほど相
対的に大きくなり、大きな表示歪が生じる。
【0009】(3)輪郭稜線を太く表示して、さらに強
調を強める場合、従来の太線表示の方法で輪郭稜線に幅
を持たせると、中心線からその両側に向けて輪郭稜線画
素データを追加する。したがって、面の内側方向にも追
加が行われ、上記の輪郭稜線画素データで面画素データ
が削り取られる割合がさらに増加し、問題が大きくな
る。
【0010】(4)輪郭稜線画素の表示色または輝度と
して単純に識別が容易な一定のモノクロまたはカラーの
色または輝度に定めると、表示面における画素サイズと
観察者の位置の関係によっては階段状の線分で強調され
た輪郭稜線強調表示となる。
【0011】本発明は、(1)複雑な処理手順およびと
マスクバッファ装置を必要とせず、(2)表示された面
の見かけの面積が小さくなることなく、(3)従来の入
力コマンド・インタフェースを維持し、かつ、(4)得
られた画像が階段状とならない3次元画像表示システム
および表示装置を提供することを目的とする。
【0012】
【課題を解決するための手段】本発明においては、輪郭
稜線の存在を強調するために利用する画素の範囲、すな
わち、輪郭稜線部分を、輪郭稜線を構成する画素および
輪郭稜線に沿って面の外側に位置する画素から構成させ
ている。
【0013】すなわち、本発明の目的は、3次元表示す
べき対象物の種々の特性を示す入力コマンドに基づき、
該対象物に対応する2次元格子状の画素データを生成
し、生成された画素データを、可視的な2次元投影面上
のデータに変換して、該変換された2次元平面上のデー
タに基づく画素から構成される図形を含む画像を、表示
装置の画面上に表示する3次元図形表示システムであっ
て、前記入力コマンドに基づき、論理座標空間における
処理を実行する論理空間データ処理手段と、論理座標空
間から2次元投影面への投影変換を含む装置座標空間上
のデータ変換を実行するデータ変換手段と、装置座標空
間上のデータに基づき、表示対象物を、二次平面的に、
所定の色または輝度をもって表示するための画像空間上
の画素デ−タへのデータ変換を実行する第2のデータ変
換手段と、前記画素デ−タを記憶するフレ−ムメモリ
と、前記入力コマンドに基づき、表示対象物の論理空間
上の輪郭稜線を検出する輪郭稜線検出手段と、前記検出
された輪郭稜線に関するデータを、装置座標空間の2次
元投影面上に投影変換する輪郭稜線投影変換手段と、該
投影変換によって得られた2次元投影面上の輪郭稜線を
基準輪郭稜線として、該基準輪郭稜線上および該基準輪
郭稜線に対して該基準輪郭稜線が所在する面の外側に位
置する線分を構成する画素の画素データを生成して付加
線分を得る付加線分生成手段とを備え、生成された付加
線分の画素データを用いて、前記フレームメモリ内の画
素データを更新し、輪郭稜線部分を強調するように構成
されたことを特徴とする3次元図形表示システムにより
達成される。
【0014】本発明によれば、輪郭稜線部分を構成する
画素の画素データが、輪郭稜線上の画素データおよびそ
の輪郭稜線が所在する面の外側の所定の画素の画素デー
タとなるため、表示対象物の面を構成する画素と同じ位
置に存在する輪郭稜線を構成する画素を優先させる制
御、或いは、稜線を構成する画素および輪郭稜線を構成
する画素が同じ位置に生成される場合に、輪郭稜線の画
素を優先する制御を実施することなく、輪郭稜線に沿っ
て、とぎれなく、輪郭部を強調して表示することが可能
となる。
【0015】2次元の投影面上では、一般に、輪郭稜線
の外側の領域には何も図形が存在せず、このため、他の
面を構成する画素が存在しないか、或いは、後方に他の
面が存在し、その面を構成する画素が存在するか、2つ
の場合が生じ得る。他の面を構成する画素が存在しない
場合、すなわち、前者の場合には、画素に対する輪郭強
調処理に、何ら問題が生じることはない。その一方、後
方に位置する他の面の画素データが存在する場合、すな
わち、後者の場合であっても、一般に、輪郭稜線と後方
の面との間には奥行き座標値に明確な差が存在するの
で、外側に発生する輪郭稜線を強調するための画素の奥
行値を、輪郭稜線と同じかまたはその近傍値とすること
で、特別な処理を経ることなく、或いは、付加装置を用
いることなく、後方の面の画素より、輪郭稜線画素を優
先させることができ、途切れなく輪郭稜線部分を強調す
ることができる。
【0016】また、表示図形が凹であるときは、投影面
上で凹となる輪郭稜線部分が生じることがある。このよ
うな輪郭稜線部分では、外側に付け加えた付加線分の画
素が面の内部に入り込む位置に生成されることがある。
このときには、強調画素の奥行を、輪郭稜線の奥行値よ
りも奥行き側に設定しておくことにより、面に入り込ん
だ部分は不可視と判定され、表示対象にはならず、過剰
な付加部分のない輪郭稜線部分を得ることができる。
【0017】本発明の好ましい実施態様においては、前
記付加線分生成手段が、前記輪郭稜線検出手段により得
られた前記輪郭稜線の始点および終点を、装置座標空間
の2次元投影面上に投影変換して、前記始点および終点
に対応する画素の位置を得て、前記始点および終点とす
る該投影面上の線分を基準輪郭稜線と決定する基準輪郭
稜線決定手段と、前記基準輪郭稜線決定手段により決定
された基準輪郭稜線の始点および終点を、画素単位で該
基準輪郭稜線が位置する面の外側に向かって水平方向お
よび垂直方向の一方に平行移動することにより、少なく
とも一組の付加線分の始点および終点を定める付加線分
始終点決定手段とを備え、該輪郭稜線および付加線分の
それぞれの始点と終点とを結ぶ線分を構成する画素の位
置を示す位置データを生成し、該位置データに基づき、
前記フレームメモリのデータを更新するように構成され
ている。
【0018】また、本発明のさらに好ましい実施態様に
おいては、前記付加線分生成手段が、強調すべき付加線
分の幅に対応する画素の数、および、面の外側方向に平
行移動して付加すべき付加線分の本数を、基準輪郭稜線
の奥行値に基づき定めるように構成されている。
【0019】本発明のさらに好ましい実施態様において
は、前記付加線分生成手段が、基準輪郭稜線からの離間
するのにしたがって、付加線分が前記輪郭稜線部分を構
成することを示す度合を弱めるような特性を有する付加
線分を得るように構成され、および/または、前記付加
線分生成手段が、その奥行値が、奥行側を示す値となる
のにしたがって、付加線分が前記輪郭稜線部分を構成す
ることを示す度合を弱めるような付加線分を得るように
構成されている。
【0020】複数の付加線分を用いて、太線により輪郭
部分を強調する場合には、輪郭稜線が所在する面に対し
てその外側のみに幅の拡張を行う。また、拡張時に付加
する画素の輪郭を強調する度合は外側に位置するものほ
ど弱め、その奥行値は、付加の対象とする輪郭稜線の奥
行値よりも多少奥行き側の値とする制御を行うのが好ま
しい。
【0021】この実施態様によれば、強調の度合を、基
準輪郭稜線から離間するほど弱めるので、輪郭部分と画
像中の背景とのなじみの良い画像を得ることが可能とな
る。
【0022】本発明のさらに好まし実施態様において
は、前記付加線分生成手段が、入力コマンドにより予め
定められた基準輪郭稜線の色または輝度、および、予め
定められた最も外側に位置すべき付加線分の色または輝
度に基づき、基準輪郭稜線からの距離に応じて、前記色
または輝度を混合することにより前記最も外側に位置す
べき付加線分以外の付加線分の色または輝度を決定する
ように構成されている。
【0023】本発明のさらに好まし実施態様において
は、前記付加線分生成手段が、入力コマンドにより予め
定められた初期変調率、および、基準輪郭稜線からの距
離に応じて、前記第2のデータ変換手段により得られた
色または輝度を変調することにより、前記付加線分の色
または輝度を決定するように構成されている。
【0024】本発明のさらに好ましい実施態様において
は、前記付加線分生成手段が、入力コマンドにより予め
決定された基準輪郭稜線の色または輝度に基づき、およ
び、前記第2のデータ変換手段により得られた色または
輝度に基づき、基準輪郭稜線からの距離に応答して、前
記色または輝度を混合して、前記付加線分の色または輝
度を決定するように構成されている。
【0025】本発明のさらに好ましい実施態様において
は、輪郭稜線に対応する画素データの色または輝度が、
前記付加線分の色または輝度と、基準輪郭稜線を与える
面の色または輝度との中間の混合色または輝度となって
いる。
【0026】この実施態様によれば、輪郭稜線を構成す
る画素の色または輝度を、輪郭強調部分を構成する画素
の色または輝度と、面の色または輝度との中間の色また
は輝度に決定することにより、面とのなじみも良い画像
を得ることが可能となる。このようにして、階段状の表
示となることなく、輪郭稜線部分を強調することができ
る。
【0027】本発明のさらに好ましい実施態様において
は、前記付加線分の始点および終点の奥行値が、基準輪
郭稜線の奥行値よりも奥行側の値と決定され、かつ、付
加線分が外側に位置するのにしたがって、その奥行値が
奥行側の値と決定される。
【0028】さらに、上述したこれら実施態様によれ
ば、輪郭稜線を強調するための画素は、主としてその輪
郭稜線が所在する面を構成する画素データの外側に生成
されるから、表示面において図形の見かけの面積が小さ
くなる割合を小さくできる。
【0029】また、本発明の目的は、3次元表示すべき
対象物の種々の特性を示す入力コマンドに基づき、該対
象物に対応する2次元格子状の画素データを生成し、生
成された画素データを、可視的な2次元投影面上のデー
タに変換して、該変換された2次元平面上のデータに基
づく画素から構成される図形を含む画像を、表示装置の
画面上に表示する3次元図形表示方法であって、前記入
力コマンドに基づき、論理座標空間における処理を実行
し、論理座標空間から2次元投影面への投影変換を含む
装置座標空間上のデータ変換を実行し、装置座標空間上
のデータに基づき、表示対象物を、二次平面的に、所定
の色または輝度をもって表示するための画像空間上の画
素デ−タへの第2のデータ変換を実行し、前記画素デ−
タをフレームメモリに記憶する第1群のステップと、前
記入力コマンドに基づき、表示対象物の論理空間上の輪
郭稜線を検出し、前記検出された輪郭稜線に関するデー
タを、装置座標空間の2次元投影面上に投影変換し、該
投影変換によって得られた2次元投影面上の輪郭稜線を
基準輪郭稜線として、該基準輪郭稜線上および該基準輪
郭稜線に対して該基準輪郭稜線が所在する面の外側に位
置する線分を構成する画素の画素データを生成して付加
線分を得て、生成された付加線分の画素データを用い
て、前記フレームメモリ内の画素データを更新して、輪
郭稜線部分を強調する第2群のステップとから構成され
たことを特徴とする3次元図形表示方法によっても達成
される。
【0030】
【発明の実施の形態】以下、添付図面に基づき、本発明
の実施の形態につき説明を加える。図1は、本発明の実
施の形態にかかる3次元図形表示システムの処理の概要
を示すフローチャート、図2は、実施の形態にかかる3
次元図形表示システムの構成を示すブロックダイヤグラ
ムである。
【0031】図1に示す処理は、数値形式で与えられた
表示すべき図形(表示対象図形)の図形データから、画
素形式で与えられた、輪郭稜線が強調表示された画像デ
ータを生成する処理であり、これは、概ね、2つのステ
ップから構成されている。ここに、数値形式のデータと
は、言語的な記述で与えられたデータ、すなわち、命令
ラベルおよび数値データから構成されるデータをいい、
その一方、画素形式のデータとは、画像を構成する画素
の各々の、xアドレス、yアドレス、z(奥行き)値お
よび輝度値から構成されるデータをいう。
【0032】第1のステップ(ステップ101)は、輪
郭稜線データを検出する処理およびシェーディング処理
である。また、第2のステップ(ステップ102)は、
シェーディングの結果に対する輪郭稜線データに基づく
輪郭強調処理である。ここに、本明細書において、シェ
ーディングとは、数値形式の図形データから、濃淡表示
の画素形式の画像データへの変換処理を意味している。
このシェーディングには、輝度計算や隠面消去などの処
理も含まれる。
【0033】この実施の形態において、表示対象図形に
基づく画像は、図3に示すように、手前側に三角錐30
1を、その後方に四角柱302を配置したものである。
このような画像を得るための処理の概略を、図1のフロ
ーチャートを参照して、以下に説明する。
【0034】第1のステップ(ステップ101)では、
表示対象図形に共通するデータである照明法データおよ
び投影法データを入力する(ステップ111)。次い
で、ある多角形に関する多角形データを受け入れ(ステ
ップ112)、多角形データ中の各頂点の座標値を、視
点位置を基準とする視点座標系の値に座標変換するなど
の幾何前処理を実行する(ステップ113)。さらに、
幾何前処理により得られた多角形の頂点の座標値に基づ
き、該多角形の各辺を調査し、輪郭稜線となる辺を検出
し、これらに関する輪郭稜線データを記憶する(ステッ
プ114)。次いで、幾何前処理により得られた多角形
データを、画素ごとの画素データに変換するシェーディ
ング処理を実行する(ステップ115)。このような処
理を、存在する全ての多角形について実行する。
【0035】第2のステップ(ステップ102)では、
第1のステップのステップ114で得られた輪郭稜線デ
ータの一つを受け入れ(ステップ117)、これに基づ
き、輪郭を強調すべき画素を示す輪郭強調画素データを
生成し、このデータをもとに、第1のステップのステッ
プ115で得られた、シェーディング処理の施された画
素データに対して、輪郭強調処理を行う(ステップ11
8)。上述した処理を、全ての輪郭稜線に対応する輪郭
稜線データに関して実行する。
【0036】以下に、各処理をより詳細に説明するが、
はじめに、必要な幾何学上の約束事項、および、これに
伴い生ずる性質などを説明する。
【0037】各多角形は3次元空間における平面上に存
在し、各頂点を一巡する頂点列のデータで定義される。
各平面上でこの多角形の頂点を定義の順にしたがって直
線で結んで得られる多角形の辺には、交差は生じないも
のとする。また、各平面上でこの多角形の頂点を定義の
順にしたがって直線で結んで一巡したとき、進行方向に
向かって左手側に見える面をおもて面、右側に見える面
をうら面と称する。このように定めると、3次元空間の
ある視点位置から多角形を見たとき、おもて面が見える
多角形ではその定義に従った頂点列の巡回方向は反時計
回りとなり、うら面が見える多角形では時計回りとな
る。
【0038】また、多面体の各面を構成する多角形を側
面と称する。おもて面が視点側に存在する側面を前方
面、うら面が視点側に存在する側面を後方面と称する。
さらに、2つの側面が共有する辺を稜線、2つの前方面
が共有する稜線を前方稜線、2つの後方面が共有する稜
線を後方稜線、前方面と後方面が共有する稜線を輪郭稜
線と称する。閉じた多面体を閉多面体、開いた部分をも
つ多面体を開多面体と称し、開多面体の開いた部分を開
口部、開口部を構成する辺を開口辺と称する。
【0039】この定義から分かるように、前方面や後方
面、輪郭稜線などの語句は実際に可視であるか、不可視
であるかと言うこととは独立である。すなわち、ひとつ
の多面体が空間に単独で存在し、かつ閉じた凸であると
きは、前方面、前方稜線、輪郭稜線はそのすべての部分
が可視である。閉多面体であれば、凹凸に関係なく、後
方面、後方稜線はすべての部分が不可視である。しかし
ながら、独立した多面体が複数個離散的にまたは相互に
交差或いは干渉して存在したり、単独の多面体であって
も凹であると、他の図形または自分自身に隠されて、前
方面、前方稜線、輪郭稜線の一部または全体が不可視と
なることがある。また、開多面体であると、後方面や後
方稜線の一部または全体が開口部分から見えて、可視と
なることがある。
【0040】次に、上述した第1のステップおよび第2
のステップの処理を実行する3次元表示装置の構成を、
図2を用いて説明する。図2に示すように、この3次元
表示装置は、大きく、制御・記憶部2および表示部3で
構成される。制御・記憶部2は、表示制御部5およびデ
ータ記憶部4からなり、その一方、表示部3は、数式空
間処理部6、数式−画像空間変換部7および画像空間処
理部8からなる。
【0041】数式空間処理部6は、数値形式で表わされ
た表示データ、すなわち、表示すべき対象を数値形式で
示したデータを、数値的に処理する部分であり、多角形
の頂点を示す頂点データを、数式に基づいて数値的に処
理する。この数式空間処理部6は、さらに、論理座標空
間処理部9、論理−装置座標空間変換部10および装置
座標空間処理部11を備えている。
【0042】論理座標空間処理部9は、論理座標系で表
された数値データを処理・記憶する部分であり、幾何前
処理部12、光学シミュレーション部13、輪郭稜線検
出部14および輪郭稜線バッファ15を備えている。ま
た、論理−装置座標空間変換部10は、論理座標空間の
数値データを装置座標空間の数値データに変換する部分
で、装置座標変換部16を有している。さらに、装置座
標空間処理部11は、装置座標系で表された数値データ
の処理を行う部分で、具体的には、付加線分発生部17
を有している。
【0043】数式−画像空間変換部7は、数値形式で表
わされたデータを個々の画素で表わされた画像形式のデ
ータに変換する部分であり、面発生部18および線分発
生部19を有している。この画像形式のデータとは、画
素の集合として表現したデータをいう。
【0044】画像空間処理部8は、画像形式で表わされ
た面や線を処理する部分で、隠面隠線消去部20、Zバ
ッファ21、フレームメモリ22、表示装置24および
変調部23から構成される。
【0045】このように構成された本実施の形態にかか
る3次元画像表示装置の全体的な作動を以下に説明す
る。
【0046】まず、オペレータが、マウス或いはキーボ
ードなどの入力装置(図示せず)を操作して、言語的な
記述の表示データを、表示制御部4に与える。表示制御
部4は、この表示データを受け入れ、データ記憶部5に
記憶する。この表示データは、図4に示すように、表示
すべき対象である3次元図形の表面形状などの幾何学特
性データ、および、光の反射係数などの光学的特性デー
タから構成される図形データ121、光源の種類、位置
などを示す照明法データ122、視点、投影面の位置な
どを示す投影法データ123、並びに、輪郭強調表示の
実行の可否、輪郭強調方法の種別、輪郭強調に用いるパ
ラメータなどを示す輪郭強調データ124からなる。こ
の図形データ121は、後述するように、後の処理によ
って多角形データ125に変換される。
【0047】入力コマンドを用いた表示データの入力が
終了すると、オペレータは、画像の表示開始を示す入力
コマンドを、入力装置(図示せず)を用いて入力するこ
とにより、表示すべき対象物の表示のための処理を起動
させる。
【0048】表示制御部4は、表示開始を示す入力コマ
ンドを受け入れると、データ記憶部5に記憶された、照
明法データ122、投影法データ123および輪郭強調
データ124など制御用のデータを読みだし、照明法デ
ータ122および投影法データ123を幾何前処理部1
2に与えるとともに、輪郭強調データ124を、幾何前
処理部12、装置座標変換部16、付加線分発生部1
7、隠面隠線消去部20および変調部23に与える。
【0049】次いで、表示制御部5は、データ記憶部4
に記憶された、幾何学的特性データおよび光学的特性デ
ータからなる図形データ121を読み出し、表示すべき
図形など表示対象物の表面形状が、曲面として定義され
ているときは、対象物を多面体に変換し、さらに、この
多面体の各面を構成する個々の独立した多角形に関する
幾何学特性データおよび光学的特性データからなる多角
形データ125の群を得て、これらデータ群を幾何前処
理部12に出力する。なお、このように、表示制御部5
が、表示部3の各構成要素に対して出力するデータは、
いずれも多角形の形状や視点位置などを言語的に記述し
たコマンド形式のデータである。
【0050】次に、表示部3は、表示制御部4から、コ
マンド形式のデータを受け入れ、図2に示すように、2
つのステップに大きく分けられた処理を実行する。
【0051】第1のステップにおける処理は、特願平7
−85310号公報に掲載された処理と同様である。す
なわち、第1のステップにおいては、幾何前処理部12
による処理が終了すると、論理空間における輪郭稜線の
検出(ステップ114)と、全空間にわたる面表示処理
であるシェーディング処理が実行される(ステップ11
5)。すなわち、表示データである一群の多角形データ
125(図4参照)に対して、幾何前処理部12、光学
シミュレーション部13、装置座標変換部16、面発生
部18、隠面隠線消去部20、Zバッファ21を用い
て、面画像を生成し、これをフレームメモリ22に記憶
する。この処理は、従来のフラット、グーロー、フォン
グなどのシェーディング法による。これと同時に輪郭稜
線検出部14で輪郭稜線や開口辺を検出し、輪郭稜線や
開口辺に関するデータを輪郭稜線バッファ15に記憶す
る。
【0052】より詳細には、幾何前処理部12は、表示
制御部4から与えられた投影法データ123を受け入れ
ると、これを一時的に記憶するとともに装置座標変換部
16に転送する。さらに、表示制御部4から与えられた
照明法データ122を受け入れると、これを、視点位置
を基準とした視点座標系のデータに変換して、光学シミ
ュレーション部13に転送する。また、多角形データ1
25を受け入れると、一時的に記憶された投影法データ
123を参照して、視点位置を基準とする視点座標系の
多角形データに変換し、さらに、各多角形が前方面であ
るか或いは後方面であるかの判定などを実行し、得られ
た多角形データを光学シミュレーション部13に出力す
る。また、多角形データは、輪郭稜線検出部14にも出
力される。
【0053】光学シミュレーション部13は、幾何前処
理部12から与えられた多角形データを受け入れると、
先に受け入れた照明法データに基づいて各多角形の頂点
における輝度を計算し、頂点輝度付き多角形データに変
換し、このデータを装置座標変換部16に出力する。
【0054】装置座標変換部16は、光学シミュレーシ
ョン部13から与えられた頂点輝度付き多角形デ−タを
受け入れると、それを、装置座標系のデータに変換し、
面発生部18に出力する。面発生部18は、この面デー
タを受け取ると、その面を構成する個々の画素データを
生成する。
【0055】フレームメモリ22は、個々の表示画素の
表示輝度データを画素ごとに記憶する。 Zバッファ2
1はフレームメモリ22に記憶した各画素の奥行値(Z
値)を画素ごとに記憶する。この表示輝度データは、面
発生部18および線分発生部19にて生成される。すな
わち、これは、面および線分を構成する画素に関連し
て、zバッファ21およびフレームメモリ22でのその
アドレスと、記憶すべきz値と、表示輝度とからなる数
値データである。
【0056】隠面隠線消去部20は、面発生部18で得
られた、面を構成する画素の水平(X)方向、垂直
(Y)方向および奥行き(Z)方向の装置座標系の座標
値デ−タと、表示輝度データとを受け入れると、Zバッ
ファ21内の、座標(X,Y)に対応するデータを読み
だし、Z値を比較することにより、面発生部18により
与えられた画素が、隠面に含まれない可視な画素である
か、或いは、隠面に含まれる不可視な画素であるかを判
断し、可視な画素であると判定されたときには、この画
素に関連する表示輝度データを用いて、フレームメモリ
22のデータを書き換える。また、Zバッファ21の、
座標(X,Y)に対応するデータも、受け入れられたデ
ータに書き換える。
【0057】その一方、輪郭稜線検出部14は、視点座
標系で記述された多角形デ−タを受け入れると、多角形
を構成する辺ごとのデータに分解し、得られた辺と、輪
郭稜線バッファ15に記憶された辺とを照合し、得られ
た辺の両端の座標値が、一致するような辺が、輪郭稜線
バッファ15に存在する場合には、輪郭稜線バッファ1
5から、当該辺に関するデータを除去し、その一方、一
致する辺が存在しない場合には、輪郭稜線或いは開口辺
として、当該辺に関するデータを輪郭稜線バッファ15
に記憶する。これにより、輪郭稜線および開口辺を検出
することが可能となる。この輪郭稜線検出部14の処理
も、特開平7−85310号に記載されたものと同様で
ある。なお、初期的には、輪郭稜線バッファには、辺に
対応するデータが記憶されておらず、このため、初期的
には、受け入れられた辺のデータは、輪郭稜線バッファ
15に記憶される。
【0058】ただし、この処理における輪郭稜線および
開口辺の検出は、幾何学上の定義物である輪郭稜線や開
口辺の、始点および終点の論理空間における座標値を求
めるものであり、実際に、各輪郭稜線や開口辺の全体
が、可視であるのか、部分的にどこからどこまで可視で
あるのか、或いは、全体が不可視であるのかは不明であ
る。この可視な部分を取り出す処理は第2のステップに
て実行される。
【0059】次に、第2のステップ(図1のステップ1
02)において実行される処理につき説明を加える。こ
の処理は、特開平7−85310号に記載された処理と
は異なる。この処理において、第1のステップにて検出
された輪郭稜線データを読み出すところは、上述した公
報に記載された処理と同様であるが、第1のステップに
て生成された面表示の輪郭部、すなわち、面発生部18
にて得られた面の輪郭を強調する手法が異なる。すなわ
ち、輪郭稜線バッファ15に記憶されたデータを取り出
して、装置座標変換部16、付加線分発生部17、線分
発生部19において、可視/不可視にかかわらず、全て
の輪郭稜線および開口辺並びに付加線分について、各々
の線分全体を構成する画素データを生成する。
【0060】隠面隠線消去部20、Zバッファ21を用
いて、輪郭稜線および開口辺並びに付加線分の可視な部
分を構成する画素を検出し、フレームメモリ22の面画
像に重ね書きする。このとき、指定されている輪郭強調
方法の種別によっては重ね書きの前にフレームメモリ2
2内のデータを読みだし、変調部23で必要な変調処理
を行い、フレームメモリ22の内容を置換する。後述す
るように、この輪郭強調方法の種別により、付加線分を
得る手法が異なる。
【0061】より詳細には、輪郭稜稜線バッファ15の
輪郭稜線および開口辺に関するデータが読み出されて、
装置座標変換部16により、装置座標系のデータに変換
され、変換されたデータが、基準輪郭稜線データとして
付加線分発生部17に与えられる。
【0062】付加線分発生部17は、この基準輪郭稜線
データを受け入れ、先に受け取った輪郭強調方法の種別
(後述する)を示す種別データに基づいて付加線分デー
タを生成し、得られた付加線分データを線分発生部19
に出力する。
【0063】線分発生部19は、付加線分デ−タを受け
入れると、その線分を構成する個々の画素に対応する画
素データを得て、これを隠面隠線消去部20に出力す
る。
【0064】隠面隠線消去部20においては、先に受け
取った輪郭強調方法の種別、すなわち、基準輪郭稜線お
よび付加線分の表示色の決め方などにより、その動作が
異なる。
【0065】あらかじめ入力コマンドで与えられた情報
のみにしたがって、基準輪郭稜線および付加線分の表示
色を定める場合には、線分発生部19により得られた線
分を構成する画素の水平(X)方向、垂直(Y)方向お
よび奥行き(Z)方向の装置座標系の座標値デ−タ並び
に表示輝度データを受け入れると、Zバッファ21内の
座標(X,Y)に対応するZ値デ−タを読み出し、この
Z値を比較することにより、線分発生部19により与え
られた画素が、隠線となる不可視な画素か否かを判定
し、隠線の画素でない、すなわち、可視な画素であると
判定されたときは、与えられた線分を構成する画素の表
示輝度デ−タを、フレームメモリ22に記憶することに
より、フレームメモリ22のデ−タを書き換える。また
同時に、Zバッファ21のデ−タを与えられたデータに
書き換える。
【0066】その一方、あらかじめ入力コマンドで与え
られた情報、および、フレームメモリ22に記憶されて
いる表示輝度データの両者を用いて、基準輪郭稜線およ
び付加線分の表示色を定める場合には、線分発生部19
で得られた線分を構成する画素の水平(X)方向、垂直
(Y)方向および奥行き(Z)方向の装置座標系の座標
値デ−タと表示輝度データを受け取ると、Zバッファ2
1内の座標(X,Y)に対応するZ値デ−タを読み出
し、Z値を比較することにより、線分発生部19により
与えられた画素が隠線画素でない可視な画素か、或い
は、隠線となる不可視な画素かを判定し、可視な画素と
判定されたときは、変調部23でフレームメモリ22の
内容を読み出し、これを、予め入力コマンドにより与え
られた情報を用いて変調し、変調されたデータをフレー
ムメモリ22に記憶することにより、フレームメモリ2
2のデ−タを書き換える。また同時に、Zバッファ21
のデ−タも与えられたデータに書き換える。このよう
に、輪郭稜線および開口辺、並びに、付加線分の可視な
部分の検出は画像空間処理部8にて実行される。
【0067】概略的に上述した本実施例にかかる3次元
図形表示システムによれば、図3に示す表示対象図形
を、図5或いは図6に示すような画素群として、得るこ
とが可能となる。図5或いは図6では、図3に示す多角
形のそれぞれの多角形データを、通常のシェーディング
方法にて処理して、図7に示すような画素を求め、同時
に、多角形データから、輪郭稜線に対応する線分を検出
し、この輪郭稜線の線分に基づき、図7に示す画素のう
ちで、輪郭稜線部分を強調している。ここに、図5は、
輪郭稜線および第1の付加線分により、輪郭稜線部分を
強調したものであり、その一方、図6は、これらに、さ
らに、第2の付加線分を加えて、輪郭稜線部分を強調し
たものである。
【0068】なお、図5ないし図7において、格子状の
ます目は装置座標系、フレームメモリ、表示画面におけ
る実または論理的な画素位置を表す。また、ます目の中
の○印、∞印、÷印、≡印、△印、+印および×印は、
フレームメモリまたは表示画面における各画素の色また
は輝度値を示す。ここに、 ○:3角錐301の手前の面の画素 ∞:4角柱302の手前の面の画素 ÷:4角柱302の上面の面の画素 ≡:4角柱302の右面の面の画素 を表す。また、図5および図6において、 △:輪郭稜線画素 +:第1の付加線分による輪郭強調画素 ×:第2の付加線分による輪郭強調画素 を表す。
【0069】上述したように、第1のステップ(図1の
ステップ101)における処理は、特開平7−8531
0号公報に記載されたものと同様である。その一方、第
2のステップ(図1のステップ102)における処理
は、上記公報に記載されたものと相違する。以下では、
この第2のステップにおける輪郭稜線および開口辺を構
成する可視な画素の検出、並びに、フレ−ムメモリ中の
面画像の画素への重ね書きの際に生じる問題点ととも
に、本発明による該問題点を解決する手法を、より詳し
く説明する。
【0070】第1のステップにおいては、オペレータが
表示図形を定義するのと同じ精度の座標分解能を有する
論理空間を用いて、処理が実行されるため、輪郭稜線検
出部14は、オペレータにより与えられたデータと、同
じ精度の分解能にて、輪郭線と開口辺の始終点の座標値
を求めることができる。この論理空間においては、各座
標値が、有効桁数の大きい整数値または浮動小数点値で
表わされ、始点と終点とを結ぶ輪郭線上の各位置、或い
は、輪郭線内の面の位置は、十分な精度をもち、この論
理空間内での操作で、面が視線方向に対して平行になら
ない限り、面の内部と輪郭線、或いは、輪郭線と稜線と
が明瞭に区別される。
【0071】その一方、第2のステップにおいては、第
1のステップよりも、分解能の低い整数値を基本とし
た、画像空間において量子化された画素デ−タにより、
輪郭線或いは面が取り扱われる。このため、面と輪郭線
との間、および、輪郭線と稜線との間で、それらを構成
する画素デ−タが、同一の画素位置に生じ、これらが相
互に重なりあい、その結果、これらの間における優先制
御の問題が発生する。
【0072】たとえば、図8に示す3角形801に輪郭
線(図中の△印)を重ねて、図9に示すような理想の結
果を得たいとする。ここに、図8および図9において、
○印は、面を構成する画素、図9において、△印は、輪
郭を構成する画素である。この場合に、数式−画像空間
変換部7において、画素データに変換されるまでの、多
角形や線分を示すデータは、その頂点座標値を用いて言
語的に記述されている。
【0073】図10において、言語的に記述された3角
形の頂点P1ないしP3を結んで得られる輪郭線を実線
で示し、このとき3角形を面として表示するための塗り
つぶし画素を○(マル印)で示す。このように多角形を
構成する画素データへの変換は、言語的に記述された多
角形の頂点を結ぶ直線で囲まれた領域の内部を埋めつく
す全画素を見つけ出すことを意味する。本明細書におい
て、これを面発生と称する。また、上述した線分を構成
する画素データへの変換は、図11において、△(三
角)印で示すように、言語的に記述された線分(たとえ
ば、P2−P3)の始点(P2)と終点(P3)とを結
ぶ画素の並びを見つけ出すことを意味する。本明細書に
おいては、これを線分発生と称する。
【0074】言語的な記述の多角形の頂点データが与え
られたとき、具体的に塗りつぶしの対象となる画素であ
る塗りつぶし画素の範囲の決め方(塗りつぶし規則)は
幾通りか存在するが、以下のものが、広く一般に用いら
れている多角形の外側を起点として、画像の左から右に
向かう方向に、多角形を水平にスキャンしたときに発生
するスキャンラインと多角形の辺との交点について、そ
の出現が奇数番目か偶数番目かを判断することにより、
辺を左辺と右辺とに分ける。そして、中心位置が多角形
の左辺の上またはそれより右側に存在しかつ右辺よりも
左側に存在する画素を塗りつぶし対象画素とする。この
手法は、たとえば、コンピュータグラフィックス(I)
(マグロウヒルブック株式会社 昭和59年1月10日
発行)の第85頁ないし第89頁に記載されている。こ
の規則によれば、多角形が細長く、その頂点および辺が
1画素の幅に対応する領域内に含まれてしまう場合に
は、後により具体的に説明するように、塗りつぶし対象
となる画素が存在しないことになる。この問題は後で述
べる。
【0075】また、線分の始点および終点を示す言語的
に記述されたデータが与えられたときに、具体的に、始
点と終点とを結ぶ画素の並びとなる線分画素の範囲の決
め方(線分発生規則)にも幾通りか存在する。そのうち
で、最も一般的に用いられるのはブレゼンハムのアルゴ
リズムに従ったものである。このアルゴリズムでは図1
1のように始点と終点とを結ぶ真の線分に対して、その
上または両側の近傍に存在する画素が、線分画素として
選定される。
【0076】先に示した図8は、言語的な記述による3
つの頂点に関するデータにより与えられた3角形に対し
て、上述した塗りつぶし規則に基づいて求めた塗りつぶ
し画素データに対応する画素のみを示している。その一
方、図9は、上述した線分発生規則に基づいて求めた3
角形の各頂点を結ぶ線分を構成する画素を、図8の図形
に重ね合わせたものである。ただし、この図9において
は、塗りつぶし画素と線分画素とが同じ位置を占め、両
者が重なる場合には線分画素を優先とする理想の重ね合
わせが実行されている。
【0077】これに対して、図12は、線分画素を、塗
りつぶし画素に重ね合わせるときに、Zバッファを機能
させ、かつ、塗りつぶし画素に対して同じ位置を占める
線分画素は、全て奥行側に存在する(すなわち、線分画
素が、塗りつぶし画素よりも奥に存在する)と仮定した
ときに、上述した問題点が最悪に生じた場合を示してい
る。このときに、線分画素(たとえば、1201、12
02、1203)の並びに多くの途切れが発生し(たと
えば、画素1202と1203との間を参照)、3角形
の輪郭稜線表示としては途切れ途切れの不完全なものと
なる。
【0078】図12に示すような状態は、面を構成する
画素の生成のために使用する情報と、輪郭線を構成する
画素の生成のために使用する情報とが異なるために生じ
る。図10において、三角形P1P2P3の面を構成す
る画素Qは、頂点P2、P3のみならず、頂点P1の情
報をも用いて得られる。その一方、図11において、同
じ位置の画素で、三角形P1P2P3の輪郭線P2−P
3を構成する画素Qは、その両端の頂点P2、P3の情
報のみを用いて得られる。したがって、同じX−Y座標
位置に画素Qを得た場合であっても、面画素として得ら
れた画素QのZ値は頂点P2、P3のZ値の他に、頂点
P1のZ値の影響をも受けて決定される。その一方、線
分画素として得られた画素QのZ値は、頂点P2、P3
のZ値の影響のみを受けて決定される。
【0079】なお、ここに、図10および図11におい
て、各画素のZ値は、これを得る際に用いられる頂点か
らの距離で比例配分するものと定め、また、頂点P2、
P3に対して頂点P1が手前側に存在すると仮定する。
このときに、頂点P2とP3とを直線で結んで得られる
真の輪郭線よりも内側に得られた画素Qに関して、面を
構成する画素として得られた画素QのZ値の方が、線分
を構成する画素として得られた画素QのZ値よりも、頂
点P1のZ値の影響を受けるので、より手前側を示す値
を持つことになる。また、真の輪郭線より外側に得られ
る画素については、このZ値の前後関係は逆となる。ち
ょうど真の輪郭線上に得られた画素ではZ値に差は生じ
ない。このように、同一のX−Y座標位置に画素が得ら
れても、一般的にはそのZ値が異なる。
【0080】したがって、Z値の比較によって、Zバッ
ファの機能を働かせて先に三角形P1P2P3の面を構
成する画素を得て、その後、輪郭線P1P2を構成する
画素を得て、面を構成する画素に重ね合わせて表示しよ
うとすると、真の輪郭線より外側および線上に得られた
画素は、先に得られた面の画素に対して、手前側または
同一位置に存在するから、表示画素と判断され、当該画
素に関するデータが、フレ−ムメモリに書き込まれる。
しかしながら、真の輪郭線よりも内側に得られた画素
は、先に得られた面の画素と比較して、奥行側に位置す
ることになるから、隠線画素と判断され、当該画素に関
するデータは、フレ−ムメモリには書き込まれない。そ
の結果、輪郭線P2P3の画素の並びに、一部欠落が発
生し、その表示は途切れ途切れのものとなる。最悪の場
合は、面を構成する画素に重なる輪郭線画素のすべてが
隠線画素と判断されるときで、その結果は、図12のよ
うになる。
【0081】第2の問題は、論理座標空間と、装置座標
空間または画像空間との間の分解能の差である。論理座
標空間においては、多角形の各頂点の座標値の分解能
は、計算処理装置内における数値の表現方法によって定
まる。
【0082】一般に、計算処理装置は、数値を固定小数
点または浮動小数点で表現して処理を行う。このとき、
固定小数点で表現して取り扱う方が、装置の負荷が小さ
くなり、処理が簡単になる。この固定小数点のデ−タ幅
は、通常8ビット単位で定められるが、実用上は少なく
とも16ビットの割り当てが必要である。このとき表現
可能な数値範囲は0から略64000までであり、その
分解能は5桁となる。
【0083】その一方、装置座標空間または画像空間に
おいては、面或いは線分を構成する画素の座標値の分解
能が、表示装置の水平垂直方向の分解能と、Zバッファ
の奥行方向の分解能とにより定まる。表示装置の水平垂
直方向の分解能は、通常のパ−ソナルコンピュ−タで
は、640*400、高性能のワ−クステ−ションでは
1280*1024であり、その分解能は3桁ないし4
桁である。その一方、Zバッファは、一般には、少なく
とも16ビットの固定小数点にてデータを表現するた
め、5桁の分解能を持つ。
【0084】このように、装置座標空間または画像空間
の水平垂直方向の分解能は、論理座標空間のものと比較
して低い。このため、論理座標空間においては、別個の
X座標値および/またはY座標値を持つ輪郭線および稜
線の部分が、装置座標空間または画像空間においては、
同一のX座標値およびY座標値を持ち、輪郭線の上に他
の稜線が重なってしまう場合が生じる。
【0085】ここに、図13に示す8角柱1300を考
える。この8角柱1300の辺AB、辺BCおよび辺C
Dは輪郭稜線であり、辺DAは前方稜線である。これら
の辺の論理座標空間におけるXY平面への投影部分は、
それぞれab、bc、cdおよびdaであり、それぞれ
は、異なる始終点座標値を持つ異なる線分である。図1
4は、これを、装置座標空間または画像空間に配置した
ときの様子を示すものである。この図14においては、
頂点a(符号1401)および頂点b(符号140
2)、並びに、頂点c(符号1403)および頂点d
(符号1404)が、それぞれ1つの画素1405、1
406内に存在し、かつ、線分bc(符号1407)お
よび線分da(符号1408)を含む画素の列が同一と
なる。
【0086】このときに、始点および終点のXY座標を
画素の中心に丸めると、XY平面において、線分abお
よび線分cdの始点および終点が同一となり、これら
は、Z方向成分のみの線分となる。線分bcおよび線分
daは、方向が逆であるが、XY成分が、同一の始点お
よび終点を持つ線分となり、XY平面上では完全に重な
る。その一方、線分bcのZ成分は、全体にわたって、
線分daのZ成分より、手前側を示す値となる。したが
って、線分発生部19のような線分発生器を用いて、線
分ab、bc、cd、daを、順次得た場合に、図14
(a)のように輪郭稜線ab、bc、cdを得た段階で
は、△印を付した画素の各々が、輪郭線画素として得ら
れるが、前方稜線daを生成する段階においては、この
線分daが、他の線分よりも手前に位置しているため、
図14(b)に示すように、全ての輪郭線画素が、稜線
画素(図中の□印)に置き換えられてしまう。その一
方、線分を得るための順序を逆にして、線分adをまず
生成し、その後、線分dc、cb、baを得た場合であ
っても、図14(c)に示すように、両端の画素140
5、1406のみが輪郭線画素として得られ、この画素
の間に存在する画素1410、1411、・・・、14
17は、稜線画素となってしまう。
【0087】或いは、この処理を工夫して、面ABCD
を生成する際に、図14(a)のように、適切に輪郭線
画素を残すことができたとしても、この輪郭線画素は、
次いでなされる、隣接する面ADGFを生成する際に、
図14(b)または図14(c)に示すように変化す
る。したがって、いったん、図形全体の面画素を生成
し、その後、始点データおよび終点デ−タを用いて輪郭
線画素を生成した場合であっても、この輪郭線画素のZ
値は、すべて、すでに存在する面画素のZ値よりも奥行
側を示すものであり、表示画素とは判定されず、輪郭線
は全く表示されないことになる。
【0088】次に、第3の問題を述べる。この問題は、
装置座標空間または画像空間においては、画素単位での
処理、すなわち、量子化された世界での処理が実行され
ることに起因する。論理座標空間では、少なくとも始点
或いは終点のいずれかが異なる2つの線分が点を共有す
るのは、始点或いは終点が交点または共有点となる場合
に限られる。
【0089】このような線分を、装置座標空間または画
像空間に移した場合、共有点はもちろん1つの画素位置
を占め、重なりを生じる。さらに、装置座標空間または
画像空間に移した後には、論理座標空間では重なりが生
じない部分にも、重なりを生じる場合がある。たとえ
ば、図15に示すような三角錐1500を考える。この
三角錐1500においては、辺ABおよび辺BCが輪郭
稜線であり、辺CAが前方稜線である。これら辺の論理
座標空間におけるXY平面への投影線分は、それぞれ、
ab、bcおよびcaであり、それぞれ異なる始点およ
び終点を持ち、各線分の両端の接続点以外には共有点を
持たない。
【0090】図16は、図15に示す三角錐1500
を、装置座標空間または画像空間に配置したときの様子
を示すものである。図16に示すように、この場合に
は、頂点a、b、cが、それぞれ、異なる画素内に配置
され、そのX座標およびY座標の位置は異なるが、その
一方、頂点b、cが、隣接する画素内に配置される。
【0091】線分abおよび線分caに関連して、頂点
aが共通し、この点では、両者は、同一のZ値を持つ。
しかしながら、頂点cは、頂点bよりも手前側に存在す
る。このため、線分caは、頂点a以外のすべての部分
で、線分abより手前側に位置する。
【0092】このときに、線分発生部19のような線分
発生器により、線分ab、線分bcおよび線分caを、
順次得ると、図16(a)に示すように、輪郭稜線a
b、bcに対応して、輪郭線画素(図中の△印)が生成
される。しかしながら、図16(b)に示すように、前
方稜線caを得る段階では、すでに輪郭線画素が得られ
ていた画素位置に前方稜線画素(図中の□印)が生成さ
れ、前方稜線画素の方が、輪郭線画素よりも手前側に存
在するため、重なりあった部分が、前方稜線画素に置き
換える。或いは、順序を逆にして、線分ac、線分cb
および線分baの順で得た場合であっても、図16
(c)に示すように、これら線分が相互に重なりあった
画素が、輪郭線画素となるのは、辺acの両端の画素1
610、1611に限られる。
【0093】或いは、上述した処理を工夫した場合に
も、面ABCを得る段階で、図16(b)または図16
(c)に示すように、輪郭線画素が前方稜線画素に変化
する。したがって、いったん、図形全体の面画素を生成
し、その後、始点データおよび終点デ−タを用いて輪郭
線画素を生成し、得られた輪郭線画素を、この面画素に
重ね合わせて表示しようとしても、一部の画素のZ値
が、すでに存在する面画素のZ値よりも奥行側を示すた
め、そのような部分が表示画素とは判定されず、その結
果、輪郭線の一部が表示できないことになる。
【0094】このように論理座標空間においては重なり
あう部分がない線分或いは面の間でも、装置座標空間ま
たは画像空間においては、部分的或いは全体的に重なり
が生じる場合がある。このような重なりが生じていると
きに、Zバッファを用いた隠線・隠面消去処理を施す
と、手前側の線分或いは面が、優先されて表示される場
合がある。
【0095】一般に、凸な図形では、輪郭稜線は可視な
図形部分の最も奥行側に位置するため、装置座標空間ま
たは画像空間において、隣接面などの他の面を構成する
画素が、輪郭稜線を構成する画素、すなわち、輪郭線画
素と重なる場合には、その輪郭線画素を、面に対して先
行して生成しても、或いは、面の生成の後に生成して
も、隠線部分と判定され、フレ−ムメモリには残らない
ため、画面上には表示されない。
【0096】三次元図形表示装置においては、図形の位
置や方向をいろいろ変化させて、図形を表示する。この
ため、上述したような問題が生じない位置や方向で、輪
郭稜線が正しく表示された場合でも、図13或いは図1
5に示す表示対象物体を、水平軸または垂直軸まわりに
回転させたり、或いは、奥行方向に大きく移動させたり
すると、上述した問題が、頻繁に生じるおそれがあり、
輪郭稜線となる辺の一部分または全体が表示されないお
それがある。
【0097】したがって、このような問題点を解決する
ために第2のステップにおいて実行される輪郭強調の手
法を以下に説明する。
【0098】図17に示すように、面の外側に線分画素
を水平または垂直方向に平行移動して重ね合わせ、ある
いは、付加することを考える。たとえば、図17におい
て、L0を始点、L'0を終点とする線分1701を、
面画素に重ね合わせ、あるいは、L1を始点、L'1を
終点とする線分1702を、付加することを考える。こ
こに、図18は、1画素分だけ面画素(図中の○印)の
外側に線分画素(図中の△印)を水平方向または垂直方
向に平行移動して重ね合わせた(付加した)ものであ
る。このようにすると、塗りつぶし画素と線分画素とは
重らなくなり、線分画素の並びに途切れがなくなる。し
かし、塗りつぶし画素と線分画素の間に隙間ができ、そ
こに背景画素が残り、領域と線分の間に空間が存在する
ような印象を与える表示となる。
【0099】これに対して図19は、図12に示す面画
素および線分画素の最悪の重ね合わせの結果に、さら
に、1画素分外側に線分画素(図中の+印)を付加した
ものである。また、図20は、この図19に示すように
付加された外側の線分画素(+印)に、さらに、1画素
分外側に、線分画素(×印)を付加したものである。
【0100】このように、多角形に対して本来の輪郭線
分およびその外側に画素単位でずらせた付加線分を考
え、それらに対応した画素を生成し、塗りつぶし画素に
重ね合わせることによって、多角形を隙間なく囲んだ輪
郭強調領域を作ることが出来る。
【0101】図19や図20は、多角形が凸である場合
を示した。次に、多角形が凹である場合を、図21など
を参照して検討する。図21は、ある多角形2100の
面画素(○印)を示す図であり、図22は図21に対し
て、輪郭線および1画素外側の付加線分を構成する画素
を、Zバッファ21を作動させつつ、重ね合わせた図で
ある。
【0102】図22においては、図19と同様に、△印
が輪郭線を構成する画素を、+印が付加線分を構成する
画素を表している。図形の凹部分では、付加線分の始点
および終点が、面画素の領域内に入り込む。たとえば、
図21において、○(マル)印で示す画素2101、2
102などが、図形P1、P2、P3、・・・、P9を
構成する面画素であることは説明した。その一方、図2
2において、図形の頂点P1とP2とを結ぶ辺2201
の1画素外側に設けられた付加線分2202の終点P'
2が、図形の内部に位置することになる。
【0103】したがって、このままでは、上述した領域
内の画素が、付加線分を構成する画素に置き換えられ、
その結果、付加線分が領域内に食い込んだような画像と
なるおそれがある。
【0104】そこで、一般には、付加線分の奥行値を、
本来の輪郭線分の奥行値よりも、奥行側となるような増
加率を設定して、この増加率にしたがった奥行値を有す
るような付加線分を発生する。たとえば、以下のよう
に、その設定を行う。言語的に記述された入力コマンド
で与えられるz値の増加率をηとすると、n番目の付加
線分の始終点における各z値を、以下の(1)式にしたが
って定める。
【0105】 z=z(1+n・η) ・・・・・(1) このように定めると、付加線分を構成する画素は、塗り
つぶし画素よりも奥行側に位置する画素となり、塗りつ
ぶし画素が、付加線分画素で置き換えられる可能性は小
さくなる。その結果、付加線分が領域内に食い込んだよ
うな画像が得られることはほとんど生じなくなる。この
ようにして、凹図形についても隙間を生じることなく輪
郭強調領域を多角形の外側に作ることができる。そこ
で、本実施例においては、輪郭稜線を基準として、面の
外側に付加線分を発生して、輪郭稜線画素と付加線分画
素とを重ね合わせることで輪郭稜線部分を強調表示する
ことにする。
【0106】次に、輪郭稜線データに対して付加線分を
決定する手法を、より具体的に説明する。先に述べたよ
うに、多角形の辺の回転方向と、面のおもてと裏の定義
とから、おもて面が視点側にある多角形の投影面上への
投影多角形を考えると、図23に示すように、その辺の
進行方向(反時計まわりの矢印2300)に関して、面
は左手側に存在し、その右手側は、面の外側になる。た
とえば、辺2301上では、左手側LHに面が存在し、
その一方、右手側RHは面の外側となっている。したが
って、輪郭稜線に関して、所在する面の外側は、輪郭稜
線の進行方向に対して右側に位置する。よって、投影面
における輪郭稜線の傾きθ、および、外側への平行移動
のための始点および終点におけるx,y座標の操作は、
図24および下記の(2)式ないし(10)式に示すようにな
る。
【0107】 0≦θ<π/4 のとき、 y=y−1 ・・・(2) θ=π/4 のとき、x=x+1,y=y−1 ・・・(3) π/4<θ<3π/4 のとき、x=x+1 ・・・(4) θ=3π/4 のとき、x=x+1,y=y+1 ・・・(5) 3π/4<θ<5π/4 のとき、 y=y+1 ・・・(6) θ=5π/4 のとき、x=x−1,y=y+1 ・・・(7) 5π/4<θ<7π/4 のとき、x=x−1 ・・・(8) θ=7π/4 のとき、x=x−1,y=y−1 ・・・(9) 7π/4<θ<2π のとき、 y=y−1 ・・・(10) 図24の領域2401において、(2)式を採用すべきこ
とが理解できよう。同様に、領域あるいは線分2402
ないし2409において、それぞれ、(3)ないし(10)式
を採用すべきことも理解できよう。
【0108】このようにして、輪郭稜線に対して水平ま
たは垂直方向に付加線分を加えて輪郭を強調すると、図
25および図26に示すように、凸の頂点部分に、破線
にて表された輪郭強調稜線の存在しない空隙領域(たと
えば、図25(a)および(b)において、領域250
1ないし2507)が発生する。すなわち、図25
(a)(これは、図19に示す画素群と同様のものが示
されている)において、凸の頂点部分、すなわち、三角
形の3つの頂点に、空隙領域2501ないし2503が
発生する。同様に、図20に示す画素群と同様のものが
示されている図25(b)においては、図中の最上部の
頂点に、二つの空隙領域2504、2507が発生し、
他の二つの頂点に、それぞれ、空隙領域2505、25
06が発生する。この空隙領域の大きさは、付加線分の
本数の2乗個の画素領域に対応する。
【0109】たとえば、図25(a)の例においては、
1画素に対応し、図25(b)の例においては、4画素
に対応する。このため、輪郭強調領域を広くして、付加
線分を数多く設けると、この空隙領域が目立つものとな
る。
【0110】図26(a)、(b)においても、破線に
て囲まれた領域2601ないし2616が、空隙領域に
対応する。この空隙領域を少なくするために、付加線分
の両端を、該付加線分に沿って延長することを考える。
たとえば、図27において、始点L1までの付加線分
を、矢印2701に沿って延ばし、かつ、終点L'1ま
での付加線分を、矢印2702に沿って延ばす。このと
きの線分の延長量は、以下の通り定める。これは、頂点
を中心に付加線分幅の領域を埋めることを考えて決定し
ている。すなわち、図28に示すように、 1つの線分が外側に付加されているとき:1画素延長、 2つの線分が外側に付加されているとき:第1、第2線
分ともに1画素延長、 3つの線分が外側に付加されているとき:第1、第3線
分は1画素延長、第2線分は2画素延長。
【0111】なお、第1線分は、1画素分だけ外側に付
加された線分をいい、同様に、第2線分および第3線分
は、それぞれ、2画素分および3画素分だけ、外側に付
加された線分をいう。
【0112】このようにして、図25および図26の画
素群について、付加線分の始点および終点を延長して得
た結果を、図29および図30に示す。図29および図
30において、○にて囲んだ+印や×印で示す付加線分
画素(たとえば、図29において、画素2901ないし
2914)が、付加線分の延長処理により追加された輪
郭強調画素であり、凸状の頂点部分(図29における番
号2921ないし2926で示す領域、および、図30
における番号3001ないし3013で示す領域)の空
隙が、適切にカバーできることが分かる。
【0113】その一方、凹状の頂点部(たとえば、図3
0(a)における番号3021、3022で示す領域)
に関しては、図形の内側の領域に食い込む方向に付加線
分が延長されるので、過剰な輪郭強調がされない処置が
必要である。この食込み対策にはこれまでの付加線分の
奥行値加算制御が有効である。
【0114】次に、輪郭稜線および付加線分の色または
輝度の定め方について述べる。これを定めるためには、
(1)基準輪郭稜線および付加線分の双方とも、入力コ
マンドにより指定の色を基準に定める置換法、(2)基
準輪郭稜線および付加線分の双方とも、ステップ1の処
理にてフレームメモリに書き込まれた色を基準にして色
を定める、すなわち、既に存在する色を基準にして定め
る変調法、ならびに、(3)少なくとも付加線分につい
ては、ステップ1の処理にてフレームメモリに書き込ま
れた色と、入力コマンドにより指定された色との差に基
づき定める、すなわち、既に存在する色と入力コマンド
による指定の色との差に基づき定める減色法の3つが考
えられる。
【0115】さらに、これらには、それぞれ、(a)単
純に上述した(1)ないし(3)の処理の何れかを実行
する手法(一定値処理(或いは、基本処理))、(b)
基準輪郭稜線からの(幅方向の)距離の影響を加味し
て、この距離により変更する手法(距離修飾処理)、
(c)基準輪郭稜線の奥行値(奥行方向)の影響を加味
して、この奥行値により変更する手法(奥行修飾処
理)、並びに、(d)基準輪郭稜線からの距離および奥
行値の双方の影響を加味して、距離および奥行値により
変更する手法(距離・奥行修飾処理)が考えられる。
【0116】上記(1)ないし(3)、および、(a)
ないし(d)の組合せについて、これらを3つのグルー
プに分け、それぞれの場合について色の定め方を以下に
説明する。この3つのグループは、基本処理グループ、
奥行修飾処理グループ、減色法処理グループからなる。
【0117】(1)基本処理グループ(基本処理、距離
修飾処理) このグループに属する処理においては、一律的な輪郭強
調が実現され(基本処理)、或いは、基準輪郭稜線に近
いほど強く、離れるほど弱い輪郭強調が実現される(距
離修飾処理)。このグループには、(1)と(a)また
は(b)との組み合わせ、および、(2)と(a)また
は(b)との組合せが含まれる。まず、(1)の置換法
と(a)の基本処理または(b)の距離修飾処理との組
合せを考える。以下、(1)と(a)との組み合わせ
を、(1a型)と称し、(1)と(b)との組み合わせ
を(1b型)と称する。
【0118】(1a型)入力コマンドにより指定された
基準輪郭稜線および付加線分の色を、単に基準輪郭稜線
および付加線分の色と決定する。
【0119】具体的には、以下のように定められる。す
なわち、入力コマンドにより指定された基準輪郭稜線の
色を(R1,G1,B1)、同じく付加線分の色を(R
2,G2,B2)とする。このとき、基準輪郭稜線全体
の色を(R1,G1,B1)、付加線分全体の色を(R
2,G2,B2)とする。したがって、このケースで
は、基準輪郭稜線の始点および終点の色(R1s,G1
s,B1s)、(R1e,G1e,B1e)が相互に同
じ色となるように、以下の(11)式ないし(13)式により定
められる。
【0120】 R1s=R1e=R1 ・・・・・・ (11) G1s=G1e=G1 ・・・・・・ (12) B1s=B1e=B1 ・・・・・・ (13) また、最も内側の第1付加線分から最も外側の第N付加
線分まで、各付加線分の始点および終点の色(R2s,
G2s,B2s)、(R2e,G2e,B2e)も、同
様に、すべて相互に同じ色となるように、以下の(14)式
ないし(16)式にしたがって定められる。
【0121】 R2s=R2e=R2 ・・・・・・ (14) G2s=G2e=G2 ・・・・・・ (15) B2s=B2e=B2 ・・・・・・ (16) 基準輪郭稜線の各画素は、上述したように、その始点お
よび終点の色が(R1,G1,B1)となるように設定
され、線分発生部19により生成される。同様に、付加
線分の各画素は、最も内側の第1付加線分から最も外側
の第N付加線分まで、その始点および終点が、同一の
色、すなわち、(R2,G2,B2)となるように設定
されて、線分発生部19により生成される。これによっ
て、基準輪郭稜線および各付加線分を構成する画素の全
体がそれぞれの入力コマンドにより指定された色にな
る。これを実現するために必要な基準輪郭稜線の始点お
よび終点の位置、奥行値および色に関連するデータの線
分発生部19への設定、基準輪郭稜線の始点および終点
の位置、奥行値に基づく付加線分の位置および奥行値に
関連するデータの算出、並びに、算出されたデータおよ
び色に関連するデータの線分発生部19への設定は付加
線部発生部17で実行される。
【0122】線分発生部19で生成された各画素の位
置、色、奥行値に関連するデータは隠面隠線消去部20
に転送される。隠面隠線消去部20は、各画素ごとの位
置データをもとに、Zバッファ21の対応する領域に記
憶した奥行値データを読み出し、受理した奥行値データ
と、データ値の大小を比較し、受理した奥行値データが
隠線画素に関するかどうかを判定する。隠線画素に関す
るものであると判定された場合には、この画素に関する
処理は終了する。
【0123】その一方、隠線画素に関するものでないと
判定された場合には、受理した奥行値データおよび色デ
ータを、Zバッファ21およびフレームメモリ22中の
対応する領域に記憶された奥行値データおよび色データ
と置き換える。
【0124】上の説明においては、基準輪郭稜線の色と
付加線分の色とは異なっているが、同一の色であっても
よいことはもちろんである。
【0125】(1b型)基準輪郭稜線について、入力コ
マンドにより指定された色を単純に稜線全体の色と決定
する。その一方、付加線分については、入力コマンドに
より指定された色を、基準輪郭稜線からの距離で修正し
たものを、付加線分の色と決定する。
【0126】具体的には、以下のように定められる。い
ま、図31に示すように、基準輪郭稜線(たとえば、△
印の付された画素3101から延びる稜線3102)
と、最も外側の付加線分3103との間の距離をD、任
意の付加線分(たとえば、線分3104)との間の距離
をdとする。
【0127】また、図32に示すように、入力コマンド
により指定された基準輪郭稜線L0(図31の稜線31
02に対応する)の色を(R1,G1,B1)、最も外
側に付加される付加線分L3(図31の線分3103に
対応する)の色を(R2,G2,B2)とする。ただ
し、図32は、色の3成分中の赤(R)成分のみを示し
たものであり、図32において、「F」は、輪郭強調対
象である図形領域の色の赤成分の値を、「G」はこの図
形領域に対して背景領域となる部分の色の赤成分の値を
示す。ここでは、基準輪郭稜線全体の色を(R1,G
1,B1)とする。したがって、この場合には、基準輪
郭稜線の始点および終点の色(R1s,G1s,B1
s)、(R1e,G1e,B1e)は、いずれも、(16)
式ないし(18)式に示すように、(R1,G1,B1)に
等しいように定められる。
【0128】 R1s=R1e=R1 ・・・・・・ (17) G1s=G1e=G1 ・・・・・・ (18) B1s=B1e=B1 ・・・・・・ (19) その一方、各付加線分の色は、図32の長破線3201
で示すように、基準輪郭稜線の色の値と最も外側の付加
線分の色の値とを結ぶ線分上に位置するように定められ
る。ただし、1本の付加線分は、一色であるように定め
られる。すなわち、ある1本の付加線分の始点と終点と
の間は、同一の色となる。このため、基準輪郭稜線から
の距離がdの付加線分の始点および終点の色(R2s,
G2s,B2s)、(R2e,G2e,B2e)は相互
に同一であるが、距離dにしたがって、下記の(20)式な
いし(22)式のように変化する。
【0129】 R2s=R2e=(R2−R1)/D・d+R1 ・・・・・・ (20) G2s=G2e=(G2−G1)/D・d+G1 ・・・・・・ (21) B2s=B2e=(B2−B1)/D・d+B1 ・・・・・・ (22) 特に、基準輪郭稜線のコマンド色が黒のときは、(R
1,G1,B1)=0であるから、 R2s=R2e=R2/D・d ・・・・・・ (23) G2s=G2e=G2/D・d ・・・・・・ (24) B2s=B2e=B2/D・d ・・・・・・ (25) となる。
【0130】或いは、距離dにしたがって2次曲線的に
変化するように、下記の(26)式ないし(28)式のように定
めてもよい。
【0131】 R2s=R2e=(R2−R1)^2/D^2・d^2+R1 ・・・・・・ (26) G2s=G2e=(G2−G1)^2/D^2・d^2+G1 ・・・・・・ (27) B2s=B2e=(B2−B1)^2/D^2・d^2+B1 ・・・・・・ (28) なお、「^2」は2乗を表している。
【0132】基準輪郭稜線の各画素は、線分発生部19
により、始点および終点の色として(R1,G1,B
1)を与えられて生成される。第1付加線分ないし最も
外側の付加線分の各画素は、付加線分ごとに、その始点
および終点の色として、基準輪郭稜線からの距離dに応
じて、(23)式ないし(25)式或いは(26)式ないし(28)式に
基づき得られた(R2s,G2s,B2s)、(R2
e,G2e,B2e)を与えられて、線分発生部19に
より生成される。基準輪郭稜線の始点および終点の色、
位置および奥行値に関するデータの線分発生部19への
設定、上述した式に基づく付加線分の色の値の算出、基
準輪郭稜線の位置および奥行値に関するデータに基づく
付加線分の位置および奥行値に関するデータの算出、並
びに、算出されたデータ値の線分発生部19への設定
は、付加線部発生部17により実行される。
【0133】線分発生部19により生成された各画素の
位置、色および奥行値に関するデータに対する隠面隠線
消去部20、Zバッファ21、フレームメモリ22の処
理は、前述した(1a型)のものと同じである。
【0134】次に、(2)の変調法と(a)の基本処理
との組み合わせ(以下、「(2a型)」と称する。)お
よび、変調法と(b)の距離修飾処理との組合せ(以
下、「(2b型)」と称する。)を以下に説明する。
【0135】(2a型)ステップ1の処理において、フ
レームメモリに書き込まれ、既にフレームメモリに存在
する色を、入力コマンドにより指定された変調係数で変
調した色を基準輪郭稜線および付加線分の色とする。
【0136】具体的には、以下のように定められる。入
力コマンドにより指定された変調係数をαとする。ま
た、フレームメモリ中の、基準輪郭稜線あるいは付加線
分に対応する領域に既に書き込まれている色を(Rm,
Gm,Bm)とする。この場合に、その位置における基
準輪郭稜線および付加線分の色(R,G,B)は、以下
の(29)式ないし(31)式にしたがって定められる。
【0137】 R=α・Rm ・・・・・ (29) G=α・Gm ・・・・・ (30) B=α・Bm ・・・・・ (31) このときに、(1a型)などに関連して述べた線分発生
部19で生成された基準輪郭稜線および付加線分の色
は、これらの色の決定には関係しない。したがって、基
準輪郭稜線および付加線分の各画素は、始点および終点
に任意の色を設定することにより、線分発生部19にて
生成される。
【0138】また、変調係数αは、変調部23に設定さ
れる。基準輪郭稜線の始点および終点の色、位置、奥行
値に関するデータの線分発生部19への設定、基準輪郭
稜線の位置および奥行値に関するデータに基づく、付加
線分の位置および奥行値に関するデータの算出、並び
に、その値と色の線分発生部19への設定、変調係数α
の変調部23への設定は、付加線分発生部17により実
行される。
【0139】線分発生部19により生成された各画素の
位置および奥行値に関するデータは隠面隠線消去部20
に転送される。隠面隠線消去部20は、受理した位置デ
ータに基づき、各画素ごとに、Zバッファ21の対応す
る領域の奥行値データを読み出し、受理した奥行値デー
タとの大小を比較を行い、受理したデータが隠線画素で
あるかどうかを判定する。
【0140】隠線画素であると判定するとその画素の処
理は終了する。隠線画素でないと判定すると、受理した
奥行値データでZバッファ21のその位置のデータを置
換する。また、フレームメモリ22のその位置の色デー
タ(Rm,Gm,Bm)を読み出し、その色データを変
調部23に転送し、ここで変調係数αとの積を算出し、
得られた値により、フレームメモリ22のその位置の色
データのデータ値を置換する。
【0141】(2b型)基準輪郭稜線については、ステ
ップ1の処理で、フレームメモリに書き込まれ、既にフ
レームメモリに存在する色を、入力コマンドにより指定
された変調係数で変調した色を基準輪郭稜線の色とす
る。付加線分については、入力コマンドにより指定され
た変調係数の値を、基準輪郭稜線からの距離に基づき修
正し、修正された値によりフレームメモリに既に存在す
る色を変調した色を、付加線分の色とする。
【0142】具体的には、以下のように定められる。入
力コマンドにより指定された変調係数をαとする。α
は、図33に示すように、基準輪郭稜線L0の位置にお
ける変調係数の値に対応し、変調係数βは、基準輪郭稜
線からの距離dに比例してαから1に近づくように変化
し、基準輪郭稜線から距離Dだけ離間した位置において
1となると定める。すなわち、基準輪郭稜線からの距離
dだけ離間した付加線分における変調係数βは、 β=(1−α)/D・d+α=α(1−d/D)+d/D ・・・・・(32) と定められる。したがって、付加線分に対応する領域に
既に書き込まれている色を(Rm,Gm,Bm)とする
と、距離dだけ離間した付加線分の色(R,G,B)
は、以下の(33)式ないし(35)式にしたがって定められ
る。なお、図33において、F、Gは、図32のものと
同様である。
【0143】 R=β・Rm =(α(1−d/D)+d/D)・Rm ・・・・・(33) G=β・Gm =(α(1−d/D)+d/D)・Gm ・・・・・(34) B=β・Bm =(α(1−d/D)+d/D)・Bm ・・・・・(35) 特に、基準輪郭稜線の色が黒であるときには、α=0と
定める。このときに、(33)式ないし(35)式は、以下のよ
うに書き換えられる。
【0144】 R=Rm/D・d ・・・・・(36) G=Gm/D・d ・・・・・(37) B=Bm/D・d ・・・・・(38) また、d=Dである最も外側に付加される線分において
は、β=1となり、その色は、既に書き込まれている色
と同じになる。したがって、この場合には、実際に書き
込む必要がない。たとえば、図33においては、実際に
付加される線分は、一つ内側のL3に位置する付加線分
までで良い。
【0145】基準輪郭稜線および付加線分の各画素の色
は、(2a型)の場合と同様に、線分発生部19で生成
される基準輪郭稜線と付加線分の色と関係しない。した
がって、この場合にも、線分発生部19にて、始点およ
び終点の色が任意に設定される。変調係数βは、付加線
分ごとに(32)式に基づいて求められ、変調部23に設定
される。
【0146】基準輪郭稜線の始点および終点の色、位置
および奥行値に関するデータの線分発生部19への設
定、基準輪郭稜線の位置および奥行値に関するデータに
基づく付加線分の位置および奥行値に関するデータの算
出、並びに、その値および色データの線分発生部19へ
の設定、(32)式に基づく変調係数βの算出および変調部
23への設定は、付加線部発生部17により実行され
る。
【0147】線分発生部19で発生された各画素の位
置、色および奥行値に関するデータに対する隠面隠線消
去部20、Zバッファ21、フレームメモリ22および
変調部23での処理は、(2a型)のものとほぼ同じで
ある。この場合には、変調部23への変調係数βの設定
が、付加線分ごとに実行される。
【0148】次に、(2)奥行修飾に関するグループに
含まれる処理(奥行修飾処理、距離・奥行修飾処理)に
つき説明を加える。
【0149】このグループに含まれる処理においては、
手前側に存在する輪郭稜線は強く強調し、奥行側に存在
する輪郭稜線は弱く強調する。また一つの輪郭稜線にお
いても、その始点から終点に至る間の奥行値の変化に連
動して、手前側部分は強く、奥行側部分は弱く強調す
る。このグループには、(1)と(c)または(d)と
の組み合わせ、および、(2)と(c)または(d)と
のの組合せが考えられる。
【0150】まず、(1)の置換法と(c)の奥行修飾
処理との組み合わせ(以下、「1c型」と称する。)、
または、(1)と(d)の距離・奥行修飾処理の組合せ
(以下、「1d型」と称する。)につき説明する。
【0151】(1c型)これは、入力コマンドにより指
定された基準輪郭稜線および付加線分の色を、基準輪郭
稜線の奥行値を用いて修正して基準輪郭稜線および付加
線分の色とするものである。
【0152】より具体的には、以下のように定められ
る。いま、入力コマンドにより指定された基準輪郭稜線
の色を(R1,G1,B1)、同じく付加線分の色を
(R2,G2,B2)とする。ただし、これらは基準輪
郭稜線の奥行値が0であるのときの値とする。実際の色
は奥行値よって変化し、奥行値が0からZまでの区間で
は奥行値に比例して変化し、奥行値がZになると基準輪
郭稜線と付加線分の色は共に同一の色(R3,G3,B
3)になり、奥行値がZ以上の区間ではこの色に固定す
る。なお、この奥行値Zおよび(R3,G3,B3)
も、入力コマンドにより指定されるものとする。したが
って、この場合には、基準輪郭稜線の始点および終点の
奥行値zs、zeが、0≦zsかつze≦Zであるとき
に、基準輪郭稜線の始点および終点の色(R1s,G1
s,B1s)、(R1e,G1e,B1e)は、それぞ
れ、(39)式ないし(44)式にしたがって定められる。
【0153】 R1s=(R3−R1)/Z・zs+R1 ・・・・・(39) G1s=(G3−G1)/Z・zs+G1 ・・・・・(40) B1s=(B3−B1)/Z・zs+B1 ・・・・・(41) R1e=(R3−R1)/Z・ze+R1 ・・・・・(42) G1e=(G3−G1)/Z・ze+G1 ・・・・・(43) B1e=(B3−B1)/Z・ze+B1 ・・・・・(44) また、同様に、付加線分の始点および終点の色(R2
s,G2s,B2s)、(R2e,G2e,B2e)
は、それぞれ、(45)式ないし(50)式にしたがって定めら
れる。
【0154】 R2s=(R3−R2)/Z・zs+R2 ・・・・・(45) G2s=(G3−G2)/Z・zs+G2 ・・・・・(46) B2s=(B3−B2)/Z・zs+B2 ・・・・・(47) R2e=(R3−R2)/Z・ze+R2 ・・・・・(48) G2e=(G3−G2)/Z・ze+G2 ・・・・・(49) B2e=(B3−B2)/Z・ze+B2 ・・・・・(50) 特に、基準輪郭線および付加線分のコマンド色が黒であ
るときは (R1,G1,B1)=(R2,G2,B2)=0 ・・・・・(51) であるから、 R1s=R2s=R3/Z・zs ・・・・・(52) G1s=G2s=G3/Z・zs ・・・・・(53) B1s=B2s=B3/Z・zs ・・・・・(54) R1e=R2e=R3/Z・ze ・・・・・(55) G1e=G2e=G3/Z・ze ・・・・・(56) B1e=B2e=B3/Z・ze ・・・・・(57) となる。また、Z≦zs,zeであるときには、いずれ
も同一の色(R3,G3,B3)になるから、 R1s=R2s=R1e=R2e=R3 ・・・・・(58) G1s=G2s=G1e=G2e=G3 ・・・・・(59) B1s=B2s=B1e=B2e=B3 ・・・・・(60) である。
【0155】また、zについて2次曲線的に変化するよ
うに、(61)式ないし(63)式にしたがって定めても良い。
【0156】 R1s=(R3−R1)^2/Z^2・zs^2+R1 ・・・・・(61) G1s=(G3−G1)^2/Z^2・zs^2+G1 ・・・・・(62) B1s=(B3−B1)^2/Z^2・zs^2+B1 ・・・・・(63) 上述したように、この場合には、基準輪郭稜線および付
加線分の色が、始点から終点の方向に向かって変化す
る。しかしながら、付加(幅)方向には変化がなく、一
定である。
【0157】基準輪郭稜線および付加線分の各画素に関
するデータは、以下のように生成される。付加線分発生
部17が、(39)式ないし(50)式などに基準輪郭稜線の始
点および終点の奥行値を代入することにより、基準輪郭
稜線および付加線分の始点と終点における色を求める。
また、付加線分発生部17は、基準輪郭稜線の始点およ
び終点の位置および奥行値に関するデータに基づき、付
加線分の始点および終点の位置および奥行値に関するデ
ータを算出する。付加線分発生部17は、これらを、線
分発生部19に設定し、線分発生部19により、画素ご
との位置、奥行値および色に関するデータを得る。
【0158】線分発生部19にて得られた各画素に関す
るデータに対する隠面隠線消去部20、Zバッファ21
およびフレームメモリ22による処理は(1a型)のも
のと同じである。
【0159】(1d型)基準輪郭稜線については、入力
コマンドにより指定された色を基準輪郭稜線の奥行値で
修正した色とする。その一方、付加線分については、入
力コマンドにより指定された色を基準輪郭稜線からの距
離と奥行値で修正した色とする。
【0160】具体的には、以下のように定められる。い
ま、入力コマンドにより指定された基準輪郭稜線の色を
(R1,G1,B1)、最も外側の付加線分の色を(R
2,G2,B2)とする。ただし、これらは基準輪郭稜
線の奥行値が0であるときの色とする。実際の色は、奥
行値によって変化し、奥行値が0からZまでの区間では
奥行値に比例して変化し、奥行値がZになると基準輪郭
稜線と付加線分の色は共に同一の色(R3,G3,B
3)になり、奥行値がそれ以上の区間ではこの色に固定
されるとする。この奥行値Zおよび(R3,G3,B
3)も入力コマンドにより指定されるものとする。ま
た、基準輪郭稜線と最も外側の付加線分との間の距離を
D、任意の付加線分との間の距離をdとする。したがっ
て、この場合には、基準輪郭稜線の始点および終点の奥
行値zs、zeが、0≦zsかつze≦Zであるとき
に、基準輪郭稜線の始点および終点の色(R1s,G1
s,B1s)、(R1e,G1e,B1e)は、それぞ
れ、(64)式ないし(69)式にしたがって定められる。
【0161】 R1s=(R3−R1)/Z・zs+R1 ・・・・・(64) G1s=(G3−G1)/Z・zs+G1 ・・・・・(65) B1s=(B3−B1)/Z・zs+B1 ・・・・・(66) R1e=(R3−R1)/Z・ze+R1 ・・・・・(67) G1e=(G3−G1)/Z・ze+G1 ・・・・・(68) B1e=(B3−B1)/Z・ze+B1 ・・・・・(69) その一方、基準輪郭稜線から距離dだけ離間した付加線
分の始点および終点の色(R2s,G2s,B2s)、
(R2e,G2e,B2e)は、それぞれ、(70)式ない
し(75)式にしたがって定められる。
【0162】 R2s=(R3−R2’)/Z・zs+R2’ ・・・・・(70) G2s=(G3−G2’)/Z・zs+G2’ ・・・・・(71) B2s=(B3−B2’)/Z・zs+B2’ ・・・・・(72) R2e=(R3−R2’)/Z・ze+R2’ ・・・・・(73) G2e=(G3−G2’)/Z・ze+G2’ ・・・・・(74) B2e=(B3−B2’)/Z・ze+B2’ ・・・・・(75) ただし、 R2’=(R2−R1)/D・d+R1 ・・・・・(76) G2’=(G2−G1)/D・d+G1 ・・・・・(77) B2’=(B2−B1)/D・d+B1 ・・・・・(78) である。
【0163】基準輪郭稜線のコマンド色が黒のときは、
(R1,G1,B1)=0であるから、 R2’=R2/D・d ・・・・・(79) G2’=G2/D・d ・・・・・(80) B2’=B2/D・d ・・・・・(81) となる。
【0164】また、dについて2次曲線的に変化するよ
うに、R2’などを、以下の式にしたがって定めてもよ
い。
【0165】 R2’=(R2−R1)^2/D^2・d^2+R1 ・・・・・(82) G2’=(G2−G1)^2/D^2・d^2+G1 ・・・・・(83) B2’=(B2−B1)^2/D^2・d^2+B1 ・・・・・(84) (1b型)では、付加線分の色が付加(幅)方向には変
化するが、始終点方向には一定であった。その一方、
(1c型)では、付加線分の色が始終点方向に変化する
が、付加(幅)方向には一定であった。この(1d型)
の場合には、付加線分の色は、始終点方向および付加
(幅)方向の双方に変化し、基準輪郭稜線および付加線
分の始点および終点の色が、それぞれ、異なっている。
ここに、図34は、基準輪郭稜線L0(符号3401)
および3本の付加線分L1,L2,L3(符号3402
ないし3404)の始点(3405ないし3408)の
色が、△印、+印、×印およびh印の順で変化し、その
一方、これら付加線分の終点の色が、+印、×印、=印
および−印の順で変化するようになった場合を示す。す
なわち、図34の例において、終点の色が、基準輪郭稜
線側に、ちょうど一本分だけ、始点の色とずれている。
【0166】基準輪郭稜線および付加線分の各画素に関
するデータは、以下のように生成される。付加線分発生
部17が、(64)式ないし(75)式に、基準輪郭稜線の始点
および終点の奥行値および基準輪郭稜線からの距離を代
入することにより、基準輪郭稜線および付加線分の始点
および終点の色を求める。また、付加線分発生部17
は、基準輪郭稜線の始点および終点の位置および奥行値
に関するデータに基づき、付加線分の始点および終点の
位置および奥行値に関するデータを算出する。これらを
線分発生部19に設定し、線分発生部19において、画
素ごとの位置、奥行値および色に関するデータが得られ
る。
【0167】線分発生部19により得られた各画素に関
するデータに対する隠面隠線消去部20、Zバッファ2
1およびフレームメモリ22による処理は、(1a型)
のものと同じである。
【0168】つぎに、(2)の変調法と(c)の奥行修
飾処理との組み合わせ(以下、「2c型」と称す
る。)、および、(2)と(d)の距離・奥行修飾処理
との組合せ(以下、「2d型」と称する。)につき説明
を加える。
【0169】(2c型)これは、入力コマンドにより指
定された変調係数の値を基準輪郭稜線の奥行値で修正
し、この値を用いて、既にフレームメモリに存在する色
を変調した色を基準輪郭稜線または付加線分の色とする
手法である。
【0170】具体的には、以下のように定められる。い
ま、入力コマンドにより指定された変調係数をαとす
る。これは、基準輪郭稜線の奥行値が0のときの値と
し、この値は奥行値に比例して変化し、奥行値がZにな
ると1となり、それ以上ではこの値に固定されると考え
る。この奥行値Zも、入力コマンドにより指定されるも
のとする。したがって、この場合には、基準輪郭稜線の
始点および終点の奥行値zs、zeが、0≦zs,ze
≦Zのときに、始点および終点における変調係数αs,
αeは、 αs=(1−α)/Z・zs+α ・・・・・(85) αe=(1−α)/Z・ze+α ・・・・・(86) と定められる。また、始点と終点との中間における変調
係数はαsおよびαeに基づき線形補間を用いて定めら
れるものとする。
【0171】また、Z≦zs,zeのときには、 αs=1 ・・・・・(87) αe=1 ・・・・・(88) となり、基準輪郭稜線と付加線分の色の変調は起こらな
い。
【0172】この場合は、(1c型)の手法と同様に、
付加線分の色は、始点から終点方向に向かって変化する
が、付加(幅)方向では一定である。
【0173】この(2c型)において、線分発生部19
にて生成される基準輪郭稜線および付加線分の色は、こ
れらの色の決定には関係しない。しかしながら、変調係
数は、線分に沿った方向で画素ごとに変化する。そこ
で、(85)式および(86)式に基づく始点および終点におけ
る変調係数の計算は付加線分発生部17により実行さ
れ、始点と終点との間に関する線形補間処理は、線分発
生部19により実行される。すなわち、基準輪郭稜線お
よび付加線分の各画素に関するデータは、以下のように
生成される。
【0174】まず、付加線分発生部17は、(85)式ない
し(88)式に、基準輪郭稜線の始点および終点の奥行値を
代入することにより、それぞれの始点と終点における変
調係数を求める。この変調係数は、色データとして、線
分発生部19に設定される。また、付加線分発生部17
は、基準輪郭稜線の始点および終点の位置および奥行値
に関するデータに基づき、付加線分の始点および終点の
位置および奥行値に関するデータを算出し、これらを線
分発生部19に設定する。これにより、線分発生部19
により、画素ごとの位置、奥行値および変調係数に関す
るデータが生成される。
【0175】線分発生部19で生成された各画素に関す
るデータに対する隠面隠線消去部20、Zバッファ2
1、フレームメモリ22および変調部23による処理
は、(2a型)のものとほぼ同じである。この場合に、
変調部23への変調係数の設定が画素ごとに実行され
る。
【0176】(2d型)これは、基準輪郭稜線について
は、入力コマンドにより指定された変調係数の値を基準
輪郭稜線の奥行値で修正し、この値を用いて既にフレー
ムメモリに存在する色を変調した色を、基準輪郭稜線の
色とし、その一方、付加線分については、入力コマンド
により指定された変調係数の値を基準輪郭稜線からの距
離と奥行値で修正し、この値を用いて既に存在する色を
変調した色を、付加線分の色とするものである。
【0177】具体的には、以下のように定められる。い
ま、入力コマンドにより指定された変調係数をαとす
る。これは基準輪郭稜線の奥行値が0のときの値とし、
この値は奥行値に比例して変化し、奥行値がZになると
1となり、それ以上ではこの値に固定するとする。この
奥行値Zも、入力コマンドにより指定されるものとす
る。また、この変調係数による変調は基準輪郭稜線から
の距離dに比例して小さくなり、距離Dだけ離間した、
最も外側における付加線分においては0とする。したが
って、この場合には、基準輪郭稜線の始点および終点の
奥行値zs、zeが0≦zsかつze≦Zのときに、距
離dだけ離間した付加線分の始点および終点における変
調係数βsとβeは、 βs=αs・(1−d/D)+d/D ・・・・・(89) βe=αe・(1−d/D)+d/D ・・・・・(90) と定められる。ただし、 αs=(1−α)/Z・zs+α ・・・・・(91) αe=(1−α)/Z・ze+α ・・・・・(92) である。また、基準輪郭稜線および付加線分ごとの、始
点と終点との中間における変調係数は、βsおよびβe
に基づき線形補間を用いて定めるものとする。
【0178】この場合に、基準輪郭稜線については、始
点から終点に向かう方向で変調係数の値が変化し、その
色は始点から終点に向かって変化する。その一方、付加
線分については、始点から終点に向かう方向および付加
(幅)方向の双方で変調係数の値が変化し、その色も始
点から終点に向かう方向および付加(幅)方向の双方で
変化する。
【0179】これに対して、Z≦zs,zeのときに
は、 αs=1 ・・・・・(93) αe=1 ・・・・・(94) となり、基準輪郭稜線および付加線分の、始点から終点
に向かう方向での色の変調は生じない。
【0180】この(2d型)において、線分発生部19
にて生成される基準輪郭稜線および付加線分の色は、こ
れらの色の決定には関係しない。しかしながら、変調係
数は、基準輪郭稜線および付加線分のそれぞれについ
て、始点から終点に向かう方向で画素ごとに変化する。
そこで、(89)式ないし(92)式などに基づく基準輪郭稜線
および付加線分の始点および終点における変調係数の算
出は、付加線分発生部17により実行され、始点と終点
との間に関する線形補間処理は、線分発生部19により
実行される。すなわち、基準輪郭稜線および付加線分の
各画素に関するデータは、以下のように生成される。
【0181】まず、付加線分発生部17は、基準輪郭稜
線の始点および終点の奥行値、および、上述した式に基
づき、それぞれの始点および終点における変調係数を求
める。この変調係数は、色データとして、線分発生部1
9に設定される。また、付加線分発生部17は、基準輪
郭稜線の始点および終点の位置および奥行値に関するデ
ータに基づき、付加線分の始点および終点の位置および
奥行値に関するデータを算出し、これらを線分発生部1
9に設定する。これにより、線分発生部19により、画
素ごとの位置、奥行値および変調係数に関するデータが
生成される。
【0182】線分発生部19で発生された各画素に関す
るデータに対する隠面隠線消去部20、Zバッファ2
1、フレームメモリ22および変調部23による処理
は、(2c型)のものと同じである。この場合に、変調
部23への変調係数の設定が画素ごとに実行される。
【0183】次に、(3)減色法に含まれる手法、たと
えば、無修飾処理、距離修飾処理、奥行修飾処理、距離
・奥行修飾処理につき説明を加える。
【0184】このグループに含まれる手法では、既にフ
レームメモリに存在する色を、コマンドにより指定され
た色で減色することで輪郭強調を行う。この(3)の減
色法と(a)無修飾処理との組み合わせ(以下、「3a
型」と称する。)、(b)距離修飾処理との組み合わせ
(以下、「3b型」と称する。)、(c)奥行修飾処理
との組み合わせ(以下、「3c型」と称する。)、およ
び、(d)距離・奥行修飾処理との組合せ(以下、「3
d型」と称する。)につき説明を加える。
【0185】(3a型)これは、既にフレームメモリに
存在する色と、入力コマンドにより指定された色の差に
対応する色を、付加線分の色とするものである。
【0186】より具体的には、以下のように定められ
る。たとえば、基準輪郭稜線の色は、コマンドにより指
定された色(コマンド色)のまま、これを維持し、その
一方、付加線分の色は、既にフレームメモリに存在する
色と、コマンドにより指定された色(コマンド色)の差
に対応する色と定める。すなわち、基準輪郭稜線のコマ
ンド色を(R1,G1,B1)、付加線分のコマンド色
を(R2,G2,B2)、既にフレームメモリに存在す
る色を(Rm,Gm,Bm)とする。このときに、基準
輪郭稜線の色(R,G,B)は、(95)式ないし(97)式に
したがって定められる。
【0187】 R=R1 ・・・・・(95) G=G1 ・・・・・(96) B=B1 ・・・・・(97) その一方、付加線分の色(R,G,B)は、(98)式ない
し(100)式にしたがって定められる。
【0188】 R=Rm−R2 ・・・・・(98) G=Gm−G2 ・・・・・(99) B=Bm−B2 ・・・・・(100) 基準輪郭稜線と付加線分の各画素のデータは、次のよう
にして生成される。基準輪郭稜線は、始点および終点の
色として(R1,G1,B1)を設定して、線分発生部
19により生成される。その一方、付加線分について
は、線分発生部19による色が、その色の決定に関係し
ないため、線分発生部19に設定すべき色は任意で良
い。これらの色データの設定、これと同時に必要な、基
準輪郭稜線の位置および奥行値に関するデータの設定、
基準輪郭稜線の位置および奥行値に関するデータに基づ
く付加線分の位置および奥行値データの算出、減算量の
変調部23への設定は付加線分発生部17により実行さ
れる。
【0189】基準輪郭稜線の各画素に関するデータに対
する隠面隠線消去部20、Zバッファ21およびフレー
ムメモリ22による処理は、(1a型)のものと同じで
ある。その一方、付加線分の画素データに対する処理
は、(2a型)のものとほぼ同じである。また、変調部
23においては、前述した色の差が算出される。
【0190】(3b型)これは、既にフレームメモリに
存在する色を、入力コマンドにより指定された色を基準
輪郭稜線からの距離で修正した色で減色した色を、付加
線分の色とするものである。
【0191】より具体的には、以下のように定められ
る。たとえば、基準輪郭稜線の色はコマンド色のままと
し、付加線分の色は、コマンド色からの差が外側に向か
うほど小さくなり、既にフレームメモリに存在する色そ
のものに徐々に近づくと定める。すなわち、基準輪郭稜
線のコマンド色を(R1,G1,B1)、付加線分のコ
マンド色を(R2,G2,B2)、既にフレームメモリ
に存在する色を(Rm,Gm,Bm)、基準輪郭稜線と
最も外側の付加線分との間の距離をD、および、基準輪
郭稜線と任意の付加線分との間の距離をdとする。この
ときに、基準輪郭稜線の色(R,G,B)は、 R=R1 ・・・・・(101) G=G1 ・・・・・(102) B=B1 ・・・・・(103) と定められるが、その一方、付加線分の色(R,G,
B)は、(104)式ないし(106)式にしたがって定められ
る。
【0192】 R=Rm−R2’ ・・・・・(104) G=Gm−G2’ ・・・・・(105) B=Bm−B2’ ・・・・・(106) ただし、 R2’=(1−d/D)R2 ・・・・・(107) G2’=(1−d/D)G2 ・・・・・(108) B2’=(1−d/D)B2 ・・・・・(109) である。特に、コマンド色が黒のときは、(R1,G
1,B1)=0であるから、 R=Rm ・・・・・(110) G=Gm ・・・・・(111) B=Bm ・・・・・(112) となる。
【0193】基準輪郭稜線と付加線分の各画素のデータ
は、(3a型)でのデータの生成と同じように生成され
る。すなわち、基準輪郭稜線については、始点および終
点の色に(R1,G1,B1)が設定されて、線分発生
部19により生成される。その一方、付加線分について
は、線分発生部19による色が、その色の決定に関係し
ないため、線分発生部19に設定すべき色は任意で良
い。これらの色データの設定、これに同時に必要な、基
準輪郭稜線の位置および奥行値に関するデータの設定、
基準輪郭稜線の位置および奥行値関するデータに基づく
付加線分の位置および奥行値に関するデータの算出、上
述した式に基づく付加線分ごとの減算量の算出および変
調部23への設定は、付加線分発生部17により実行さ
れる。
【0194】基準輪郭稜線と付加線分の各画素に関する
データに対する隠面隠線消去部20、Zバッファ21、
フレームメモリ22および変調部23の処理も、(3a
型)のものとほぼ同じである。この場合に、変調部23
に与えられる減算量は、付加線分ごと設定される。
【0195】(3c型)これは、入力コマンドにより指
定された基準輪郭稜線および付加線分の色を、基準輪郭
稜線の奥行値を用いて修正し、その色により、既にフレ
ームメモリに存在する色を減色した色を用いるものであ
る。
【0196】より具体的には、以下のように定められ
る。たとえば、基準輪郭稜線および付加線分の色は、基
準輪郭稜線の奥行値が0のときは、コマンド色そのもの
とし、奥行値が大きくなるに従って、徐々に、既にフレ
ームメモリに存在する色に近づき、奥行値がZ或いはそ
れ以上になると、既にフレームメモリに存在する色その
ものになるように定める。基準輪郭稜線のコマンド色を
(R1,G1,B1)、付加線分のコマンド色を(R
2,G2,B2)、既にフレームメモリに存在する色を
(Rm,Gm,Bm)、および、基準輪郭稜線の始点お
よび終点の奥行値をzsおよびzeとする。このとき
に、基準輪郭稜線の始点および終点の色(R1s,G1
s,B1s)、(R1e,G1e,B1e)は、(113)
式ないし(118)式にしたがって定められる。
【0197】 R1s=Rm−R1s’ ・・・・・(113) G1s=Gm−G1s’ ・・・・・(114) B1s=Bm−B1s’ ・・・・・(115) R1e=Rm−R1e’ ・・・・・(116) G1e=Gm−G1e’ ・・・・・(117) B1e=Bm−B1e’ ・・・・・(118) ただし、 R1s’=(1−zs/Z)R1 ・・・・・(119) G1s’=(1−zs/Z)G1 ・・・・・(120) B1s’=(1−zs/Z)B1 ・・・・・(121) R1e’=(1−ze/Z)R1 ・・・・・(122) G1e’=(1−ze/Z)G1 ・・・・・(123) B1e’=(1−ze/Z)B1 ・・・・・
(124) である。同様に、付加線分の始点および終点の色(R2
s,G2s,B2s)、(R2e,G2e,B2e)
は、(125)式ないし(130)式にしたがって定められ
る。
【0198】 R2s=Rm−R2s’ ・・・・・(125) G2s=Gm−G2s’ ・・・・・(126) B2s=Bm−B2s’ ・・・・・(127) R2e=Rm−R2e’ ・・・・・(128) G2e=Gm−G2e’ ・・・・・(129) B2e=Bm−B2e’ ・・・・・(130) ただし、 R2s’=(1−zs/Z)R2 ・・・・・(131) G2s’=(1−zs/Z)G2 ・・・・・(132) B2s’=(1−zs/Z)B2 ・・・・・(133) R2e’=(1−ze/Z)R2 ・・・・・(134) G2e’=(1−ze/Z)G2 ・・・・・(135) B2e’=(1−ze/Z)B2 ・・・・・(136) である。
【0199】特に、基準となる輪郭稜線のコマンド色が
黒のときは、(R1,G1,B1)=(R2,G2,B
2)=0であるから、 R1s=R1e=R2s=R2e=Rm ・・・・・(137) G1s=G1e=G2s=G2e=Gm ・・・・・(138) B1s=B1e=B2s=B2e=Bm ・・・・・(139) となる。
【0200】この場合には、基準輪郭稜線、付加線分と
もに減算量が始点から終点の方向で画素ごとに変化す
る。そこで、付加線分発生部17において、(125)式な
いし(130)式などに基づき、基準輪郭稜線、付加線分の
始点および終点での減算量を算出し、その値を、線分発
生部19での色データとして設定して、各画素における
減算量を得る。このとき同時に、必要な、基準輪郭稜線
の位置および奥行値に関するデータの設定、基準輪郭稜
線の位置および奥行値に関するデータに基づく付加線分
の位置および奥行値データの算出およびその設定も、付
加線分発生部17により実行される。
【0201】基準輪郭稜線および付加線分の各画素に関
するデータに対する隠面隠線消去部20、Zバッファ2
1、フレームメモリ22および変調部23による処理
は、(2a型)のものとほぼ同じである。この場合に
は、変調部23に与えられる減算量は、画素ごとに設定
される。
【0202】(3d型)これは、基準輪郭稜線について
は、入力コマンドにより指定された色を基準輪郭稜線の
奥行値を用いて修正し、その色で既にフレームメモリに
存在する色を減色した色を、基準輪郭稜線の色とするも
のである。その一方、付加線分については、入力コマン
ドにより指定された色を、基準輪郭稜線からの距離およ
び奥行値を用いて修正し、その色で既にフレームメモリ
に存在する色を減色した色を、付加線分の色とするもの
である。
【0203】より具体的には、以下のように定められ
る。いま、入力コマンドにより指定された基準輪郭稜線
の色を(R1,G1,B1)、付加線分の色を(R2,
G2,B2)とする。また、基準輪郭稜線の始点の奥行
値をzs、終点の奥行値をzeとする。このときに、基
準輪郭稜線の始点および終点の色(R1s,G1s,B
1s)、(R1e,G1e,B1e)は、(140)式ない
し(145)式にしたがって定められる。
【0204】 R1s=Rm−R1s’ ・・・・・(140) G1s=Gm−G1s’ ・・・・・(141) B1s=Bm−B1s’ ・・・・・(142) R1e=Rm−R1e’ ・・・・・(143) G1e=Gm-G1e' ・・・・・(144) B1e=Bm−B1e’ ・・・・・(145) ただし、 R1s’=(1−zs/Z)R1 ・・・・・(146) G1s’=(1−zs/Z)G1 ・・・・・(147) B1s’=(1−zs/Z)B1 ・・・・・(148) R1e’=(1−ze/Z)R1 ・・・・・(149) G1e’=(1−ze/Z)G1 ・・・・・(150) B1e’=(1−ze/Z)B1 ・・・・・(151) である。その一方、付加線分の始点および終点の色(R
2s,G2s,B2s)、(R2e,G2e,B2e)
は、(152)式ないし(157)式にしたがって定められる。
【0205】 R2s=Rm−R2s’ ・・・・・(152) G2s=Gm−G2s’ ・・・・・(153) B2s=Bm−B2s’ ・・・・・(154) R2e=Rm−R2e’ ・・・・・(155) G2e=Gm−G2e’ ・・・・・(156) B2e=Bm−B2e’ ・・・・・(157) ただし、 R2s’=(1−zs/Z)(1−d/D)R2 ・・・・・(158) G2s’=(1−zs/Z)(1−d/D)G2 ・・・・・(159) B2s’=(1−zs/Z)(1−d/D)B2 ・・・・・(160) R2e’=(1−ze/Z)(1−d/D)R2 ・・・・・(161) G2e’=(1−ze/Z)(1−d/D)G2 ・・・・・(162) B2e’=(1−ze/Z)(1−d/D)B2 ・・・・・(163) である。
【0206】基準輪郭稜線および付加線分の各画素に関
するデータは、(3c型)におけるデータの生成とほぼ
同様に生成される。この場合には、上述した式に基づい
た、始点および終点における減産量の算出およびその値
の設定が、付加線分ごとに付加線分発生部17により実
行される。
【0207】基準輪郭稜線および付加線分の各画素に関
するデータに対する隠面隠線消去部20、Zバッファ2
1、フレームメモリ22および変調部23による処理は
(3c型)のものと同じである。
【0208】このようにして、上述した手法の何れかを
実行することにより、基準輪郭稜線および付加線分の色
を決定することが可能となる。本実施の形態において
は、上述した全ての手法から、入力コマンド或いは操作
者による他の入力にしたがって、何れかを選択して、選
択された手法を用いて、付加線分を得るように構成され
ている。
【0209】次に、付加線分の本数の定め方について述
べる。これには、以下に述べるように、基本法および奥
行修飾法がある。
【0210】(1)基本法 これまで説明してきたように、付加線分の本数を、単純
に入力コマンドにより指定された本数に等しいように定
める手法である。
【0211】(2)奥行修飾法 入力コマンドにより指定された本数を輪郭稜線の奥行値
によって修飾して定める方法である。さらに、この奥行
修飾法には平行修飾法と傾斜修飾法がある。それぞれに
つき、以下に説明する。
【0212】(a)平行修飾法 これは、基準輪郭稜線の平均奥行値で修飾して付加本数
を定める手法である。より具体的には、以下のように定
められる。入力コマンドにより与えられた基準本数を
N、奥行値による低減率をδ、基準輪郭稜線の始点およ
び終点の奥行値をzsおよびze、平均の奥行値をzと
する。このときに、付加線分の本数mは、 m=[N・(1−δ・z)] ・・・・・(164) と定められる。ただし、z=(zs+ze)/2であ
り、また、[ ]はその内部の値が正のときは小数点以
下を四捨五入した整数値を、負のときは0を表す。
【0213】このときに、N本の付加線分からm本を選
択して付加することになる。実際にいずれの付加線分を
選択するかは、つぎのようにして定める。
【0214】(1)の基本法においてn番目に当たる付
加線分の始点および終点の平行移動量は、 ΔXn=±[n・m/N]または 0 ・・・・・(165) ΔYn=±[n・m/N]または 0 ・・・・・(166) と定められる。ただし、±の符号あるいは0の選択は、
基準輪郭稜線の傾きθによる。ここで、nを1からNま
で順次増加させ、[n・m/N]の値を求める。この値
に変化が生じたとき、(165)式、(166)式に基づいて、Δ
XnおよびΔYnを計算する。さらに、基準輪郭稜線の
始点および終点を、x方向にΔXn、y方向にΔYnだ
け平行移動した位置を計算する。次いで、この位置に関
するデータは、線分発生部19に設定され、線分発生部
19が、この位置を始点および終点とした、その番号n
が付与された付加線分が生成される。上述した計算およ
び線分発生部19へのデータ設定は、付加線分発生部1
7により実行される。
【0215】また、線分発生部19において生成された
画素に関するデータに対する隠面隠線消去部20、Zバ
ッファ21、フレームメモリ22および変調部22によ
る処理は、色または輝度の定め方の説明に関して述べた
ものと同様である。
【0216】これにより、付加線分の幅を、手前側に存
在する輪郭稜線では広く、奥行側に存在する輪郭稜線で
は狭くすることが可能となる。
【0217】(b)傾斜修飾法 これは、基準輪郭稜線の始点および終点における奥行値
で、入力コマンドにより指定された本数を修飾して、付
加線分の始点および終点における付加本数を個別に定め
る手法である。ここに、入力コマンドにより与えられた
基準本数をN、奥行値による低減率をδ、基準輪郭稜線
の始点および終点の奥行値をzsおよびzeとする。こ
のときに、始点および終点における付加線分の本数m
s、meは、 ms=[N・(1−δ・zs)] ・・・・・(167) me=[N・(1−δ・ze)] ・・・・・(168) と定められる。ただし、[ ]はその内部の値が正のと
きは小数点以下を四捨五入した整数値を、負のときは0
を表す。
【0218】いま、msとmeとで大きい方をmとする
と、N本の付加線分からm本を選択して付加することに
なる。実際にいずれの線分を付加するかは、以下のよう
にして定められる。
【0219】(1)の基本法においてn番目の付加線分
の始点および終点の平行移動量は、 ΔXns=±[n・ms/N]または 0 ・・・・・(169) ΔYns=±[n・ms/N]または 0 ・・・・・(170) ΔXne=±[n・me/N]または 0 ・・・・・(171) ΔYne=±[n・me/N]または 0 ・・・・・(172) と定められる。ただし、±の符号または0の選択は、基
準輪郭稜線の傾きθによる。nを1からNまで順次増加
させ、[n・ms/N]および[n・me/N]の値を
求める。この何れか一方または両方の値に変化が生じた
とき、(169)式ないし(172)式に基づき、ΔXns、ΔY
ns、ΔXne、ΔYneを計算する。さらに、基準輪
郭稜線の始点をx方向にΔXns、y方向にΔYnsだ
け平行移動し、かつ、終点をx方向にΔXne、y方向
にΔYneだけ平行移動した位置を計算する。この位置
に関するデータを線分発生部19に設定し、これによ
り、その番号nが付与された付加線分が生成される。
【0220】上述した計算および付加線分発生部19へ
のデータ設定は、付加線分発生部17により実行され
る。線分発生部19で発生された画素に関するデータに
対する隠面隠線消去部20、Zバッファ21、フレーム
メモリ22および変調部22による処理は、色または輝
度の定め方の説明に関して述べたものと同様である。
【0221】図35は、奥行修飾法を用いたときの付加
線分の始点および終点の位置の例を示す図である。図3
5において、始点側(図中の番号3501の側)の基準
輪郭稜線の奥行値は0に近く、付加線分のx座標は線分
ごとに−1だけ小さくなり、その一方、終点側(図中の
番号3502の側)の基準輪郭稜線の奥行値はかなり大
きいため、x座標は2本の付加線分ごとに−1だけ小さ
くなっている。すなわち、始点側においては、基準輪郭
稜線の座標および付加線分の座標は、すべて相互に異な
っているが(L0ないしL3参照)、終点側において
は、基準輪郭稜線の座標と第1付加線分の座標とが一致
し(L'0およびL'1参照)、かつ、第2付加線分の座
標と第3付加線分の座標とが一致している(L'2およ
びL'3参照)。このように、基準輪郭稜線の始点およ
び終点の奥行値が異なると、図35に示すように、付加
線分は基準輪郭稜線に対して傾斜を持って付加される。
【0222】さらに、基準輪郭稜線および付加線分の色
修飾(または輝度修飾)と付加線分の本数修飾とを組み
合わせることも可能である。図35は色または輝度の距
離修飾処理(1b型、2b型などを参照)と本数の傾斜
修飾法とを組み合わせたものである。付加線分は、線分
ごとに色が+印、×印、=印と変化しており、基準輪郭
稜線に対して傾斜を持っている。これに対して、図36
は、色または輝度の距離・奥行修飾処理(1d型、2d
型などを参照)と本数の傾斜修飾法とを組み合わせたも
のである。図35と比較すると、図36においては、さ
らに基準輪郭稜線および付加線分の始点の色と終点の色
とが異なっていることが理解できるであろう。たとえ
ば、始点L0の色は△印に対応するものであるのに対し
て、終点L'0の色は、+印に対応するものとなってい
る。同様に、始点L1ないしL3の色は、それぞれ、+
印、×印および=印に対応するものであるのに対して、
対応する終点L'1ないしL'3の色は、×印、=印およ
び−印に対応するものとなっている。
【0223】本実施の形態によれば、下記の通りの効果
を得ることが可能となる。
【0224】論理座標空間では重なりのない線分や面の
間においても、装置座標空間または画像空間では重なり
が生じるおそれがある。このような重なりが生じる場合
に、Zバッファを用いた隠線・隠面消去処理において、
手前側の線分や面を優先して表示するような処理が実行
される。一般に、凸な図形の輪郭稜線は、可視な図形部
分の最も奥行側に位置するため、装置座標空間または画
像空間で隣接面などの他の面を構成する画素が重なる
と、その輪郭線画素を、面の生成に先行して生成して
も、面の生成の後に生成しても、隠線部分と判定され、
フレ−ムメモリには残らず、その結果、ディスプレイの
画面上には表示されない。
【0225】三次元図形表示装置においては、図37に
示すように、図形の位置や方向を、いろいろ変化させて
表示し、その図形を観察する場合が多い。このため、図
37(a)に示すように、上述したような、面画素と輪
郭稜線の画素との重なりにより生じる問題なしに、輪郭
稜線が正しく表示された場合であっても、図37(b)
に示すように、物体を水平軸あるいは垂直軸まわりに回
転させたり、奥行方向に移動させたりすると、上述した
問題が生じる状態となり得る。このような問題が生じる
と、輪郭稜線となる辺の一部分または全体が表示されな
い。
【0226】しかしながら、本実施の形態よれば、適切
な付加線分を輪郭稜線の外側に設けることができるた
め、図37(c)に示すように、常に輪郭稜線部を強調
して表示することが可能となり、かつ、背景との分離お
よび自己との重なり状況などの把握が容易になる。
【0227】また、多角形の塗りつぶしにおいて、多角
形が細長くなったときに、以下に述べるような現象が生
じる。いま、図38(a)において実線で示した3角形
3801を、ある規則にしたがって塗りつぶすと、塗り
つぶしの対象となる画素は○印で示す画素(たとえば、
画素3802、3803)となる。図38(a)から明
らかなように、この画素により表わされた3角形の上半
分の領域はあたかも存在しないようになる(図38
(b)参照)。これに対して、図38(c)は、本実施
の形態にかかる手法を用いて、輪郭稜線およびその1画
素だけ外側の付加線分を構成する画素を重ね合わせたも
のである。この図において、輪郭稜線に対応する画素が
△印で表わされ(たとえば、画素3804)、その一
方、付加線分に対応する画素が+印で表わされている
(たとえば、画素3805)。図38(c)は、図38
(b)と比較すると、図38(b)では消失していた上
半分の領域の存在が分かることが理解できるであろう。
【0228】さらに、図38(d)は、この3角形がさ
らに細長くなった場合を示す図である。この場合に、塗
りつぶし対象となる画素は1つだけである(図38
(d)の画素3806および図38(e)参照)。図3
8(e)から理解できるように、この場合には、実際に
は面積を持つ3角形が、面積を持たないただの点である
かのように見える。これに対して、図38(f)は、本
実施の形態にかかる手法を用いて、輪郭稜線およびその
1画素だけ外側の付加線分を構成する画素を重ね合わせ
たものである。この図においても、図38(c)と同様
に、輪郭稜線に対応する画素が△印で表わされ(たとえ
ば、画素3807)、その一方、付加線分に対応する画
素が+印で表わされている(たとえば、画素380
8)。図38(f)においても、図38(c)の場合と
同様に、面積を有する図形の領域の存在を理解すること
ができる。
【0229】同様に、この3角形がさらに細長くなっ
て、塗りつぶし対象となる画素は1つも存在しない場合
(図38(g)参照)に、塗りつぶし画素のみでは、図
38(h)に示すように、実際に面積を持つ3角形が全
く存在しないかのように見える。これに対して、図38
(i)は、本実施の形態にかかる手法を用いて、輪郭稜
線およびその1画素だけ外側の付加線分を構成する画素
を重ね合わせたものである。このようにすれば、図38
(c)の場合と同様に、領域の存在を理解することが可
能となる。
【0230】本発明は、以上の実施の形態に限定される
ことなく、特許請求の範囲に記載された発明の範囲内
で、種々の変更が可能であり、それらも本発明の範囲内
に包含されるものであることは言うまでもない。
【0231】たとえば、前記実施の形態においては、輪
郭稜線および付加線分の色の定めるための複数の手法
(すなわち、1a型ないし3d型)を用意しているが、
これに限定されるものではなく、これらのうちの何れか
が実行可能であれば足りる。
【0232】また、付加すべき付加線分の本数も、本明
細書に開示されたものに限定されないことは明らかであ
る。
【0233】さらに、本明細書において、一つの手段或
いは部材の機能が、二以上の物理的手段或いは部材によ
り実現されても、若しくは、二つ以上の手段或いは部材
の機能が、一つの手段或いは部材により実現されてもよ
い。
【0234】
【発明の効果】本発明によれば、(1)複雑な処理手順
およびとマスクバッファ装置を必要とせず、(2)表示
された面の見かけの面積が小さくなることなく、(3)
従来の入力コマンド・インタフェースを維持し、かつ、
(4)得られた画像が階段状とならないような、3次元
画像表示システムおよび表示装置を提供することが可能
となる。
【図面の簡単な説明】
【図1】 図1は、本発明の実施の形態にかかる3次元
図形表示システムの処理の概要を示すフローチャートで
ある。
【図2】 図2は、本実施の形態にかかる3次元図形表
示システムの構成を示すブロックダイヤグラムである。
【図3】 図3は、表示対象図形の幾何学的構造の一例
を示す図である。
【図4】 図4は、本実施の形態にかかる表示データを
説明するための図である。
【図5】 図5は、本実施の形態にかかる手法を用いて
得られた画像の一例を示す図である。
【図6】 図6は、本実施の形態にかかる手法を用いて
得られた画像の一例を示す図である。
【図7】 図7は、シェーディング処理により得られる
表示対象図形の画素を示す図である。
【図8】 図8は、シェーディング処理による画素から
なる画像の一例を示す図である。
【図9】 図9は、輪郭稜線を理想的に重ね合わせた結
果の画素を示す図である。
【図10】 図10は、面画素発生の原理を説明するた
めの図である。
【図11】 図11は、線分画素発生の原理を説明する
ための図である。
【図12】 図12は、重ね合わせにおいて、線分画素
が途切れた場合の一例を示す図である。
【図13】 図13は、円柱近似8角柱の配置および投
影を概略的に示す図である。
【図14】 図14は、輪郭稜線と稜線が完全に重なる
場合の例を示す図である。
【図15】 図15は、3角錐の配置および投影を概略
的に示す図である。
【図16】 図16は、輪郭稜線と稜線とが部分的に重
なる場合の例を示す図である。
【図17】 図17は、輪郭稜線の外側への平行移動を
示す図である。
【図18】 図18は、輪郭稜線から1画素だけ外側に
画素を配置して重ね合わせた例を示す図である。
【図19】 図19は、本実施の形態にしたがって、輪
郭稜線と第1の付加線分とを重ね合わせた例を示す図で
ある。
【図20】 図20は、本実施の形態にしたがって、輪
郭稜線と第1および第2の付加線分とを重ね合わせた例
を示す図である。
【図21】 図21は、シェーディング処理により得ら
れた凹図形の画素の一例を示す図である。
【図22】 図22は、輪郭稜線と第1の付加線分とを
重ね合わせた例を示す図である。
【図23】 図23は、輪郭稜線の進行方向と面の外側
との関係を示す図である。
【図24】 図24は、輪郭稜線の進行方向と平行移動
の方向との関係を示す図である。
【図25】 図25は、凸図形のコーナにおいて空隙が
生じた例を示す図である。
【図26】 図26は、凹図形のコーナにおいて空隙が
生じた例を示す図である。
【図27】 図27は、本実施の形態にかかる付加線分
の延長方向を説明するための図である。
【図28】 図28は、本実施の形態にかかる付加線分
の延長量を説明するための図である。
【図29】 図29は、本実施の形態にかかる手法にし
たがって、凸図形の付加線分の始点および終点を延長し
た結果を示す図である。
【図30】 図30は、本実施の形態にかかる手法にし
たがって、凹図形の付加線分の始点および終点を延長し
た結果を示す図である。
【図31】 図31は、本実施の形態にかかる輪郭稜線
および付加線分の色を決定する変数を説明するための図
である。
【図32】 図32は、本実施の形態にかかる指定色補
間法による色の決定を説明するための図である。
【図33】 図33は、本実施の形態にかかる背景色変
調法による色の決定を説明するための図である。
【図34】 図34は、本実施の形態にかかる奥行変調
法による色の決定を説明するための図である。
【図35】 図35は、本実施の形態にかかる奥行変調
法による付加線分の位置の変化を示す図である。
【図36】 図36は、本実施の形態にかかる奥行混合
変調法による付加線分の色および位置の変化を説明する
ための図である。
【図37】 図37は、表示図形を回転、縮小する際の
本実施の形態により得られる効果を説明するための図で
ある。
【図38】 図38は、細長い図形を表示する場合の、
本実施の形態により得られる効果を説明するための図で
ある。
【符号の説明】
1 3次元図形表示システム 2 制御・記憶部 3 表示部 4 表示制御部 5 データ記憶部 6 数式空間処理部 7 数式−画像空間変換部 8 画像空間処理部 9 論理空間処理部 10 論理−装置空間変換部 11 装置座標空間処理部 12 幾何前処理部 13 光学シミュレーション部 14 輪郭稜線検出部 15 輪郭稜線バッファ 16 装置座標変換部 17 付加線分発生部 18 面発生部 19 線分発生部 20 隠面隠線消去部 21 Zバッファ 22 フレームメモリ 23 表示装置 24 変調部

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 3次元表示すべき対象物の種々の特性を
    示す入力コマンドに基づき、該対象物に対応する2次元
    格子状の画素データを生成し、生成された画素データ
    を、可視的な2次元投影面上のデータに変換して、該変
    換された2次元平面上のデータに基づく画素から構成さ
    れる図形を含む画像を、表示装置の画面上に表示する3
    次元図形表示システムであって、 前記入力コマンドに基づき、論理座標空間における処理
    を実行する論理空間データ処理手段と、論理座標空間か
    ら2次元投影面への投影変換を含む装置座標空間上のデ
    ータ変換を実行するデータ変換手段と、装置座標空間上
    のデータに基づき、表示対象物を、二次平面的に、所定
    の色または輝度をもって表示するための画像空間上の画
    素デ−タへのデータ変換を実行する第2のデータ変換手
    段と、前記画素デ−タを記憶するフレ−ムメモリと、前
    記入力コマンドに基づき、表示対象物の論理空間上の輪
    郭稜線を検出する輪郭稜線検出手段と、前記検出された
    輪郭稜線に関するデータを、装置座標空間の2次元投影
    面上に投影変換する輪郭稜線投影変換手段と、該投影変
    換によって得られた2次元投影面上の輪郭稜線を基準輪
    郭稜線として、該基準輪郭稜線上および該基準輪郭稜線
    に対して該基準輪郭稜線が所在する面の外側に位置する
    線分を構成する画素の画素データを生成して付加線分を
    得る付加線分生成手段とを備え、生成された付加線分の
    画素データを用いて、前記フレームメモリ内の画素デー
    タを更新し、輪郭稜線部分を強調するように構成された
    ことを特徴とする3次元図形表示システム。
  2. 【請求項2】 前記付加線分生成手段が、前記輪郭稜線
    検出手段により得られた前記輪郭稜線の始点および終点
    を、装置座標空間の2次元投影面上に投影変換して、前
    記始点および終点に対応する画素の位置を得て、前記始
    点および終点とする該投影面上の線分を基準輪郭稜線と
    決定する基準輪郭稜線決定手段と、前記基準輪郭稜線決
    定手段により決定された基準輪郭稜線の始点および終点
    を、画素単位で該基準輪郭稜線が位置する面の外側に向
    かって水平方向および垂直方向の一方に平行移動するこ
    とにより、少なくとも一組の付加線分の始点および終点
    を定める付加線分始終点決定手段とを備え、該輪郭稜線
    および付加線分のそれぞれの始点と終点とを結ぶ線分を
    構成する画素の位置を示す位置データを生成し、該位置
    データに基づき、前記フレームメモリのデータを更新す
    ることを特徴とする請求項1に記載の3次元図形表示シ
    ステム。
  3. 【請求項3】 前記付加線分生成手段が、強調すべき付
    加線分の幅に対応する画素の数、および、面の外側方向
    に平行移動して付加すべき付加線分の本数を、基準輪郭
    稜線の奥行値に基づき定めるように構成されたことを特
    徴とする請求項1または2に記載の3次元図形表示シス
    テム。
  4. 【請求項4】 前記付加線分生成手段が、基準輪郭稜線
    からの離間するのにしたがって、付加線分が前記輪郭稜
    線部分を構成することを示す度合を弱めるような特性を
    有する付加線分を得るように構成されたことを特徴とす
    る請求項1ないし3の何れか一項に記載の3次元図形表
    示システム。
  5. 【請求項5】 前記付加線分生成手段が、その奥行値
    が、奥行側を示す値となるのにしたがって、付加線分が
    前記輪郭稜線部分を構成することを示す度合を弱めるよ
    うな付加線分を得るように構成されたことを特徴とする
    請求項1ないし4の何れか一項に記載の3次元図形表示
    システム。
  6. 【請求項6】 前記付加線分生成手段が、入力コマンド
    により予め定められた基準輪郭稜線の色または輝度、お
    よび、予め定められた最も外側に位置すべき付加線分の
    色または輝度に基づき、基準輪郭稜線からの距離に応じ
    て、前記色または輝度を混合することにより前記最も外
    側に位置すべき付加線分以外の付加線分の色または輝度
    を決定するように構成されたことを特徴とする請求項1
    ないし5の何れか一項に記載の3次元図形表示システ
    ム。
  7. 【請求項7】 前記付加線分生成手段が、入力コマンド
    により予め定められた初期変調率、および、基準輪郭稜
    線からの距離に応じて、前記第2のデータ変換手段によ
    り得られた色または輝度を変調することにより、前記付
    加線分の色または輝度を決定することを特徴とすること
    を特徴とする請求項1ないし5の何れか一項に記載の3
    次元図形表示システム。
  8. 【請求項8】 前記付加線分生成手段が、入力コマンド
    により予め決定された基準輪郭稜線の色または輝度に基
    づき、および、前記第2のデータ変換手段により得られ
    た色または輝度に基づき、基準輪郭稜線からの距離に応
    答して、前記色または輝度を混合して、前記付加線分の
    色または輝度を決定するように構成されたことを特徴と
    する請求項1ないし5の何れか一項に記載の3次元図形
    表示システム。
  9. 【請求項9】 輪郭稜線に対応する画素データの色また
    は輝度が、前記付加線分の色または輝度と、基準輪郭稜
    線を与える面の色または輝度との中間の混合色または輝
    度であることを特徴とする請求項とすることを特徴とす
    る請求項6ないし8の何れか一項に記載の3次元図形表
    示システム。
  10. 【請求項10】 前記付加線分の始点および終点の奥行
    値が、基準輪郭稜線の奥行値よりも奥行側の値と決定さ
    れ、かつ、付加線分が外側に位置するのにしたがって、
    その奥行値が奥行側の値と決定されることを特徴とする
    請求項2または3に記載の3次元図形表示システム。
  11. 【請求項11】 3次元表示すべき対象物の種々の特性
    を示す入力コマンドに基づき、該対象物に対応する2次
    元格子状の画素データを生成し、生成された画素データ
    を、可視的な2次元投影面上のデータに変換して、該変
    換された2次元平面上のデータに基づく画素から構成さ
    れる図形を含む画像を、表示装置の画面上に表示する3
    次元図形表示方法であって、 前記入力コマンドに基づき、論理座標空間における処理
    を実行し、論理座標空間から2次元投影面への投影変換
    を含む装置座標空間上のデータ変換を実行し、装置座標
    空間上のデータに基づき、表示対象物を、二次平面的
    に、所定の色または輝度をもって表示するための画像空
    間上の画素デ−タへの第2のデータ変換を実行し、前記
    画素デ−タをフレームメモリに記憶する第1群のステッ
    プと、 前記入力コマンドに基づき、表示対象物の論理空間上の
    輪郭稜線を検出し、前記検出された輪郭稜線に関するデ
    ータを、装置座標空間の2次元投影面上に投影変換し、
    該投影変換によって得られた2次元投影面上の輪郭稜線
    を基準輪郭稜線として、該基準輪郭稜線上および該基準
    輪郭稜線に対して該基準輪郭稜線が所在する面の外側に
    位置する線分を構成する画素の画素データを生成して付
    加線分を得て、生成された付加線分の画素データを用い
    て、前記フレームメモリ内の画素データを更新して、輪
    郭稜線部分を強調する第2群のステップとから構成され
    たことを特徴とする3次元図形表示方法。
  12. 【請求項12】 前記第2群のステップ中の付加線分の
    生成が、前記輪郭稜線検出手段により得られた前記輪郭
    稜線の始点および終点を、装置座標空間の2次元投影面
    上に投影変換して、前記始点および終点に対応する画素
    の位置を得て、前記始点および終点とする該投影面上の
    線分を基準輪郭稜線と決定し、決定された前記基準輪郭
    稜線の始点および終点を、画素単位で該基準輪郭稜線が
    位置する面の外側に向かって水平方向および垂直方向の
    一方に平行移動することにより、少なくとも一組の付加
    線分の始点および終点を定め、該基準輪郭稜線および付
    加線分のそれぞれの始点と終点とを結ぶ線分を構成する
    画素の位置を示す位置データを生成し、該位置データに
    基づき、前記フレームメモリのデータを更新するように
    構成されたことを特徴とする請求項11に記載の3次元
    図形表示方法。
  13. 【請求項13】 前記第2群のステップ中の付加線分の
    生成が、強調すべき付加線分の幅に対応する画素の数、
    および、面の外側方向に平行移動して付加すべき付加線
    分の本数を、基準輪郭稜線の奥行値に基づき定めるよう
    に構成されたことを特徴とする請求項11または12に
    記載の3次元図形表示方法。
  14. 【請求項14】 前記第2群のステップ中の付加線分の
    生成が、基準輪郭稜線からの離間するのにしたがって、
    付加線分が輪郭稜線部分を構成することを示す度合を弱
    めるような特性を有する付加線分を得るように構成され
    たことを特徴とする請求項11ないし13の何れか一項
    に記載の3次元図形表示方法。
  15. 【請求項15】 前記第2群のステップ中の付加線分の
    生成が、その奥行値が、奥行側を示す値となるのにした
    がって、付加線分が輪郭稜線部分を構成することを示す
    度合を弱めるような付加線分を得るように構成されたこ
    とを特徴とする請求項11ないし14の何れか一項に記
    載の3次元図形表示方法。
  16. 【請求項16】 前記第2群のステップ中の付加線分の
    生成が、入力コマンドにより予め定められた基準輪郭稜
    線の色または輝度、および、予め定められた最も外側に
    位置すべき付加線分の色または輝度に基づき、基準輪郭
    稜線からの距離に応じて、前記色または輝度を混合する
    ことにより前記最も外側に位置すべき付加線分以外の付
    加線分の色または輝度を決定するように構成されたこと
    を特徴とする請求項11ないし15の何れか一項に記載
    の3次元図形表示方法。
  17. 【請求項17】 前記第2群のステップ中の付加線分の
    生成が、入力コマンドにより予め定められた初期変調
    率、および、基準輪郭稜線からの距離に応じて、前記第
    2のデータ変換手段により得られた色または輝度を変調
    することにより、前記付加線分の色または輝度を決定す
    るように構成されたことを特徴とすることを特徴とする
    請求項11ないし15の何れか一項に記載の3次元図形
    表示方法。
  18. 【請求項18】 前記第2群のステップ中の付加線分の
    生成が、入力コマンドにより予め決定された基準輪郭稜
    線の色または輝度に基づき、および、前記第2のデータ
    変換手段により得られた色または輝度に基づき、基準輪
    郭稜線からの距離に応答して、前記色または輝度を混合
    して、前記付加線分の色または輝度を決定するように構
    成されたことを特徴とする請求項11ないし15の何れ
    か一項に記載の3次元図形表示方法。
  19. 【請求項19】 前記付加線分の始点および終点の奥行
    値が、基準輪郭稜線の奥行値よりも奥行側の値と決定さ
    れ、かつ、付加線分が外側に位置するのにしたがって、
    その奥行値が奥行側の値と決定されることを特徴とする
    請求項12または13に記載の3次元図形表示方法。
JP12704696A 1996-05-22 1996-05-22 3次元図形表示システムおよび3次元図形の表示方法 Pending JPH09311954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12704696A JPH09311954A (ja) 1996-05-22 1996-05-22 3次元図形表示システムおよび3次元図形の表示方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12704696A JPH09311954A (ja) 1996-05-22 1996-05-22 3次元図形表示システムおよび3次元図形の表示方法

Publications (1)

Publication Number Publication Date
JPH09311954A true JPH09311954A (ja) 1997-12-02

Family

ID=14950279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12704696A Pending JPH09311954A (ja) 1996-05-22 1996-05-22 3次元図形表示システムおよび3次元図形の表示方法

Country Status (1)

Country Link
JP (1) JPH09311954A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001307125A (ja) * 2000-04-17 2001-11-02 Sega Corp 3次元モデルの画像処理方法及びその装置
US6828969B2 (en) 2000-06-05 2004-12-07 Namco Ltd. Game system, program and image generating method
JP2006107104A (ja) * 2004-10-05 2006-04-20 Mitsubishi Electric Corp 輪郭強調描画装置
US7046242B2 (en) 2000-06-05 2006-05-16 Namco Ltd. Game system, program and image generating method
JP2009199620A (ja) * 1999-09-24 2009-09-03 Nintendo Co Ltd 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP4808778B2 (ja) * 2005-08-11 2011-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション レイ・トレース画像をラスタ化画像と合成するための方法
JP2014115991A (ja) * 2012-12-10 2014-06-26 Palo Alto Research Center Inc 機械加工される部品の加工性の分析および工程計画の実行
CN111862334A (zh) * 2019-04-29 2020-10-30 杭州优工品科技有限公司 一种显示三维图形、提供图形及图形数据的方法及装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199620A (ja) * 1999-09-24 2009-09-03 Nintendo Co Ltd 三次元ビデオグラフィックスシステムにおける非写実的な漫画的な輪郭線提供方法およびその装置
JP2001307125A (ja) * 2000-04-17 2001-11-02 Sega Corp 3次元モデルの画像処理方法及びその装置
JP4517447B2 (ja) * 2000-04-17 2010-08-04 株式会社セガ 3次元モデルの画像処理方法及びその装置
US6828969B2 (en) 2000-06-05 2004-12-07 Namco Ltd. Game system, program and image generating method
US7046242B2 (en) 2000-06-05 2006-05-16 Namco Ltd. Game system, program and image generating method
JP2006107104A (ja) * 2004-10-05 2006-04-20 Mitsubishi Electric Corp 輪郭強調描画装置
JP4515877B2 (ja) * 2004-10-05 2010-08-04 三菱電機株式会社 輪郭強調描画装置
JP4808778B2 (ja) * 2005-08-11 2011-11-02 インターナショナル・ビジネス・マシーンズ・コーポレーション レイ・トレース画像をラスタ化画像と合成するための方法
JP2014115991A (ja) * 2012-12-10 2014-06-26 Palo Alto Research Center Inc 機械加工される部品の加工性の分析および工程計画の実行
CN111862334A (zh) * 2019-04-29 2020-10-30 杭州优工品科技有限公司 一种显示三维图形、提供图形及图形数据的方法及装置

Similar Documents

Publication Publication Date Title
US8269770B1 (en) Tessellation of trimmed parametric surfaces by walking the surface
JP4116648B2 (ja) オクルージョンカリング方法および描画処理装置
KR100274919B1 (ko) 압축된프레임버퍼로그래픽이미지데이터를이중버퍼링하기위한시스템및방법
JP4142065B2 (ja) 縮小zバッファ生成方法、隠面消去方法、およびオクルージョンカリング方法
JP2001357410A (ja) 別々に生成された3次元イメージを合成するグラフィックス・システム
JPH02171877A (ja) 画像シェーディング方法及び記憶装置ローディング方法
TW473693B (en) Method and apparatus for handling translucency in 3D graphics
EP0644509B1 (en) Method and apparatus for filling polygons
JPH09311954A (ja) 3次元図形表示システムおよび3次元図形の表示方法
US7834879B2 (en) Drawing apparatus for displaying image data about a plurality of objects including semitransparent object and opaque object on computer display screen
JP3547250B2 (ja) 描画方法
JP4311877B2 (ja) 副標本化テクスチャ端縁部のアンチエイリアシング
JPH09231385A (ja) オブジェクトのラスタ化方法及び装置
JPH0714029A (ja) 線描画装置及び方法
JPH0651937A (ja) データ処理システム及びデータ制御方法
JPH087715B2 (ja) データ処理装置及びアクセス制御方法
JPH1125286A (ja) 付影処理方法
JP2000331175A (ja) 輪郭線生成用データ生成方法及び装置、記録システム、該データの記録されたコンピュータ可読実行媒体、並びに該データに基づいてオブジェクトに輪郭を付すエンタテインメント・システム
JP3872056B2 (ja) 描画方法
JPH07120427B2 (ja) グラフイツクス処理システム
JP3261832B2 (ja) 画像生成装置
JP3493745B2 (ja) 図形描画装置
US6377279B1 (en) Image generation apparatus and image generation method
JPH08279057A (ja) 三次元図形の輪郭線および稜線強調表示装置
JPH0350686A (ja) 図形処理方式