JPH07152929A - 図形描画方法 - Google Patents

図形描画方法

Info

Publication number
JPH07152929A
JPH07152929A JP6221370A JP22137094A JPH07152929A JP H07152929 A JPH07152929 A JP H07152929A JP 6221370 A JP6221370 A JP 6221370A JP 22137094 A JP22137094 A JP 22137094A JP H07152929 A JPH07152929 A JP H07152929A
Authority
JP
Japan
Prior art keywords
drawn
graphic
area
display
obtaining
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
JP6221370A
Other languages
English (en)
Inventor
Yoichi Horii
洋一 堀井
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 JP6221370A priority Critical patent/JPH07152929A/ja
Publication of JPH07152929A publication Critical patent/JPH07152929A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Processing Or Creating Images (AREA)

Abstract

(57)【要約】 【目的】従来の図形入力作業と同じ手順で厚みの質感を
表現可能な図形描画方法を提供する。 【構成】ポインティングデバイス(102)により図形
の描画方法を選択し(106)、データテーブル(10
7)に格納する。図形入力ルーチン(105)におい
て、ポインティングデバイスにより2次元の水平および
垂直方向の図形の表示位置と大きさが入力されると、光
源の方向により明暗を付けて(104)、厚みを持った
立体的な図形をディスプレイ(101)に表示する(1
03)。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は電子計算機を用いた図形
描画方法に関し、特に表示面上に図形を立体的に描画す
る方法に関する。
【0002】
【従来の技術】電子計算機を用いて表示面上に図形を描
画する従来の技術について図18を用いて説明する。
【0003】図18において、(A)は従来の2次元図
形描画方法、(B)は従来の三面図を用いた図形描画方
法、(C)は従来のメッシュを用いた図形描画方法であ
る。
【0004】マックドローII(クラリス社)マニュア
ル第2章第22ページから37ページにみられるよう
に、従来の2次元の図形描画方法では、例えば(A)に
示すように、あらかじめ指定された図形903を、ポイ
ンティングデバイスによりその表示位置と大きさを指定
して、それまでに入力された図形902の前面に描画す
る(図形902の上に上書きする)方式であった。
【0005】ここで扱う図形は、線分(901)、長方
形(902)、楕円(903)といった2次元図形であ
り、画面に垂直な方向の奥行き感を直接表現することは
できなかった。また、これらの方法を組み合わせて立体
的なボタンなどを描画する場合、例えば(D)に示すよ
うに、920、921のような多角形を明るめの色で塗
りつぶし、922、923のような多角形を暗めの色で
塗りつぶし、924のような多角形を中間の色で塗りつ
ぶすといった工程が必要であった。
【0006】また、日経CG1992年7月号91ペー
ジから103ページにみられるように、3次元図形を用
いて立体的な表示を行なう方法が提案されている。この
場合、図形の各点の水平、垂直、奥行きの3方向のデー
タを、例えば、(B)の側面図911、平面図912、
正面図913に示すように、直交する3方向からの三面
図より設定し、該3方向のデータを2次元平面に投影し
て3次元図形914を得ていた。
【0007】また、特開平5−233780号公報にみ
られるように、微妙な表面形状を立体的に表示する方法
が提案されている。この場合は、例えば(C)に示すよ
うに図形表面に格子状のメッシュを施し、格子点をマウ
ス等のポインティングデバイスにより選択し、水平、垂
直、または奥行き方向に移動することにより図形を立体
的に描画することを実現していた。
【0008】
【発明が解決しようとする課題】上記従来の2次元の図
形描画方法では、各図形の厚さ(高さ)方向(ディスプ
レイ面に垂直な方向)の描画については考慮されていな
いため、実際の絵画のような質感を表現することはでき
なかった。
【0009】また、上記従来の三面図による図形描画方
法では、1つの図形に対し、3方向からデータを与える
必要があり、直感的でなく、かつ入力作業が煩雑であっ
た。
【0010】また、上記従来のメッシュを施すことによ
る図形描画方法では、各格子点について格子点の移動方
向、移動する格子点の選択、および格子点の移動を入力
する必要があり、入力作業が煩雑であった。
【0011】また、従来、集積回路(IC)設計時にお
ける配線パターンを出力紙や計算機のディスプレイに表
示する際には、配線幅と長さの2次元情報しか表現でき
なかった。このため、配線が多層構造である場合は、図
19に示すように各層の配線を異なる色で区別して表示
していた。しかしながら、計算機のディスプレイでは同
時に発色可能な色数やプリンタの色分解能が十分に無い
場合は、識別可能に表示できる層の数が制限された。ま
た、ディスプレイの同時に発色可能な色数やプリンタの
色分解能が十分である場合でも、目視による検査では、
人間の認識できる色の分解能に限界があったり、個人差
があるため、多層配線の各層を異なる色で表現するには
適さない場合があった。
【0012】本発明の目的は、上記の従来技術の欠点を
解消し、容易に表示面上に図形を立体的に描画する方法
を提供するにある。本発明の別の目的は、例えば実際の
油絵のように、表示面に垂直な方向の厚さを容易に表現
することができる図形描画方法を提供することである。
本発明の更に別の目的は、表示面に図形を重ねて描く際
に、表示面に垂直な方向の厚さを容易に表現することが
できる図形描画方法を提供することである。本発明の更
に別の目的は、表示面に複数の図形を重ねて描く場合
に、各図形を互いに容易に識別しうるようにするもの
で、特に集積回路の配線パターンを多層に描く場合に、
各層が互いに容易に識別しうるように表現することがで
きる図形描画方法を提供することである。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明の図形描画方法では、(a)電子計算機に接
続され、少なくとも1つのスイッチを備えたポインティ
ングデバイスを用いて、表示面上における描画すべき図
形の描画位置及び大きさを指定し、(b)上記ポインテ
ィングデバイスを用いて、上記描画すべき図形の縁部か
ら描画すべき図形の所定の領域の該表示面に垂直な方向
の高さを指定し、(c)上記ポインティングデバイスを
用いて、上記描画すべき図形に照射される光の方向を指
定し、(d)上記指定された高さと光の方向に基づき、
上記描画すべき図形の分割された各領域の輝度を求め、
(e)求めた輝度で上記各分割された領域を表示し、そ
れにより図形を立体的に表示することを特徴とする。
【0014】本発明の1実施例では、上記ポインティン
グデバイスを用いて、上記描画すべき図形の色を指定
し、上記指定された色を各分割領域に前述した輝度で表
示するようにしている。本発明によれば、ポインティン
グデバイスにより描画すべき図形の表示面上の描画位
置、大きさ及びその所定領域の高さ、更に該図形に照射
される光の方向を指定することで、描画図形の各領域の
輝度が求められ、それにより図形の各領域をそれに照射
される光に対する角度に応じた輝度で表示すること上記
所定領域が浮き上がって(又は沈んで)見え立体的に表
示できる。
【0015】本発明の1実施例では、上記ステップ
(d)は、上記各領域について、該領域の面に垂直な法
線ベクトルを求めるステップと、この法線ベクトルと上
記光の方向のベクトルとのなす角度を求めるステップ
と、求めた角度に基づき各領域の輝度を求めるステップ
とを有する。
【0016】上記法線ベクトルを求めるステップでは、
例えば、上記ステップ(a)、(b)において指定され
た描画位置、大きさ及び高さに基づき、上記各領域にお
ける3次元座標を求め、求めた3次元座標に基づき各領
域の法線ベクトルを求める。また、上記法線ベクトルを
求めるステップでは、例えば、上記所定の領域は全て上
記縁部から上記指定された高さを有し、上記描画される
べき図形のその他の領域は上記縁部から所定の領域に向
かって傾斜しているものとして、上記各領域における3
次元座標を求める。
【0017】上記ステップ(a)〜(e)により新たな
図形を描画した場合、それにより以前に描画された図形
の上記新たな図形と重複する部分を消去するとよい。ま
た、ステップ(a)〜(e)で別の図形を描画した場
合、以前に描画された図形と重複する部分の高さを、上
記別図形と以前に描画された図形との高さの和となるよ
うにする。このようにすると、図形を重ねて描画する
と、油絵のように、先に描画された図形の表面上に後に
描画された図形が重なったように立体的に表示できる。
【0018】本発明の図形描画方法の他の特徴は、
(a)電子計算機に接続され、少なくとも1つのスイッ
チを備えたポインティングデバイスを用いて、表示面上
における描画すべき図形の描画位置及び大きさを指定
し、(b)上記ポインティングデバイスを用いて、上記
描画すべき図形の縁部から描画すべき図形の所定の領域
の表示面垂直方向の高さを指定し、(c)上記ポインテ
ィングデバイスを用いて、上記描画すべき図形に照射さ
れる光の方向を指定し、(d)上記指定された描画位
置、大きさに基づき、該描画すべき図形の各画素sの上
記表示面上の2次元座標を求め、(e)上記指定された
高さに基づき、上記表示面の各画素に対応して設けられ
たカウンタにより、描画すべき図形の各画素の上記表示
面に垂直な方向の座標を計数し、(f)上記ステップ
(d)、(e)で求めた座標と光の方向に基づき、描画
すべき図形の分割された各領域の輝度を求め、(g)上
記輝度で上記各分割された領域を表示し、それにより図
形を立体的に表示することにある。
【0019】このように、上記表示面の各画素に対応し
て画素の高さを計数するカウンタを設けることにより、
描画された図形上に更に別の図形を描画する際に、各カ
ウンタの計数値を上記別図形の各画素の高さに応じて加
算または減算すれば良く、それにより各カウンタの計数
値は、上記別図形の各画素の累積された高さを示す。従
って、このカウンタの累積値に基づき各領域を表示する
ことで、油絵のように、先に描画された図形の表面上に
後に描画された別の図形が重なったように立体的に表示
できる。本発明の1実施例では、上記分割された各領域
は、上記描画すべき図形において少なくとも3つの画素
を結ぶ多角形である。
【0020】本発明の更に他の特徴は、(a)電子計算
機に接続され、複数層の配線パターンについての配線パ
ターンデータを記憶している記憶装置から該配線パター
ンデータを読み出し、(b)上記読み出した配線パター
ンデータから、上記複数層の各層の配線パターンを構成
するリンクの各々について、その始点、終点、及び上記
表示面上の2次元座標、及び層の番号からなるリンクデ
ータを取り出し、(c)取り出したリンクデータに基づ
き各層の配線パターンを表示することを特徴とする。
【0021】上記ステップ(c)における配線パターン
の各リンクを表示するステップでは、例えば、(c−
1)電子計算機に接続され、少なくとも1つのスイッチ
を備えたポインティングデバイスを用いて、上記描画す
べきリンクの縁部から描画すべきリンクの所定の領域の
表示面垂直方向の高さを指定し、(c−2)上記ポイン
ティングデバイスを用いて、上記描画すべきリンクに照
射される光の方向を指定し、(c−3)上記指定された
高さと光の方向に基づき、描画すべきリンクの分割され
た各領域の輝度を求め、(c−4)求めた輝度で上記各
分割領域を表示し、それによりリンクを立体的に表示す
る。
【0022】本発明の他の特徴によれば、ポインティン
グデバイスにより描画すべき配線パターンの所定領域の
高さと、配線パターンに照射される光の方向を指定する
ことで、描画配線パターンの各リンクの領域の輝度が求
められ、それにより該リンクの各領域をそれに照射され
る光に対する角度に応じた輝度で表示することで上記所
定領域が浮き上がって(又は沈んで)見え、配線パター
ンを立体的に表示できる。従って、複数層の配線パター
ンを重ねて表示する場合に、各層の配線パターンが立体
的に表示され、かつ上下の層の重複部においては下の層
が消去されるため、各層の配線パターンが容易に認識で
きる。
【0023】
【作用】本発明では、電子計算機を用いてディスプレイ
に図形を入力する場合に、重ねて入力された図形の回数
に応じて該図形の各領域の高さ(厚み)を増し、各領域
の高さと光源の方向により各領域の輝度を決めて描画す
るようにすることによって、従来の平面図形の入力作業
と同じ手順で実際の絵を描くように厚みなどの質感を表
現することができる。
【0024】
【実施例】以下、本発明による図形描画方法の実施例を
図を参照して説明する。図1は、本発明の図形描画方法
を実現する計算機システムの構成の1例を示すブロック
図である。計算機システムは、中央処理装置1000
と、該図形描画方法を実現するためのプログラムあるい
はデータ等をストアするメモリ(例えば、ROM、RA
M)100と、CRT、LCD等のディスプレイ装置1
01と、例えばマウスやライトペンのような、操作スイ
ッチ又はボタンが備え付けられているポインティングデ
バイス102と、計算機に接続された出力装置、例えば
プリンタ111およびビデオ装置112とを備える。こ
れらの構成要素100、101、102、111、11
2はそれぞれバス109を介して中央処理装置1000
に接続されている。
【0025】上記メモリ100には、図形入力ルーチン
105、描画方法選択ルーチン106などのプログラム
とデータテーブル107のようなデータ、更に図8で説
明するような輝度変換テーブル108が格納される。
【0026】ディスプレイ装置101の表示画面101
A内には、ユーザがその中に図形を描画する描画パネル
251が表示される。更に、表示画面101A内には、
描画すべき図形の選択およびその図形の描画方法を設定
するための描画方法選択パネル261が表示される。
【0027】上記描画方法選択パネル261は、ユーザ
が選択した描画すべき図形の縁の幅(size)の設定
を行うための縁幅設定パネル401、描画すべき図形の
種類(例えば、図形403−1〜403−5)の選択を
行うための図形選択パネル403、図形の表示色を選択
するための基本色選択パネル402、図形の表示面に垂
直な方向の厚さ(即ち、図形の特定領域の該図形の縁部
からの高さ)の設定を行うための厚み加算値設定パネル
405、図形に照射される光源からの光の入射方向(光
源方向)を設定するための光源方向設定パネル404等
を有する。これらパネルによる設定情報はデータテーブ
ル107にストアされる。
【0028】図1にはこれらの2つのパネル251、2
61の拡大図251A、261Aを示す。データテーブ
ル107は、描画される図形毎に設けられるもので、該
テーブルにより表示される図形は図形番号710の変数
名(a)の値(図1の例では21)により識別される。
従って、図1の例では、他の表示図形のためのデータテ
ーブルとして107’も設けられている。
【0029】このような構成の計算機システムにおい
て、ポインティングデバイス102により描画方法選択
パネル261が選択された場合には、描画方法選択ルー
チン106に従い、描画する図形の種類、描画する図形
の縁の幅、描画する図形の基本色、描画する図形の厚さ
(高さ)、描画する図形に対する光源方向等をユーザが
該描画方法選択パネル261を用いて設定し、該設定値
がデータテーブルに設定される。
【0030】また、ポインティングデバイス102によ
り描画パネル251が選択された場合には、図形入力ル
ーチン105に従い、ポインティングデバイスのボタン
が押されたときと離されたときのカーソルの位置および
データテーブル107の上記設定情報に従って、上記描
画方法選択ルーチンに従い設定された図形が描画され
る。また、このようにディスプレイ101の表示面上に
設定及び表示された図形は、プリンタ111やビデオ装
置112などにより出力されうる。
【0031】データテーブル107においては、ユーザ
により描画される図形の種類701、基本色702(7
02−1〜702−3)、縁の幅703(703−1〜
703−2)、光源方向704(704−1〜704−
3)、図形の厚さ(高さ)の加算値705の各値がプロ
グラム起動時にデフォルトの値に初期化される。これら
の値は、上記の方法で描画方法選択パネル上で変更され
る(後述の図5のフローチャート参照)。
【0032】プログラム起動時等、新規に描画を開始す
る際は、描画パネル251の全領域が例えば白で塗りつ
ぶされ、ユーザによるポインティングデバイスからの入
力を待つ。ユーザがポインティングデバイスにより描画
パネル251を選択した場合、データテーブル107の
表示位置706(706−1〜706−4)の値が更新
され、図4のフローチャートで示す手順で立体的な図形
を描画する。2度目以降に図形を描画する際には、本実
施例ではそのまま図4の手順で既に描画されている図形
上に新たな図形を上書きするようにする。
【0033】次に、図4のフローチャートを用いて、本
実施例における図形描画方法を説明する。ここでは、図
形選択パネル403内の長方形の図形403−1が選択
され、図3に示すように該選択された図形を立体的に描
画する場合について説明する。 図3において、q1か
らq8までは、描画パネル上の点611〜618、f1
からf5まではそれぞれq1からq8までの点のうち所
定の4点を結んだ多角形領域621〜625を示す。こ
れら多角形領域、及び点は各図形(403−1〜403
−5)毎に予め設定されているものとする。
【0034】以下に図4のフローチャートに従って、領
域625がディスプレイ面に垂直に手前に(浮き上がっ
て)見えるように描画する処理の手順について述べる。
まず、ステップ631において、該選択された図形を描
画パネル251上に描く際の描画領域の設定を行う。即
ち、ユーザにより先ず、ポインティングデバイス102
のボタンが押されたときのカーソルの2次元座標P(q
1)(始点の座標)を読み込む。ここで、P(q1)
は、点q1のディスプレイ上の水平および垂直座標(P
(q1).h、およびP(q1).v)を示す。
【0035】更に、ボタンが離されるまで待機し、ボタ
ンが離されたときのカーソルの2次元座標P(q8)
(終点の座標)を読み込む。この2つの座標P(q1)
およびP(q8)により描画位置と大きさが決まる。こ
れら2つの座標P(q1)およびP(q8)に従い、デ
ータテーブル107の表示位置706の値を更新し、更
新された表示位置を含むデータテーブル107の各値に
基づき、以下の手順により図形を描画パネル251に表
示する。尚、データテーブル107の表示位置の変数名
X1,Y1の値は上記始点の座標P(q1)の値を、変
数名X2,Y2の値は上記終点の座標P(q8)の値を
それぞれ示す。
【0036】次に、ステップ632において、その他の
点q2乃至q7の座標(P(q2)〜P(q7))を、
始点、終点の座標P(q1)、P(q8)及びデータテ
ーブル107に設定されている縁の幅(size)を用
いて次式(1)のように求める。
【0037】 「 P(q2).h = P(q8).h, P(q2).v = P(q1).v, P(q3).h = P(q1).h + Px, P(q3).v = P(q1).v + Py, P(q4).h = P(q8).h − Px, P(q4).v = P(q1).v + Py, P(q5).h = P(q1).h + Px, P(q5).v = P(q8).v − Py, P(q6).h = P(q8).h − Px, P(q6).v = P(q8).v − Py, P(q7).h = P(q1).h, P(q7).v = P(q8).v 」………………(1) ここで、Px,Pyは描画方法選択パネルで設定され、
データテーブル107に格納されている縁の幅の水平お
よび垂直方向の値を示す。
【0038】次いで、ステップ633において、点q1
からq8までの各々についてディスプレイ面に垂直方向
の座標(W(q1)からW(q8))を次式(2)のよ
うに設定する。
【0039】 「 W(q1).h = 0, W(q2).h = 0, W(q7).h = 0, W(q8).h = 0, W(q3).h = D, W(q4).h = D, W(q5).h = D, W(q6).h = D, 」 …………………(2) ここで、Dは描画方法選択パネルで設定され、データテ
ーブル107に格納されている厚み加算値を示す。従っ
て、この例では、領域625がディスプレイ面より一律
にDだけ高くなっている(浮いている)ものとする。
【0040】次に、該図形を立体的に表示するための各
領域f1〜f5の表示色の輝度を求めるために、以下の
ステップを行う。先ずステップ634 において、領域
f1〜f5の各々について法線ベクトルを求める。例え
ば、領域f1においては、該領域を規定する3次元空間
の4点 「 (P(q1).h, P(q1).v, W(q1)), (P(q2).h, P(q2).v, W(q2)), (P(q3).h, P(q3).v, W(q3)), (P(q4).h, P(q4).v, W(q4)) 」…………(3) が含まれる平面を示す方程式を求め、該方程式の係数か
ら平面に垂直なベクトル(法線ベクトル)V(f1)を
計算する。同様に、領域f2からf5までの各々につい
てそれぞれ法線ベクトルV(f2)〜V(f5)を求め
る。
【0041】次いで、ステップ635において、領域f
1〜f5の法線ベクトル(V(f1)〜V(f5))の
各々と、描画方法選択パネルで設定されデータテーブル
107に格納されている光源方向との成す角度E1〜E
5を求める。求めた角度E1〜E5から、対応する各領
域f1〜f5の描画色の輝度を求め、ステップ636に
おいて、描画方法選択パネルで設定されデータテーブル
107に格納されている基本色と該求めた輝度に基づき
各領域を描画する。上記ステップ635の詳細について
は図7、8を用いて後述する。
【0042】次に、図5に示すフローチャートに従っ
て、プログラム起動時に初期化されたデータテーブル1
07の各設定値701〜705の値をユーザが変更する
場合の処理の一例について説明する。ユーザがポインテ
ィングデバイス102によって描画方法選択パネル26
1を選択し、該描画方法選択パネル261内の任意のパ
ネルを選択した場合、以下の処理に従って該選択された
パネルに関する処理が以下のように行われる。
【0043】先ず、ステップ301において、ポィンテ
ィングデバイス102のカーソルが、縁の幅設定パネル
401の上にあるかどうか判定され、縁の幅設定パネル
の上にあると判定されると、図6で詳述する縁の幅設定
ルーチン302が実行される。ルーチン302では、描
画図形の縁の幅を設定し、設定された縁の幅の水平及び
垂直方向成分をそれぞれデータテーブル107の変数名
PxおよびPyに対応する値の欄に格納し、処理を終え
る。
【0044】次に、ステップ303において、カーソル
が基本色選択パネル402の上にあるかどうか判定され
る。基本色選択パネルの上にあると判定されると、ステ
ップ304において基本色選択パネルのうちから描画の
基本となる色を選択する。すると、該選択された表示色
の赤、緑、青成分の値をそれぞれデータテーブル107
の変数名「COL.R」、「COL.G」、「COL.
B」に対応する値の欄に格納し、処理を終える。
【0045】例えば、赤、緑、青の描画色解像度がそれ
ぞれ256階調のディスプレイで表示を行う場合に、該
基本色選択パネルから赤色が選択された場合、変数名
「COL.R」、「COL.G」、「COL.B」に
は、それぞれ値「255」、「0」、「0」が格納され
る。また、灰色が選択された場合、「COL.R」、
「COL.G」、「COL.B」にそれぞれ値「12
8」、「128」、「128」が格納される。
【0046】次に、ステップ305において、カーソル
が図形選択パネル403の上にあるかどうか判定され
る。図形選択パネルの上にあると判定されると、ステッ
プ306 において例えば楕円枠403−5、楕円塗り
つぶし403−2、長方形枠403−4、長方形塗りつ
ぶし403−1、直線403−3といった図形の中から
描画する図形を選択し、該選択された図形に割り当てら
れた番号をデータテーブル107の変数名FEAに対応
する値の欄に格納し、処理を終える。ここでは、長方形
塗りつぶし403−1が選択され、その値「1」が格納
されている。
【0047】次に、ステップ307において、カーソル
が光源方向設定パネル404の上にあるかどうか判定さ
れる。光源方向設定パネルの上にあると判定されると、
ステップ308において光源の水平(x軸)、垂直(z
軸)、奥行(y軸)方向の成分を設定し、それぞれデー
タテーブル107の変数名Lx、Ly、Lzに対応する
値の欄に格納し、処理を終える。
【0048】描画した図形が浮き上がってみえるように
するためには、表示面において左上から右下(もしくは
左下から右上)方向に向かって光が照らされるように設
定する。逆に、沈んで見えるようにするためには、右下
から左上(もしくは右上から左下)に向かって光が照ら
されるように設定する。即ち、例えば、表示面において
左上から右下に向かって光が照らされるように設定する
場合は、図1のパネル404内に示すように光源からの
光の照射方向のx、y、z方向成分を設定する。この場
合の光の照射方向を図2に示す。
【0049】次に、ステップ309において、カーソル
が厚み加算値設定パネル(405)の上にあるかどうか
判定される。厚み加算値設定パネルの上にあると判定さ
れると、ステップ310において描画する図形の厚さ
(高さ)を設定し、データテーブル107の変数名Dに
対応する値の欄に格納し、処理を終える。光源方向を固
定する場合、描画した図形が浮き上がってみえるように
するためには、Dを正の値に設定し、逆に、沈んで見え
るようにするためには、Dを負の値に設定する。
【0050】次に、図6に従って、図5の処理で用いら
れる縁の幅設定ルーチン(ステップ302)について説
明する。先ず、ステップ801において、ポインティン
グデバイス102のカーソルが領域401−1の上にあ
るかどうか判定される。縁の幅を既に設定済みの場合
は、カーソルを該領域の上の所望の位置に置く。従っ
て、カーソルが領域401−1の上にあると判定される
と、ステップ802において、上記領域401−1の、
例えば左上隅を原点とするカーソルの水平および垂直方
向の座標Px、Pyを読みだし、その値をデータテーブ
ル107の変数名Px、Pyに対応する値の欄に格納す
る。
【0051】次に、縁の幅をこれから設定する場合は、
順次カーソルを領域401−2〜401−6のいずれか
に置いていく。先ず、ステップ803においてカーソル
が領域401−2の上にあるかどか判定される。領域4
01−2の上にあると判定された場合、ステップ804
において、Pyが「2」以上の場合には、値Pyをカウ
ントダウンし、該カウントダウンされた値Pyをデータ
テーブル107の変数名Pyに対応する値の欄に格納す
る。
【0052】ステップ805において、カーソルが40
1−3の上にあるかどうか判定される。領域401−3
の上にあると判定された場合、ステップ806におい
て、値Pxをカウントアップし、該カウントアップされ
た値Pxをデータテーブル107の変数名Pxに対応す
る値の欄に格納する。
【0053】ステップ807において、カーソルが40
1−4の上にあるかどうか判定される。領域401−4
の上にあると判定された場合、ステップ808において
値Pyをカウントアップし、カウントアップされた値P
yをデータテーブル107の変数名Pyに対応する値の
欄に格納する。
【0054】ステップ809において、カーソルが40
1−5の上にあるかどうか判定される。領域401−5
の上にあると判定された場合、ステップ810におい
て、値Pxが「2」以上の場合には、値Pxをカウント
ダウンし、該カウントダウンされた値Pxをデータテー
ブル107の変数名Pxに対応する値の欄に格納する。
【0055】ステップ811において、カーソルが40
1−6の上にあるかどうか判定される。領域401−6
の上にあると判定された場合、ステップ821において
Px=Pyかどうか判定される。Px=Pyの場合に
は、ステップ822において、値Px、Pyをそれぞれ
カウントアップし、そうでない場合には、ステップ82
3において、Px、Pyにそれぞれ「1」を代入し、得
られた値Px、Pyをデータテーブル107の変数名P
x、Pyに対応する値の欄にそれぞれ格納する。
【0056】次に、図7、図8を用いて、図4のステッ
プ635で行われる描画色計算ルーチンについて説明す
る。ここでは、各領域f1〜f5について、その面の法
線ベクトルと光源からの光の入射(照射)方向(光源方
向)のベクトルとを比較して、各領域面について描画色
の輝度の係数を求める。次いで、各領域について、デー
タテーブル107の色情報702(702−1〜702
−3)に示される各基本色の値と該得られた係数を掛け
合わせることにより、該領域での各基本色の輝度を得
る。
【0057】図7において、771は光源方向ベクトル
L(Lx,Ly,Lz)、772は描画する多角形領域
(ここでは三角形で示す)、773は該多角形の法線ベ
クトルV(Vx,Vy,Vz)を示す。まず、ベクトル
LとベクトルVの成す角度Eを計算する。
【0058】図8に示すように、角度Eと輝度の係数F
(F≦1)との関係を予め求めて、例えばテーブル10
8としてメモリ100にストアしておく。このテーブル
に基づき、得られた角度Eから輝度の係数Fを得る。次
に、描画方法選択パネル内の色選択パネル402より選
ばれた基本色の赤、緑、青成分「COL.R」、「CO
L.G」、「COL.B」に対応する各値sにそれぞれ
得られた係数Fを乗算し、各色成分の輝度を求める。こ
うして得られた各色成分の輝度に基づき、該領域を描画
する(ステップ636)。同様にして、全ての領域f1
〜f5について上記処理を行って各領域を描画する。こ
のようにすることで、描画図形を立体的に描画できる。
【0059】このように、本実施例においては、描画図
形の描画位置と大きさを指定し、該描画図形内の厚みを
もった領域の厚み(高さ)を指定し、更に、該描画図形
への光源の照射(入射)方向を指定することで、該描画
図形を立体的に描画でき、従って、簡単な作業で容易に
描画図形を立体的に表示できる。
【0060】尚、複数の図形を重ねて描く場合には、上
記処理に続けて新たな図形の描画処理を図4の処理に従
い行うことで行え、その場合最初に描いた図形の新たな
図形と重複する部分は消去される。
【0061】次に、既に描画された図形の上に新たな図
形を重ね書き可能にした本発明の他の実施例について述
べる。本実施例の構成は、図1に示した第1実施例にお
いて、そのメモリ100内に更に厚み(高さ)カウンタ
テーブル750(図11)を設けたものである。本実施
例は、描画パネル(図1の251)の例えば各ピクセル
に1対1に対応した厚みカウンタを備えた厚みカウンタ
テーブル750を設け、図形を描画する毎に該カウンタ
をカウントアップし、疑似的な3次元表示を行う。この
ことにより、すでに描画された図形の上に新たな図形を
上書きするときに、重ね書きした(すでに描画した図形
の表面上に新たな図形を描いた)効果が得られるので、
厚みを持った質感のある図形を描画することができる。
【0062】本実施例の描画動作を図10のフローチャ
ートを用いて以下に説明する。プログラム起動時等で新
規に描画を開始する際、描画パネル(図1の251)の
全領域を白で塗りつぶす。ユーザがポインティングデバ
イス102により描画パネル251を選択した場合、図
10に示す手順で図形が描画される。
【0063】厚みカウンタテーブル750は、描画パネ
ル251の表示面の、例えば全画素(ピクセル)に対応
したカウンタ(ソフトカウンタ)のカウント値を示し、
該カウント値は対応する画素の厚み(高さ)を示してい
る。即ち、図11、図12に示すように、厚みカウンタ
テーブル750は描画パネル251の表示面の全画素に
対応したカウンタのカウント値を示している。
【0064】例えば、図9の描画図形をi方向(水平方
向:X軸方向)に16画素で表示し、j方向(垂直方
向:Y軸方向)に20画素で表示し、領域f4(67
4)を所定の高さ(例えば厚み「4」)だけ厚く描画
し、他の領域f1〜f4(671〜674)をその外側
周縁部から領域f5に向かって傾斜させた場合、各カウ
ンタのカウント値は図12のようになる。
【0065】各カウンタのカウント値は、新規に(最初
に)描画が開始されるとき、全て0にリセットされる。
本実施例では、最初に描画された図形の上に別の図形を
上書きする際、または2度目以降に図形を描画する際、
厚みカウンタのカウント値をリセットせず、現カウント
値に新たに描画する図形の厚みに応じたカウント値を加
算(カウントアップ)するようにし、カウンタのカウン
ト値が描画された複数の図形の加算された厚みを示すよ
うにしたものである。
【0066】以下、図10のフローチャートに従って本
実施例の描画方法を説明する。図10のフローチャート
は、図形選択パネル403で、例えば図形403−1を
選択し、何も描かれていない描画パネルの領域に、図9
に示す該選択された長方形の図形が入力されたときの描
画例である。尚、以下に説明する点(座標)は全て画素
(ピクセル)に1対1に対応しているものとする。
【0067】先ず、ユーザは、図4のステップ631と
同様に、ステップ681において、描画領域を規定する
ために点q1およびq8を入力する。従って、この2つ
の点q1、q8を結ぶ線分を対角線とする長方形を下底
とし、この長方形の内部の長方形f5が上底となるよう
な台形状の図形が立体的に描画されるように以下の手順
により描画が行われる。
【0068】ステップ681において、このように点q
1およびq8が入力されると、ステップ682におい
て、ステップ632と同様に、点q2からq7までの座
標を計算し、上記式(1)に示すと同様に点q2〜q7
の水平、垂直座標を得る。ここで、上記実施例と同様
に、例えば、「P(q2).h」、「P(q2).v」
は点q2の水平および垂直座標を示す。また、Px、P
yは、描画方法選択パネルで設定され、データテーブル
に格納されている縁の幅の水平および垂直方向の値を示
す。
【0069】 「 P(q2).h = P(q8).h, P(q2).v = P(q1).v, P(q3).h = P(q1).h + Px, P(q3).v = P(q1).v + Py, P(q4).h = P(q8).h − Px, P(q4).v = P(q1).v + Py, P(q5).h = P(q1).h + Px, P(q5).v = P(q8).v − Py, P(q6).h = P(q8).h − Px, P(q6).v = P(q8).v − Py, P(q7).h = P(q1).h, P(q7).v = P(q8).v 」………………(4) 次に、ステップ683において、領域f1からf5まで
を以下のように定義する。 領域f1:点q1、q2、q3、q4に囲まれた四角
形、 領域f2:点q2、q4、q6、q8に囲まれた四角
形、 領域f3:点q5、q6、q8、q7に囲まれた四角
形、 領域f4:点q1、q3、q5、q7に囲まれた四角
形、 領域f5:点q3、q4、q6、q5に囲まれた四角
形。
【0070】次いで、ステップ684において、厚みカ
ウンタテーブル750の各カウント値Z(i,j)(該
座標(i,j)のZ軸方向の座標を示す)を以下のよう
にカウントアップする。ここでは、描画パネル251の
画素毎にカウンタを設けているものとし、該描画パネル
251の水平方向(X軸方向)の座標(即ち、画素番
号)をiとし、垂直方向(Y軸方向)の座標(即ち、画
素番号)をjとする。また、座標(画素)(i,j)に
対応するカウンタのカウント値をZ(i,j)とする。
これにより、各領域671(f1)〜675(f5)で
の座標(画素)(i,j)のカウント値Z(i,j)
は、以下の計算式で求まる。
【0071】尚、Z0(i,j)は座標(画素)(i,
j)に対応するカウンタの初期カウント値(現カウント
値)、即ち、新たな描画以前のカウント値を示す。ま
た、Dは、データテーブルに格納されている厚み加算値
であり、領域675(f5)の周縁部からの厚さ(高
さ)を示す。
【0072】領域671内のZ(i,j): Z(i,j)=Z0(i,j)+ {(j−P(q1).v)/P(q3).v−P(q1).v)}D …(5) 領域672内のZ(i,j): Z(i,j)=Z0(i,j)+ {(P(q2).h−i)/(P(q2).h−P(q4).h)}D …(6) 領域673 内のZ(i,j): Z(i,j)=Z0(i,j)+ {(P(q1).v−j)/(P(q7).v−P(q5).v)}D …(7) 領域674内のZ(i,j): Z(i,j)=Z0(i,j)+ {(i−P(q1).v)/(P(q3).h−P(q1).h)}D …(8) 領域675内のZ(i,j): Z(i,j)=Z0(i,j)+D …(9) 例えば、領域671(f1)内の各座標(i,j)のカ
ウント値Z(i,j)は、式(5)で定義されるように
以下のようして決まっている。即ち、領域671はj方
向に傾斜しているため、その高さはi方向では一定で、
j方向で増加する。
【0073】従って、領域671の任意の座標(i,
j)のカウント値(Z軸座標)は、該座標と点q1との
j方向の差(j−P(q1).v)と、該領域のj方向
の傾斜D/(P(q3).v−P(q1).v)との積
に、その初期カウント値Z0(i,j)を加算したもの
となる。領域671(f1)内の各座標(i,j)のカ
ウント値Z(i,j)は、式(5)で定義され、同様
に、他の領域672〜674(f2〜f4)のカウント
値も、式(6)〜(8)で定義される。
【0074】領域675のカウント値Z(i,j)は、
式(9)に示すように初期カウント値Z0(i,j)に
Dを加算したものである。このようにして、描画領域
(671〜675)の全ての点(座標)についてカウン
ト値(Z軸方向の座標)を求める。
【0075】次に、ステップ685において、描画領域
(領域671〜675)、即ち、「P(q1).h≦i
≦P(q2).h」、かつ、「P(q1).v≦j≦P
(q7).v」を満たす領域を、少なくとも3つの点を
頂点とする多角形(ここでは、隣接する3点を頂点とす
る三角形)に区分し、各三角形の法線ベクトルを求め
る。例えば、該描画領域の全ての点(i,j)につい
て、それが頂点となるよう三角形に区分する。即ち、各
点のX、Y、Z座標を(i,j,Z(i,j))と表し
た場合、図13の示すように、隣接する任意の3点
(i,j,Z(i,j))、(i−1、j,Z(i−
1,j))、(i,j−1,Z(i,j−1))で1つ
の三角形801を作り、同様にして隣接する3点で他の
三角形800、802、803等を作成する。このよう
に、描画領域すべてについて三角形に区分したのち、ス
テップ634と同様にして、ステップ686において、
これら全ての三角形についてその面に垂直な法線ベクト
ルを求める。
【0076】次に、ステップ686において、ステップ
635と同様にして、該求めた法線ベクトルとデータテ
ーブル107にストアされている光源の入射方向から、
各三角形について各基本色の輝度を求め、ステップ68
7で、ステップ636と同様にして各三角形を描画す
る。こうして、図9に示すように描画領域に図形が立体
的に表示される。
【0077】次に、図14に従って、すでに描画された
図形の上に新たな図形を重ね書きする場合について述べ
る。新たな図形を重ね書きする場合の計算機内の処理手
順は、図10に示したものと同じである。図14の
(A)において、1301は以前に描画された図形13
02は、新たに重ね書きされた図形を示す。図14の
(B)の折れ線1304は、図14の(A)の座標(画
素)1312から1319までを結ぶ線分上の各座標で
の厚みカウンタのカウント値を示す。図14の(A)に
示すように、本実施例によれば、2つの図形が重なって
いる領域においては、新たに描画された図形は、以前に
描画された図形の上面上に重なっているように表示され
る。
【0078】次に、本発明の第3実施例として、集積回
路(IC)の設計時における配線パターンの描画に本発
明の第1実施例を適用した例について説明する。本実施
例においては、厚み方向の表現(立体的表示)を配線パ
ターンの各層について施し、各配線を立体的に表示する
ことにより、図15の1440に示すような多層配線の
配線パターンを描画し出力することができる。
【0079】図15は、本実施例における計算機システ
ムの構成を示す。図中、図2の構成要素と同一機能を有
するものは同一符号を付しその説明を省略する。図15
において、1499は、プログラムあるいはデータ用の
メモリ、1434は、IC設計のための論理回路データ
やトランジスタ等のレイアウトデータといったIC配線
設計データを記憶した外部記憶装置を示す。また、14
40は、これらの出力装置に出力される本発明によるI
C配線の出力結果例を示す。本実施例においても図1の
実施例と同様に、メモリ1499は、図示していない
が、データテーブル107、図形入力ルーチン105、
描画方法選択ルーチン106、マップ108を有する。
【0080】次に、本実施例の図形描画動作を説明す
る。先ず、IC配線設計データが記憶されている外部記
憶装置1434より計算機内部のメモリ1499に該I
C配線設計データ1410を読み込む。該読み込まれた
IC配線設計データ1410は、データ変換ルーチン1
402においてリンクデータおよびノードデータに変換
され、リンクデータテーブル1420、ノードデータテ
ーブル1421にストアされる。
【0081】リンクデータは、配線データの始点の水平
および垂直座標(X1,Y1)、終点の水平および垂直
座標(X2,Y2)、および配線される層番号(z)よ
り成る。ノードデータは、上記リンクデータの始点や終
点に配置されるノードの座標(X,Y)、水平、垂直方
向の幅(大きさ)(dx,dy)および位置する層番号
(z)より成る。
【0082】描画ルーチン1403において、リンクデ
ータ(又はリンクデータおよびノードデータ)を用い
て、1440に示すように配線データをディスプレイ1
01、プリンタ111、ビデオ装置112などの外部装
置に出力する。本実施例によれば、複数の層の配線が上
書きされ、かつ各層の配線が立体的に描画されるため、
1473に示すように異なる層の配線1472と147
1が、それぞれ上部と下部の層であることが一目でわか
る。
【0083】次に、本実施例における配線パターンの描
画方法を図16に示すフローチャートを用いて説明す
る。この描画方法はメモリ1499内の描画ルーチン1
403に従って実行される。本実施例では、配線パター
ンにノードが含まれず、従ってリンクデータとノードデ
ータのうち、リンクデータのみを用いて描画する場合に
ついて説明する。
【0084】本実施例においては、描画する配線パター
ンの全リンク数R(図15のリンクデータテーブル14
20のリンク番号は「1」〜「6」であり、この例では
Rは「6」)をカウントするカウンタRと、描画する配
線層の番号Ln(図15のリンクデータテーブル142
0のZの値であり、この場合は2層であるから、Lnは
「1」と「2」)をカウントするカウンタLnと、処理
対象のリンク番号iをカウントするカウンタi(図示せ
ず)をそれぞれソフトウエアカウンタとしてメモリ14
99に設ける。
【0085】先ず、ステップ1501においてカウンタ
Rの値として全リンク数R、ここでは「6」をセットす
る。ステップ1502では、カウンタLnの値として最
下層の配線層番号である「1」をセットする(最下層の
配線層の描画を最初に行うので)。ステップ1503に
おいて、カウンタiにリンクデータ番号として初期値0
をセットする。次に、ステップ1504において、カウ
ンタiのリンクデータ番号iを1だけカウントアップす
る。この場合はiを「1」とする。
【0086】最初にリンク番号「1」についてのリンク
データを処理するので、次に、ステップ1505におい
て、i番目(この場合はリンク番号「1」)のリンクデ
ータ(X1,Y1,X2,Y2,Z)を読み込む。ステ
ップ1506において、ZがLnと等しいかどうか判定
する(この場合は、リンク番号「1」の層番号が「1」
かどうかを判定する)。ZがLnと等しい場合には、該
リンクデータの処理を行うので、ステップ1508にお
いてRを1だけカウントダウンする。この場合は、リン
ク番号「1」の層番号は「1」であるので、ステップ1
508に進み、カウンタRの値を5とする。ZがLnと
等しくない場合には、ステップ1504に戻り、次のリ
ンク番号のリンクデータの処理に移る。
【0087】ステップ1508の処理が終わると、ステ
ップ1550において、リンクデータの始点もしくは終
点が配線の分岐点(端点および複数の配線が交差する
点)であるかどうか判定する。リンクデータの始点もし
くは終点が配線の分岐点であると判定されると、後述す
る図17に示す特殊処理をステップ1511において行
う。リンクデータの始点もしくは終点が配線の分岐点で
ないと判定されると、ステップ1512において第1実
施例の図4と同様の処理で該リンク番号iのリンクデー
タの描画処理(立体的な描画)を行う。
【0088】次に、ステップ1509において、iがデ
ータの個数(ここでは、リンクデータの数は「6」)と
等しいかどうか判定する。等しくない場合は、ステップ
1504に戻る。この場合は、リンク番号iは「1」で
あるので、ステップ1504に戻り、次のリンク番号
[2]の処理に移り、同様にステップ1504〜151
2を行う。
【0089】このように、リンク番号「1」〜「6」の
全てについてステップ1504〜1512を行い、第1
層の描画処理を行う(即ち、リンク番号「1」、
「2」、「5」のリンクデータについて第1層の描画処
理を行う)。
【0090】iがデータの個数(ここでは「6」)と等
しい(即ち、カウンタLnの示す層番号Lnの層の全て
のリンクデータの描画処理を終了)と判定されると、ス
テップ1514に進み、カウンタiをリセットし、値を
「0」とする。ついで、ステップ1515において、次
の層番号の層(ここでは2番目の層)の描画処理を行う
べくカウンタLnの値Lnを1だけカウントアップす
る。
【0091】次いで、ステップ1516において、カウ
ンタRの値Rが「0」かどうか判定し、「0」でなけれ
ばステップ1504に戻り、次の層の描画処理を行う。
Rが「0」であれば、全ての層の描画処理を終了してい
るので、描画ルーチン1403を終了する。
【0092】次に、図17を参照して、ステップ151
1におけるリンクデータの端点および複数の配線が交差
する点における立体表示の特殊処理について述べる。ま
ず、図17の(A)に従って、リンクデータが端点とな
る場合について述べる。点1601は、リンクデータの
始点(X1,Y1)もしくは終点(X2,Y2)を示
す。図17の(A)における1602、1603、16
04、1605の各点を以下のように求める。
【0093】ここで、P(1602)は、点1602の
水平座標(P(1602).h)および垂直座標(P
(1602).v)を示し、Gは配線幅を示す。また、
ここでは、点q1とq2の間、点q1とq3の間の水平
及び垂直方向の距離を「G/6」とし、点q1とq5の
間、点q1とq4の間の水平及び垂直方向の距離を「G
/2」とする。
【0094】 「 P(q2).h = P(q1).h + G/6, P(q2).v = P(q1).v − G/6, P(q3).h = P(q1).h − G/6, P(q3).v = P(q1).v − G/6, P(q4).h = P(q1).h − G/2, P(q4).v = P(q1).v − G/2, P(q5).h = P(q1).h + G/2, P(q5).v = P(q1).v − G/2 」………(10) 次に、点q2からq5のディスプレイに垂直方向の座標
(W(q2)からW(q5))を、図5と同様な方法
で、以下のように設定する。ここで、Dは立体的に表示
された配線の厚みを示す。
【0095】 W(q2) = W(q3) = D …………………………(11) W(q4) = W(q5) = 0 …………………………(12) 次に、領域f1、f2、f3、f4の法線ベクトルを求
め、図5と同様の方法で描画色を計算する。例えば、領
域f1では、 「 (P(q2).h, P(q2).v, W(q2)), (P(q3).h, P(q3).v, W(q3)), (P(q4).h, P(q4).v, W(q4)), (P(q5).h, P(q5).v, W(q5)) 」………(13) の4点が含まれる平面を示す方程式を求め、該方程式の
係数から平面に垂直なベクトルV(f1)を計算する。
同様に、領域f2からf4について、V(f2)からV
(f4)を求める。
【0096】次に、図17の(B)に従って、リンクデ
ータが直角に折れ曲がる場合について述べる。点q1
は、リンクデータの点(X1,Y1)もしくは(X2,
Y2)を示す。q2、q3、q4、q5の各点を、以下
のように求める。ここで、P(q2)は点q2の水平座
標(P(q2).h)および垂直座標(P(q2).
v)を示し、Gは配線幅を示す。また、ここでは、点q
1とq2の間、点q1とq3の間の水平及び垂直方向の
距離を「G/6」とし、点q1とq5の間、点q1とq
4の間の水平及び垂直方向の距離を「G/2」とする。
【0097】 「 P(q2).h = P(q1).h + G / 6, P(q2).v = P(q1).v + G / 6, P(q3).h = P(q1).h − G / 6, P(q3).v = P(q1).v − G / 6, P(q4).h = P(q1).h + G / 2, P(q4).v = P(q1).v + G / 2, P(q5).h = P(q1).h − G / 2, P(q5).v = P(q1).v − G / 2 」………(14) 次に、点q2からq5のディスプレイに垂直方向の座標
を図17の(A)と同様に設定し、領域f1、f2、f
3、f4、f5の法線ベクトルを求め、図4と同様の方
法で描画色を計算する。
【0098】次に、図17の(C)に従って、3つのリ
ンクデータが直角に交差する場合について述べる。点q
1はリンクデータの点(X1,Y1)もしくは(X2,
Y2)を示す。q2、q3、q4、q5の各点を以下の
ように求める。ここで、P(q2)は点q2の水平座標
(P(q2).h)および垂直座標(P(q2).v)
を示し、Gは配線幅を示す。また、ここでは、点q1と
q2の間、点q1とq3の間の水平及び垂直方向の距離
を「G/6」とし、点q1とq5の間、点q1とq4の
間の水平及び垂直方向の距離を「G/2」とする。
【0099】 「 P(q2).h = P(q1).h + G / 6, P(q2).v = P(q1).v + G / 6, P(q3).h = P(q1).h + G / 6, P(q3).v = P(q1).v − G / 6, P(q4).h = P(q1).h + G / 2, P(q4).v = P(q1).v − G / 2, P(q5).h = P(q1).h + G / 2, P(q5).v = P(q1).v + G / 2 」………(15) 次に、点q2からq5のディスプレイに垂直方向の座標
を図17の(A)と同様に設定し、領域f1、f2、f
3、f4、f5、f6の法線ベクトルを求め、図4と同
様の方法で描画色を計算する。
【0100】次に、図17の(D)に従って、リンクデ
ータが十字に交差する場合について述べる。点q1はリ
ンクデータ(1420)の点(X1,Y1)もしくは
(X2,Y2)を示す。q2、q3、q4、q5、q
6、q7、q8、q9の各点を以下のように求める。
【0101】ここで、P(q2)は点q2の水平座標
(P(q2).h)および垂直座標(P(q2).v)
を示し、Gは配線幅を示す。また、ここでは、点q1と
q2の間、点q1とq3の間、点q1とq5の間、点q
1とq4の間の水平及び垂直方向の距離をG/6とし、
点q1とq6の間、点q1とq7の間、点q1とq8の
間、点q1とq9の間の水平及び垂直方向の距離を「G
/2」とする。
【0102】 「 P(q2).h = P(q1).h − G/6, P(q2).v = P(q1).v − G/6, P(q3).h = P(q1).h + G/6, P(q3).v = P(q1).v − G/6, P(q4).h = P(q1).h + G/6, P(q4).v = P(q1).v + G/6, P(q5).h = P(q1).h − G/6, P(q5).v = P(q1).v + G/6, P(q6).h = P(q1).h − G/2, P(q6).v = P(q1).v − G/2, P(q7).h = P(q1).h + G/2, P(q7).v = P(q1).v − G/2, P(q8).h = P(q1).h + G/2, P(q8).v = P(q1).v + G/2, P(q9).h = P(q1).h − G/2, P(q9).v = P(q1).v + G/2, 」………(16) 次に、点q2からq9のディスプレイに垂直方向の座標
を図17の(A)同様に設定し、領域f1、f2、f
3、f4、f5、f6、f7、f8、f9の法線ベクト
ルを求め、図4と同様の方法で描画色を計算する。
【0103】このように、本実施例によれば、表示面に
複数の図形を重ねて描く際に、各図形を立体的に描画す
ると共に、新たな図形が以前に描画された図形の上に描
画され、以前の描画された図形のうち重なった部分は消
去されるため、これらの図形を互いに容易に識別しうる
もので、集積回路の配線パターンにおいては、多層配線
の層数が多くてもの各層が互いに容易に識別できる。
【0104】また、本実施例では、IC配線設計データ
のうち、リンクデータのみを用いて多層配線パターンを
描画処理する例を説明したが、配線パターにノードが含
まれたいる場合はリンクデータとノードデータを用いて
同様に描画処理できる。
【0105】
【発明の効果】以上の説明から明らかなように、本発明
によれば、重ねて描画された回数に応じて厚みが増し、
光源の方向により明暗を付けて表示できるので、従来の
図形入力作業と同じ手順で、実際の絵のように厚みの質
感を表現することができる。
【図面の簡単な説明】
【図1】本発明の図形描画方法の1実施例の構成を示す
ブロック図。
【図2】図1の光源方向設定パネルにおける光源方向設
定方法を説明するための図。
【図3】図1の実施例における図形描画方法を説明する
ための描画図形の一例を示す図。
【図4】図1の実施例における図形描画方法の一例を説
明するためのフローチャート。
【図5】図1の実施例における描画方法選択ルーチンの
一例を説明するためのフローチャート。
【図6】図1の実施例における描画方法選択ルーチン内
の縁の幅選択ルーチンの一例を説明するためのフローチ
ャート。
【図7】図1の実施例における描画領域の輝度を求める
ために領域の法線ベクトルと光源の方向とのなす角度を
求める方法を説明する図。
【図8】図7で求めた角度と描画領域の輝度との関係の
一例を示す図。
【図9】本発明の図形描画方法の他の実施例における図
形描画方法を説明するための描画図形の一例を示す図。
【図10】上記他の実施例における図形描画方法の一例
を説明するためのフローチャート。
【図11】上記他の実施例において用いられる厚み(高
さ)カウンタテーブルの1例を示す図。
【図12】図9の図形を描画した場合の厚みカウンタテ
ーブルの例を示す図。
【図13】上記他の実施例において、描画色の輝度を求
めるために描画領域を三角形sに区分する方法を説明す
るための図。
【図14】上記他の実施例において、2つの図形を重ね
て描画した場合の描画図形の一例及びその場合のカウン
タテーブルのカウント値sの例を示す図。
【図15】本発明の図形描画方法の更に別の実施例の構
成を示すブロック図。
【図16】本発明の更に他の実施例における図形描画方
法の一例を説明するためのフローチャート。
【図17】上記更に他の実施例における種々の配線パタ
ーンの描画方法を説明するための図。
【図18】それぞれ従来の図形描画方法を説明するため
の図。
【図19】従来の図形描画方法を説明するための図。

Claims (24)

    【特許請求の範囲】
  1. 【請求項1】(a)電子計算機に接続され、少なくとも
    1つのスイッチを備えたポインティングデバイスを用い
    て、表示面上における描画すべき図形の描画位置及び大
    きさを指定し、 (b)上記ポインティングデバイスを用いて、上記描画
    すべき図形の縁部から該描画すべき図形の所定の領域の
    該表示面に垂直な方向の高さを指定し、 (c)上記ポインティングデバイスを用いて、上記描画
    すべき図形に照射される光の方向を指定し、 (d)上記指定された高さと光の方向に基づき、上記描
    画すべき図形の分割された各領域sの輝度を求め、 (e)上記求めた輝度で上記各分割された領域を表示す
    ることによって、図形を立体的に表示することを特徴と
    する図形描画方法。
  2. 【請求項2】前記ステップ(d)が、前記各領域につい
    て、上記領域の面に垂直な法線ベクトルを求める第1ス
    テップと、上記第1ステップで求めた法線ベクトルと前
    記光の方向のベクトルとのなす角度を求める第2ステッ
    プと、上記第2ステップで求めた角度に基づき該領域の
    輝度を求める第3ステップとを有することを特徴とする
    請求項1に記載の図形描画方法。
  3. 【請求項3】法線ベクトルを求めるための前記第1ステ
    ップで、前記ステップ(a)、(b)において指定され
    た描画位置、大きさ及び高さに基づき、前記各領域にお
    ける3次元座標を求め、求めた3次元座標に基づき該領
    域の法線ベクトルを求めることを特徴とする請求項2に
    記載の図形描画方法。
  4. 【請求項4】前記ポインティングデバイスを用いて描画
    すべき図形の色を指定した場合に、 前記ステップ(e)において、上記指定された色によっ
    て、前記各分割された領域を表示することを特徴とする
    請求項1に記載の図形描画方法。
  5. 【請求項5】法線ベクトルを求めるための前記第1ステ
    ップにおいて、前記所定の領域が全て前記縁部から前記
    指定された高さを有し、描画されるべき図形のその他の
    領域が上記縁部から上記所定の領域に向かって傾斜して
    いるものとして、前記各領域における3次元座標を求め
    ることを特徴とする請求項3に記載の図形描画方法。
  6. 【請求項6】前記ステップ(a)〜(e)によって新た
    な図形を描画した場合、それ以前に描画された図形のう
    ち、上記新たな図形と重複する部分を消去することを特
    徴とする請求項1に記載の図形描画方法。
  7. 【請求項7】前記ステップ(a)〜(e)によって新た
    な図形を描画した場合に、それ以前に描画された図形と
    の重複部分の高さを、上記新たな図形と以前の描画図形
    との高さの和とすることを特徴とする請求項1に記載の
    図形描画方法。
  8. 【請求項8】(a)電子計算機に接続され、少なくとも
    1つのスイッチを備えたポインティングデバイスを用い
    て、表示面上における描画すべき図形の描画位置及び大
    きさを指定し、 (b)上記ポインティングデバイスを用いて、上記描画
    すべき図形の縁部から上記描画すべき図形の所定領域の
    表示面に垂直な方向の高さを指定し、 (c)上記ポインティングデバイスを用いて、上記描画
    すべき図形に照射される光の方向を指定し、 (d)上記指定された描画位置、大きさ及び高さに基づ
    き、上記描画すべき図形の各画素sの上記表示面上及び
    それに垂直な方向の3次元座標を求め、 (e)上記求めた座標と光の方向に基づいて、描画すべ
    き図形の分割された各領域の輝度を求め、 (f)上記求めた輝度で上記各分割された領域を表示す
    ることを特徴とする表示面上に図形を立体的に表示する
    ための図形描画方法。
  9. 【請求項9】前記ステップ(e)が、前記各領域につい
    て、前記求めた3次元座標に基づき上記領域の面に垂直
    な法線ベクトルを求める第1ステップと、上記第1ステ
    ップで求めた法線ベクトルと前記光の方向のベクトルと
    のなす角度を求める第2ステップと、上記第2ステップ
    で求めた角度に基づき上記領域の輝度を求める第3ステ
    ップとを有することを特徴とする請求項8に記載の図形
    描画方法。
  10. 【請求項10】前記分割された各領域が、描画すべき図
    形上の少なくとも3つの画素を結ぶ多角形であることを
    特徴とする請求項9に記載の図形描画方法。
  11. 【請求項11】前記ステップ(a)〜(f)により新た
    な図形を描画した場合に、前記ステップ(d)で、それ
    以前に描画された図形と上記新たな図形との重複部分に
    おける前記表示面垂直方向の座標を、上記重複部分にお
    ける上記新たな図形の上記表示面垂直方向の座標と、上
    記重複部分における以前の描画図形の上記表示面垂直方
    向の座標との和とすることを特徴とする請求項8に記載
    の図形描画方法。
  12. 【請求項12】(a)電子計算機に接続され、少なくと
    も1つのスイッチを備えたポインティングデバイスを用
    いて、表示面上における描画すべき図形の描画位置及び
    大きさを指定し、 (b)上記ポインティングデバイスを用いて、上記描画
    すべき図形の縁部を基準とした上記図形内の所定領域が
    もつべき表示面垂直方向の高さを指定し、 (c)上記ポインティングデバイスを用いて、上記描画
    すべき図形に照射すべき光の方向を指定し、 (d)上記指定された描画位置と大きさに基づいて、上
    記表示面上における上記描画図形の各画素の2次元座標
    を求め、 (e)上記指定された高さに基づいて、上記描画すべき
    図形の各画素の上記表示面に垂直方向の座標を計数し; (f)上記ステップ(d)、(e)で求めた座標と光の
    方向に基いて、上記描画すべき図形の各分割領域の輝度
    を求め、 (g)上記輝度で上記各分割領域を表示することを特徴
    とする表示面上に図形を立体的に表示する図形描画方
    法。
  13. 【請求項13】前記ステップ(f)は、上記各領域につ
    いて、前記3次元座標に基づき各領域の面に垂直な法線
    ベクトルを求める第1ステップと、上記第1ステップで
    求めた法線ベクトルと前記光の方向のベクトルとのなす
    角度を求める第2ステップと、上記第2ステップで求め
    た角度に基づき各領域の輝度を求める第3ステップとを
    有することを特徴とする請求項12に記載の図形描画方
    法。
  14. 【請求項14】前記分割された各領域は、描画すべき図
    形上の少なくとも3つの画素を結ぶ多角形であることを
    特徴とする請求項13に記載の図形描画方法。
  15. 【請求項15】前記ステップ(a)〜(g)により新た
    な図形を描画した場合、上記ステップ(e)は、上記新
    たな図形がそれ以前に描画された他の図形と重複する部
    分に対応する各カウンタの計数値を、上記他の図形の上
    記重複部分の計数値と上記新たな図形の該重複部分の計
    数値との和とすることを特徴とする請求項12に記載の
    図形描画方法。
  16. 【請求項16】(a)電子計算機に接続され、複数層の
    配線パターンについて配線パターンデータを記憶してい
    る記憶装置から配線パターンデータを読み出すステップ
    と、 (b)上記読み出された配線パターンデータから、上記
    複数層の各層の配線パターンを構成するリンクの各々に
    ついて、その始点、終点、及び表示面上の2次元座標、
    及び層の番号からなるリンクデータを取り出すステップ
    と、 (c)上記リンクデータに基づき各層の配線パターンを
    表示するステップとからなり、 上記ステップ(c)における1つの層の配線パターンの
    各リンクの表示が、 (c−1)電子計算機に接続され、少なくとも1つのス
    イッチを備えたポインティングデバイスを用いて、上記
    描画すべきリンクの縁部から該描画すべきリンクの所定
    の領域の該表示面に垂直な方向の高さを指定するステッ
    プと、 (c−2)上記ポインティングデバイスを用いて、上記
    描画すべきリンクに照射される光の方向を指定するステ
    ップと、 (c−3)上記指定された高さと光の方向に基づき、該
    描画すべきリンクの分割された各領域の輝度を求めるス
    テップと、 (c−4)上記輝度で上記各分割された領域を表示ステ
    ップとからなることを特徴とする複数層の配線パターン
    を立体的に表示する図形表示方法。
  17. 【請求項17】前記ステップ(c−3)は、前各領域に
    ついて、該領域の面に垂直な法線ベクトルを求める第1
    ステップと、上記第1ステップで求めた法線ベクトルと
    前記光の方向のベクトルとのなす角度を求める第2ステ
    ップと、上記第2ステップで求めた角度に基づき上記領
    域の輝度を求める第3ステップとを有することを特徴と
    する請求項16に記載の図形表示方法。
  18. 【請求項18】前記法線ベクトルを求めるための第1ス
    テップは、 前記ステップ(b)において読み出された2次元座標
    と、前記ステップ(c−1)により指定された高さとに
    基づき、前記各領域における3次元座標を求め、該3次
    元座標に基づき各領域の法線ベクトルを求めることを特
    徴とする請求項17に記載の図形表示方法。
  19. 【請求項19】前記ステップ(c)が、前記ポインティ
    ングデバイスを用いて、前記描画すべき図形の色を指定
    するステップを有し、 前記ステップ(c−4)で、上記指定された色を前記各
    分割領域に表示することを特徴とする請求項17に記載
    の図形表示方法。
  20. 【請求項20】前記法線ベクトルを求める第1ステップ
    で、前記所定の領域が全て前記縁部から上記指定された
    高さを有し、描画されるべき図形のその他の領域は上記
    縁部から上記所定の領域に向かって傾斜しているものと
    して、前記各領域における3次元座標を求めることを特
    徴とする請求項18に記載の図形表示方法。
  21. 【請求項21】前記ステップ(c)において、最下層の
    配線パターンを描画した後、該最下層より上の層の配線
    パターンを描画した時、該配線パターンとの重複部分に
    相当する上記最下層の配線パターンの一部を消去するこ
    とを特徴とする請求項18に記載の図形表示方法。
  22. 【請求項22】電子計算機に接続され、少なくとも1つ
    のボタンを備えたポインティングデバイスにより、平面
    図形の水平および垂直方向の描画位置と大きさを指定
    し、 予め指定された厚みと光源方向により、上記平面図形の
    描画色を各ピクセルについて計算し、 上記平面図形を厚みを持った立体状態に表示することを
    特徴とする図形描画方法。
  23. 【請求項23】図形の描画可能な全領域に、平面格子状
    に並んだ厚みカウンタを設け、 図形が入力される毎に、図形の描画領域の厚みカウンタ
    を加算または減算し、 図形の描画領域の直線上にない少なくとも3つの格子点
    より成る多角形の法線の方向と、指定した光源の方向と
    の成す角度より図形の表示色を決定することを特徴とす
    る請求項22記載の図形描画方法。
  24. 【請求項24】電子計算機に接続され、IC配線設計デ
    ータが記憶されている外部記憶装置から電子計算機内部
    のメモリに該データを読み込み、 上記データを、各配線データの始点および終点の水平お
    よび垂直座標および層番号からなるリンクデータと、該
    リンクデータの始点や終点に配置される回路素子の水平
    垂直座標、および水平、垂直方向の大きさより成るノー
    ドデータとに変換し、 上記リンクデータとノードデータとから、請求項23記
    載の表示方法を用いて、複数層の配線を立体的に表示す
    ることを特徴とする図形描画方法。
JP6221370A 1993-09-20 1994-09-16 図形描画方法 Pending JPH07152929A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6221370A JPH07152929A (ja) 1993-09-20 1994-09-16 図形描画方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP23282193 1993-09-20
JP5-232821 1993-09-20
JP6221370A JPH07152929A (ja) 1993-09-20 1994-09-16 図形描画方法

Publications (1)

Publication Number Publication Date
JPH07152929A true JPH07152929A (ja) 1995-06-16

Family

ID=26524257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6221370A Pending JPH07152929A (ja) 1993-09-20 1994-09-16 図形描画方法

Country Status (1)

Country Link
JP (1) JPH07152929A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006058530A (ja) * 2004-08-19 2006-03-02 Denso Corp 地図表示装置およびナビゲーション装置
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
JP4864972B2 (ja) * 2005-09-09 2012-02-01 マイクロソフト コーポレーション 3dグラフィックスのための2d編集メタファ(metaphor)
JP2016179562A (ja) * 2015-03-23 2016-10-13 大日本印刷株式会社 情報処理装置、情報処理方法、プログラム、記録媒体、エンボス版製造システム

Cited By (6)

* Cited by examiner, † Cited by third party
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
JP2006058530A (ja) * 2004-08-19 2006-03-02 Denso Corp 地図表示装置およびナビゲーション装置
JP4539228B2 (ja) * 2004-08-19 2010-09-08 株式会社デンソー 地図表示装置およびナビゲーション装置
JP4864972B2 (ja) * 2005-09-09 2012-02-01 マイクロソフト コーポレーション 3dグラフィックスのための2d編集メタファ(metaphor)
US8464170B2 (en) 2005-09-09 2013-06-11 Microsoft Corporation 2D editing metaphor for 3D graphics
JP2016179562A (ja) * 2015-03-23 2016-10-13 大日本印刷株式会社 情報処理装置、情報処理方法、プログラム、記録媒体、エンボス版製造システム

Similar Documents

Publication Publication Date Title
US4888713A (en) Surface detail mapping system
US6493858B2 (en) Method and system for displaying VLSI layout data
US5194969A (en) Method for borderless mapping of texture images
KR20010031686A (ko) 이미지 랜더링 방법 및 랜더링 장치
GB2256567A (en) Modelling system for imaging three-dimensional models
JP2009535734A (ja) 3次元地理空間画像を参照標識と共に表示するための地理情報システム及び関連する方法
JP2000090289A (ja) 画像処理装置および画像処理方法、並びに媒体
JPH09319891A (ja) 画像処理装置及びその処理方法
KR910009102B1 (ko) 화상합성 장치
RU2295772C1 (ru) Способ генерирования текстуры в реальном масштабе времени и устройство для его реализации
KR100453529B1 (ko) 제트 좌표값에 의거하여 알파값을 제어하는 3차원그래픽스 묘화장치 및 그 방법
JPH07152929A (ja) 図形描画方法
JPH06348815A (ja) Cgシステムにおける建物の景観の3次元モデルの設定方法
JPH05143711A (ja) 画像生成方法
US5673375A (en) Method for three-dimensionally drawing figure on display plane
CN116681854A (zh) 一种基于目标检测及建筑重构的虚拟城市生成方法和装置
JP2973413B2 (ja) コンピュータグラフィックスの照度計算方法及び表示装置
CN112070904A (zh) 应用于博物馆的增强现实展示方法
JP2000011208A (ja) 画像表示装置及び方法
JP2701056B2 (ja) 三次元物体の二次表現方法
JPH07110873A (ja) 画像処理装置
KR100431788B1 (ko) 의복 착용 시뮬레이션 방법
CN117695633B (zh) 基于游戏引擎与gis三维引擎的同步匹配方法及系统
JPH1125291A (ja) 三次元画像データおよびその作成方法およびその表示方法
JPH05165923A (ja) 立体形状モデリング方式