JPH076234A - コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置 - Google Patents
コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置Info
- Publication number
- JPH076234A JPH076234A JP7731291A JP7731291A JPH076234A JP H076234 A JPH076234 A JP H076234A JP 7731291 A JP7731291 A JP 7731291A JP 7731291 A JP7731291 A JP 7731291A JP H076234 A JPH076234 A JP H076234A
- Authority
- JP
- Japan
- Prior art keywords
- points
- solid
- region
- rotating body
- radius
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【目的】この発明は、二次元表示画面上で複数の点によ
り立体を三次元的に描くにあたり、簡単で計算処理が少
なく且つ点が一様に立体の面上で並び、しかも立体を二
次元表示画面上で回転した後でも立体の方向を容易に把
握できる立体の点描写の方法及び装置を提供することを
目的とする。。 【構成】二次元表示画面上に複数の点を用いて立体を三
次元的に描くため、立体の表面を複数の領域に分割し、
これら複数の領域上で互いに異なる規則に基づいて点の
配列を行う。回転体を点描写する場合、回転体を形成す
る面を回転軸からの回転半径の変化が比較的大きい第一
領域と回転半径の変化が比較的少ない第二領域、たとえ
ば、球においては極領域と赤道領域、とに分割し、夫々
の領域に互いに異なる規則に従って点を配列する。
り立体を三次元的に描くにあたり、簡単で計算処理が少
なく且つ点が一様に立体の面上で並び、しかも立体を二
次元表示画面上で回転した後でも立体の方向を容易に把
握できる立体の点描写の方法及び装置を提供することを
目的とする。。 【構成】二次元表示画面上に複数の点を用いて立体を三
次元的に描くため、立体の表面を複数の領域に分割し、
これら複数の領域上で互いに異なる規則に基づいて点の
配列を行う。回転体を点描写する場合、回転体を形成す
る面を回転軸からの回転半径の変化が比較的大きい第一
領域と回転半径の変化が比較的少ない第二領域、たとえ
ば、球においては極領域と赤道領域、とに分割し、夫々
の領域に互いに異なる規則に従って点を配列する。
Description
【0001】
【産業上の利用分野】この発明はコンピュータ・グラフ
ィクス装置において二次元表示画面上で立体を三次元的
に描写する方法およびその装置に関し、特に、複数の点
を用いて球等の回転体を含む立体を二次元表示画面上で
三次元的に描く方法およびその装置に関する。
ィクス装置において二次元表示画面上で立体を三次元的
に描写する方法およびその装置に関し、特に、複数の点
を用いて球等の回転体を含む立体を二次元表示画面上で
三次元的に描く方法およびその装置に関する。
【0002】最近、コンピュータ・グラフィクス装置を
用いて二次元表示画面上に色々な立体を三次元的に描い
て研究または工学的応用に利用することが盛んに行われ
ている。その応用の一つに分子モデリングまたは分子シ
ュミレーションと呼ばれるものがあり、画面上に立体分
子模型を三次元的に描写して物質の特性を研究するのに
利用されている。分子モデリングにおいては、主として
球面から成る立体分子模型を表現する方法として、複数
の点を用いて球面及び曲面を三次元的に描くことが行わ
れている。
用いて二次元表示画面上に色々な立体を三次元的に描い
て研究または工学的応用に利用することが盛んに行われ
ている。その応用の一つに分子モデリングまたは分子シ
ュミレーションと呼ばれるものがあり、画面上に立体分
子模型を三次元的に描写して物質の特性を研究するのに
利用されている。分子モデリングにおいては、主として
球面から成る立体分子模型を表現する方法として、複数
の点を用いて球面及び曲面を三次元的に描くことが行わ
れている。
【0003】この複数の点により立体を三次元的に描写
する方法は、球面や曲面を立体感を保ちながら塗りつぶ
すいわゆるソリッド・モデルの方法と比べて簡単でコン
ピュータの処理能力をあまり要せず描写の高速化を図る
事のできる利点がある。この発明は、この複数の点を用
いて球等の回転体を含む立体を三次元的に描く方法及び
その装置に関する。
する方法は、球面や曲面を立体感を保ちながら塗りつぶ
すいわゆるソリッド・モデルの方法と比べて簡単でコン
ピュータの処理能力をあまり要せず描写の高速化を図る
事のできる利点がある。この発明は、この複数の点を用
いて球等の回転体を含む立体を三次元的に描く方法及び
その装置に関する。
【0004】なお、この明細書を通じて点とは、ドット
またはマーカとも呼ばれるもので、描写される立体全体
の大きさに比較して十分に小さいが有限の大きさを持っ
ておりその形状は線形、丸形、十字形、又はそれ以外の
さまざまな形であってよく、表示画面上では輝点、黒
点、又は様々な色により表示されるものであってもよ
い。
またはマーカとも呼ばれるもので、描写される立体全体
の大きさに比較して十分に小さいが有限の大きさを持っ
ておりその形状は線形、丸形、十字形、又はそれ以外の
さまざまな形であってよく、表示画面上では輝点、黒
点、又は様々な色により表示されるものであってもよ
い。
【0005】
【従来の技術】Bash,P.A.et al.ces
in Molecular Modeling,Im
plementation with Real Ti
meComputer Graphicsには分子模型
における球面を複数点で描写することの重要性が述べら
れている。
in Molecular Modeling,Im
plementation with Real Ti
meComputer Graphicsには分子模型
における球面を複数点で描写することの重要性が述べら
れている。
【0006】従来、複数の点を用いて球面等を立体的に
表現する方法としては、平面から球面への等面積マッピ
ング法(詳しくは小出昭夫著、『分子シミュレーション
入門』岡田、大沢編 pp.209−210、海文堂、
1989を参照のこと)、緯度経度交点方法(この方法
を利用したグラフィクス・プログラム製品例としては日
本アイ・ビー・エム(株)が開発した『分子設計支援シ
ステム』、プログラム番号5788−JKF/JKG/
JKH/JKJ/JKL/JKNがある)、及び点対称
群方法を用いるものがある。
表現する方法としては、平面から球面への等面積マッピ
ング法(詳しくは小出昭夫著、『分子シミュレーション
入門』岡田、大沢編 pp.209−210、海文堂、
1989を参照のこと)、緯度経度交点方法(この方法
を利用したグラフィクス・プログラム製品例としては日
本アイ・ビー・エム(株)が開発した『分子設計支援シ
ステム』、プログラム番号5788−JKF/JKG/
JKH/JKJ/JKL/JKNがある)、及び点対称
群方法を用いるものがある。
【0007】
【発明が解決しようとする課題】従来の等面積マッピン
グ方法では立体模型を連続的に(実時間で)回転させて
別の角度から見る時、回転前の球面の外縁部付近の点が
密集した領域が、赤道様の縞として現れ好ましくない。
また従来の緯度経度交点法では北極及び南極に点が集中
し逆に赤道付近では点が分散する傾向があって見辛い時
があり、さらに従来の点対称群法では一般的に描写のた
めにより多くの点を要し、しかも分子模型を回転する際
の点の座標変換の計算にコンピュータの処理能力を多く
要し、回転した後の点配列が不自然に並ぶという問題が
ある。
グ方法では立体模型を連続的に(実時間で)回転させて
別の角度から見る時、回転前の球面の外縁部付近の点が
密集した領域が、赤道様の縞として現れ好ましくない。
また従来の緯度経度交点法では北極及び南極に点が集中
し逆に赤道付近では点が分散する傾向があって見辛い時
があり、さらに従来の点対称群法では一般的に描写のた
めにより多くの点を要し、しかも分子模型を回転する際
の点の座標変換の計算にコンピュータの処理能力を多く
要し、回転した後の点配列が不自然に並ぶという問題が
ある。
【0008】この発明は、従来技術の前記した問題点を
解決するために、二次元表示画面上で複数の点により立
体を三次元的に表現するにあたり、簡単で計算処理が少
なく且つ点が立体を形成する面上に一様に分布されて不
自然に立体の面上で並ぶ事がなく、しかも立体模型を回
転した後でも立体模型の方向を容易に把握でき且つ面上
の点の分布が不自然とならならい、コンピュータ・グラ
フィクス装置において複数の点をもちいて立体を三次元
的に描く方法及び装置を提供することを目的とする。
解決するために、二次元表示画面上で複数の点により立
体を三次元的に表現するにあたり、簡単で計算処理が少
なく且つ点が立体を形成する面上に一様に分布されて不
自然に立体の面上で並ぶ事がなく、しかも立体模型を回
転した後でも立体模型の方向を容易に把握でき且つ面上
の点の分布が不自然とならならい、コンピュータ・グラ
フィクス装置において複数の点をもちいて立体を三次元
的に描く方法及び装置を提供することを目的とする。
【0009】
【課題を解決するための手段】この発明によれば、コン
ピュータ・グラフィクス装置において、二次元表示画面
上に複数の点を用いて立体を三次元的に描写するため、
立体の表面を複数の領域に分割し、これら複数の領域上
で互いに異なる規則に基づいて点の配列を行う。
ピュータ・グラフィクス装置において、二次元表示画面
上に複数の点を用いて立体を三次元的に描写するため、
立体の表面を複数の領域に分割し、これら複数の領域上
で互いに異なる規則に基づいて点の配列を行う。
【0010】この発明の一実施例において回転体を点描
写する場合、回転体を形成する面を回転軸からの回転半
径の変化が比較的大きい第一領域と回転半径の変化が比
較的少ない第二領域、たとえば、球においては極領域と
赤道領域、とに分割し、夫々の領域に互いに異なる規則
に従って点を配列する。すなわち、第一領域では回転半
径の増加に伴って数が増加する点を同心円周上に等間隔
に配列し、第二領域では一定数の点を同心円周上に等間
隔で且つ隣り合う周上では互いに点配列の中間に位置す
るように配する。前述の球の場合は 、極領域において
は数が極から赤道方向に向けて、例えば等差数列的に、
増加する点を等緯度線上に等間隔に配列し、赤道領域で
は一定数の点を等緯度線上に等間隔に配列させ且つ隣り
合う等緯度線同士では点が隣の等緯度線上の点配列の中
間に来るように配する。前述の等差数列は初項が1で
(極点における点が1つ)、公差が5または6であるも
のであってよい。
写する場合、回転体を形成する面を回転軸からの回転半
径の変化が比較的大きい第一領域と回転半径の変化が比
較的少ない第二領域、たとえば、球においては極領域と
赤道領域、とに分割し、夫々の領域に互いに異なる規則
に従って点を配列する。すなわち、第一領域では回転半
径の増加に伴って数が増加する点を同心円周上に等間隔
に配列し、第二領域では一定数の点を同心円周上に等間
隔で且つ隣り合う周上では互いに点配列の中間に位置す
るように配する。前述の球の場合は 、極領域において
は数が極から赤道方向に向けて、例えば等差数列的に、
増加する点を等緯度線上に等間隔に配列し、赤道領域で
は一定数の点を等緯度線上に等間隔に配列させ且つ隣り
合う等緯度線同士では点が隣の等緯度線上の点配列の中
間に来るように配する。前述の等差数列は初項が1で
(極点における点が1つ)、公差が5または6であるも
のであってよい。
【0011】
【実施例】図1、2、3、4、5、及び6を参照してこ
の発明の一実施例を説明する。
の発明の一実施例を説明する。
【0012】図1はこの発明の一実施例の方法及びその
方法を実施するために用いられるコンピュータ・グラフ
ィクス装置の要部を示す。この装置は例えばIBM R
ISCシステム6000または他のコンピュータ・グラ
フィクス装置であってよい。1は中央処理ユニットであ
り、演算処理及び制御を行う。2は記憶ユニットであ
り、この発明を実施するためのコンピュータ・プログラ
ム及びデータを記憶する。3はグラフィクス表示をする
ための全点表示可能なCRT等の二次元画面表示装置で
ある。4は装置に操作者が入力を行うためのキーボード
やマウス等の入力装置である。記憶ユニット2に記憶さ
れる分子モデリングや他のグラフィクス・アプリケィシ
ョン・プログラムに以下に述べるこの実施例の方法が含
まれていて、中央処理ユニット1がこのプログラムを実
行すると、この方法により二次元表示画面3上に立体が
複数の点により三次元的に描写される。
方法を実施するために用いられるコンピュータ・グラフ
ィクス装置の要部を示す。この装置は例えばIBM R
ISCシステム6000または他のコンピュータ・グラ
フィクス装置であってよい。1は中央処理ユニットであ
り、演算処理及び制御を行う。2は記憶ユニットであ
り、この発明を実施するためのコンピュータ・プログラ
ム及びデータを記憶する。3はグラフィクス表示をする
ための全点表示可能なCRT等の二次元画面表示装置で
ある。4は装置に操作者が入力を行うためのキーボード
やマウス等の入力装置である。記憶ユニット2に記憶さ
れる分子モデリングや他のグラフィクス・アプリケィシ
ョン・プログラムに以下に述べるこの実施例の方法が含
まれていて、中央処理ユニット1がこのプログラムを実
行すると、この方法により二次元表示画面3上に立体が
複数の点により三次元的に描写される。
【0013】この実施例の方法では立体、例えば図2に
示すような半径Rの球の点描写について説明する。この
球の中心Oの座標は(0,0,0)、北極Nの座標は
(0,0,R)、南極Sの座標は(0,0,−R)とな
る。この球を構成する球面5の内、この球の赤道面E
(X−Y面)からその垂直上下方向(Z方向)に0.5
Rの範囲内にある球面を赤道領域Esとし、赤道領域E
sよりも北極N側にある球面を北極領域Nsとし、赤道
領域Esよりも南極S側にある球面を南極領域Ssとし
て分割する。北極領域Ns及び南極領域Ssでは球の回
転軸Zからの距離(回転半径)の変化が、赤道領域Es
における回転軸Zからの距離(回転半径)の変化に比較
して大きい。
示すような半径Rの球の点描写について説明する。この
球の中心Oの座標は(0,0,0)、北極Nの座標は
(0,0,R)、南極Sの座標は(0,0,−R)とな
る。この球を構成する球面5の内、この球の赤道面E
(X−Y面)からその垂直上下方向(Z方向)に0.5
Rの範囲内にある球面を赤道領域Esとし、赤道領域E
sよりも北極N側にある球面を北極領域Nsとし、赤道
領域Esよりも南極S側にある球面を南極領域Ssとし
て分割する。北極領域Ns及び南極領域Ssでは球の回
転軸Zからの距離(回転半径)の変化が、赤道領域Es
における回転軸Zからの距離(回転半径)の変化に比較
して大きい。
【0014】この実施例の方法では極領域Ns,Ssと
赤道領域Esとでは互いに異なる規則に従って複数の点
を配列して球の描写を行う。この実施例の複数点による
球の配列の規則を次に図3、4を参照して説明する。
赤道領域Esとでは互いに異なる規則に従って複数の点
を配列して球の描写を行う。この実施例の複数点による
球の配列の規則を次に図3、4を参照して説明する。
【0015】まずステップ1として、北極領域Nsの点
描写のための点の発生の仕方を説明する。北極N(0,
0,R)に1つの点を置く。そして赤道面Eから高さZ
j
描写のための点の発生の仕方を説明する。北極N(0,
0,R)に1つの点を置く。そして赤道面Eから高さZ
j
【0016】Zj=R(1−j2/M(N+M)) ただしj=1,2,・・,N−1で、Nは整数、にある
球1の球面上の等緯度線上に6j個の点を等間隔に並べ
る。この複数の点を高さZjの等緯度線上で等間隔に並
べるための方法は、今、6j=Kとし、n=0,1,
2,・・,K−1とし、この等緯度線上の点のX及びY
座標を、Xn 及びYnとすると
球1の球面上の等緯度線上に6j個の点を等間隔に並べ
る。この複数の点を高さZjの等緯度線上で等間隔に並
べるための方法は、今、6j=Kとし、n=0,1,
2,・・,K−1とし、この等緯度線上の点のX及びY
座標を、Xn 及びYnとすると
【0017】 Xn=sqrt(R2−Zj2)cos(2nπ/K) Yn=sqrt(R2−Zj2)sin(2nπ/K) とする事で得られる。
【0018】ステップ2として、南極領域Ssの点描写
のための点の発生は、ステップ1で得られた北極領域N
s上の点の座標(X,Y,Z)に対して座標(X,Y,
−Z)の位置に点を発生する事で行われる。この南極領
域Ssにおける点の配列の仕方はステップ1で述べた北
極領域Nsでの点の配列の仕方と実質的には同じであ
る。
のための点の発生は、ステップ1で得られた北極領域N
s上の点の座標(X,Y,Z)に対して座標(X,Y,
−Z)の位置に点を発生する事で行われる。この南極領
域Ssにおける点の配列の仕方はステップ1で述べた北
極領域Nsでの点の配列の仕方と実質的には同じであ
る。
【0019】ステップ3として、赤道領域Esの点描写
のための点を発生する。高さZhを、
のための点を発生する。高さZhを、
【0020】Zh=R((M−2h)/(N+M)) ただし、h=0,1,2,・・・,Mで、Mは整数であ
る、
る、
【0021】として、この高さの位置にある赤道領域E
sの等緯度線上に6N個の点を等間隔で並べる。ただ
し、hが1だけ増加するごとに点の発生する位置を点間
隔の半分だけずらして隣り合う等緯度線間では、点は隣
の等緯度線上の点配列の中間に位置させる。従って、高
さZhの等緯度線上にある点のX及びY座標を、Xn 及
びYn として、
sの等緯度線上に6N個の点を等間隔で並べる。ただ
し、hが1だけ増加するごとに点の発生する位置を点間
隔の半分だけずらして隣り合う等緯度線間では、点は隣
の等緯度線上の点配列の中間に位置させる。従って、高
さZhの等緯度線上にある点のX及びY座標を、Xn 及
びYn として、
【0022】 Xn=sqrt(R2−Zh2)cos((nπ/3N)+(hπ/6N)) Yn=sqrt(R2−Zh2)sin((nπ/3N)+(hπ/6N)) ただし、n=0,1,2,・・・,6N−1である、と
する事で得られる。
する事で得られる。
【0023】なお、ステップ1と3で行った、複数個の
点を円周上に等間隔に配することは、次のように行って
もよい。今、複数P個の点を高さZiにある球の等緯度
線上に等間隔に配するために点のX及びY座標をXt,
Yt とすると、
点を円周上に等間隔に配することは、次のように行って
もよい。今、複数P個の点を高さZiにある球の等緯度
線上に等間隔に配するために点のX及びY座標をXt,
Yt とすると、
【0024】 c=cos(2π/P)、s=sin(2π/P) (X0,Y0)=(sqrt(R2−Zi2),0) (Xt+1,Yt+1)=(cXt−sYt,sXt+cYt) ただし、t=0,1,2,・・,P−1である。
【0025】図5、6はこの実施例の方法で得られた球
を回転した様子を示すもので、点が球面上に一様に分布
しているので回転後の球の方向を容易に理解できる。
を回転した様子を示すもので、点が球面上に一様に分布
しているので回転後の球の方向を容易に理解できる。
【0026】図7はこのようにして点描写された複数の
球を結合して分子模型6を描いたものである。
球を結合して分子模型6を描いたものである。
【0027】なお、実施例で説明した球では極領域と赤
道領域を分けるのに赤道面からの距離が半径の半分とす
ると最適であるので、上述した式中でN=Mとすれば前
述の実施例の球で極領域と赤道領域とを赤道面から半径
の半分の距離で分割した場合の点配列の式になる。な
お、点を配する等緯度線のを高さZj、Zh として選ん
だが等緯度間隔になるように選んでもよい。また球面に
ついて説明したが卵型の様な回転楕円体あるいは半円球
や半回転楕円体と他の立体との組み合わせにもこの発明
を用いる事ができる。
道領域を分けるのに赤道面からの距離が半径の半分とす
ると最適であるので、上述した式中でN=Mとすれば前
述の実施例の球で極領域と赤道領域とを赤道面から半径
の半分の距離で分割した場合の点配列の式になる。な
お、点を配する等緯度線のを高さZj、Zh として選ん
だが等緯度間隔になるように選んでもよい。また球面に
ついて説明したが卵型の様な回転楕円体あるいは半円球
や半回転楕円体と他の立体との組み合わせにもこの発明
を用いる事ができる。
【0028】次に説明する図8、9は回転体である花瓶
7をこの発明の方法によって三次元的に点描写する他の
実施例を説明するものである。図8、9に示すように花
瓶7を形成する面の内、回転軸からの距離(回転半径)
が比較的大きく変化する領域Saと比較的少なく変化する
領域Sbとに分割し、比較的大きく変化する領域Saには回
転半径の増加に伴って増加する数(例えば、等差数列的
に)の点を同心円周上に等間隔に配列し、比較的少なく
変化する領域Sbには一定の数の点を同心円周上に等間隔
で且つ隣り合う周上間では互いに点間隔の中間に位置す
るように配する。図8、9に示すように花瓶7の回転を
おこなっても点が花瓶7を形成する面上に一様に配され
ているので各図における花瓶7の方向を容易に把握でき
る。
7をこの発明の方法によって三次元的に点描写する他の
実施例を説明するものである。図8、9に示すように花
瓶7を形成する面の内、回転軸からの距離(回転半径)
が比較的大きく変化する領域Saと比較的少なく変化する
領域Sbとに分割し、比較的大きく変化する領域Saには回
転半径の増加に伴って増加する数(例えば、等差数列的
に)の点を同心円周上に等間隔に配列し、比較的少なく
変化する領域Sbには一定の数の点を同心円周上に等間隔
で且つ隣り合う周上間では互いに点間隔の中間に位置す
るように配する。図8、9に示すように花瓶7の回転を
おこなっても点が花瓶7を形成する面上に一様に配され
ているので各図における花瓶7の方向を容易に把握でき
る。
【0029】
【発明の効果】この発明の上述した構成によれば、点が
立体の面上にほぼ一様に分布されるので、従来の等面積
マッピングの様にたとえ連続的に(実時間で)立体模型
を回転しても面上に縞模様を生ずることがなく、また緯
度経度交点法の様に点が極付近で過密となり赤道付近で
まばらになる事もなく、さらに点の分布の計算が単純簡
単であるので座標回転を行う際の点の位置の計算が容易
でコンピュータの処理能力を点対称群法ほど要せず、ま
た回転後の立体模型の方向と操作者の視覚の関係が容易
に把握できしかも面上で点が不自然に並ぶことがない。
立体の面上にほぼ一様に分布されるので、従来の等面積
マッピングの様にたとえ連続的に(実時間で)立体模型
を回転しても面上に縞模様を生ずることがなく、また緯
度経度交点法の様に点が極付近で過密となり赤道付近で
まばらになる事もなく、さらに点の分布の計算が単純簡
単であるので座標回転を行う際の点の位置の計算が容易
でコンピュータの処理能力を点対称群法ほど要せず、ま
た回転後の立体模型の方向と操作者の視覚の関係が容易
に把握できしかも面上で点が不自然に並ぶことがない。
【図1】この発明の方法が用いられるコンピュータ・グ
ラフィクス装置を示すブロック図、
ラフィクス装置を示すブロック図、
【図2】この発明の一実施例の方法による球面の分割方
法を示す図、
法を示す図、
【図3】この発明の一実施例の方法による球面を表示す
る点の発生方法を説明するために球の赤道面に垂直な方
向で北極側から見た図、
る点の発生方法を説明するために球の赤道面に垂直な方
向で北極側から見た図、
【図4】第3図の球をその赤道面と平行な方向から見た
図、
図、
【図5】第3図の球を回転して表示した図、
【図6】第3図の球を回転して表示した図、
【図7】この実施例により描かれた複数の球を結合させ
て分子モデルを形成した図、
て分子モデルを形成した図、
【図8】この発明の方法の他の実施例による回転体の三
次元点描写の方法を説明するため、この回転体を形成す
る面を複数の領域に分割して点描写する方法を示す図、
次元点描写の方法を説明するため、この回転体を形成す
る面を複数の領域に分割して点描写する方法を示す図、
【図9】第8図の回転体を回転した様子を示す図。
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年6月12日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正内容】
【書類名】 明細書
【発明の名称】コンピュータ・グラフィクス装置におい
て二次元表示画面上に立体を複数の点により三次元的に
描く方法およびその装置
て二次元表示画面上に立体を複数の点により三次元的に
描く方法およびその装置
【特許請求の範囲】
【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はコンピュータ・グラフ
ィクス装置において二次元表示画面上で立体を三次元的
に描写する方法およびその装置に関し、特に、複数の点
を用いて球等の回転体を含む立体を二次元表示画面上で
三次元的に描く方法およびその装置に関する。
ィクス装置において二次元表示画面上で立体を三次元的
に描写する方法およびその装置に関し、特に、複数の点
を用いて球等の回転体を含む立体を二次元表示画面上で
三次元的に描く方法およびその装置に関する。
【0002】最近、コンピュータ・グラフィクス装置を
用いて二次元表示画面上に色々な立体を三次元的に描い
て研究または工学的応用に利用することが盛んに行われ
ている。その応用の一つに分子モデリングまたは分子シ
ュミレーションと呼ばれるものがあり、画面上に立体分
子模型を三次元的に描写して物質の特性を研究するのに
利用されている。分子モデリングにおいては、主として
球面から成る立体分子模型を表現する方法として、複数
の点を用いて球面及び曲面を三次元的に描くことが行わ
れている。
用いて二次元表示画面上に色々な立体を三次元的に描い
て研究または工学的応用に利用することが盛んに行われ
ている。その応用の一つに分子モデリングまたは分子シ
ュミレーションと呼ばれるものがあり、画面上に立体分
子模型を三次元的に描写して物質の特性を研究するのに
利用されている。分子モデリングにおいては、主として
球面から成る立体分子模型を表現する方法として、複数
の点を用いて球面及び曲面を三次元的に描くことが行わ
れている。
【0003】この複数の点により立体を三次元的に描写
する方法は、球面や曲面を立体感を保ちながら塗りつぶ
すいわゆるソリッド・モデルの方法と比べて簡単でコン
ピュータの処理能力をあまり要せず描写の高速化を図る
事のできる利点がある。この発明は、この複数の点を用
いて球等の回転体を含む立体を三次元的に描く方法及び
その装置に関する。
する方法は、球面や曲面を立体感を保ちながら塗りつぶ
すいわゆるソリッド・モデルの方法と比べて簡単でコン
ピュータの処理能力をあまり要せず描写の高速化を図る
事のできる利点がある。この発明は、この複数の点を用
いて球等の回転体を含む立体を三次元的に描く方法及び
その装置に関する。
【0004】なお、この明細書を通じて点とは、ドット
またはマーカとも呼ばれるもので、描写される立体全体
の大きさに比較して十分に小さいが有限の大きさを持っ
ておりその形状は線形、丸形、十字形、又はそれ以外の
さまざまな形であってよく、表示画面上では輝点、黒
点、又は様々な色により表示されるものであってもよ
い。
またはマーカとも呼ばれるもので、描写される立体全体
の大きさに比較して十分に小さいが有限の大きさを持っ
ておりその形状は線形、丸形、十字形、又はそれ以外の
さまざまな形であってよく、表示画面上では輝点、黒
点、又は様々な色により表示されるものであってもよ
い。
【0005】
【従来の技術】Bash,P.A.et al."Va
n der Waals Surfaces in M
olecular Modeling,Impleme
ntation with Real Time Co
mputer Graphics" Science,
Vol.222,pp.1325−1327,198
3,には分子模型において球面を複数点で描写すること
の重要性が述べられている。
n der Waals Surfaces in M
olecular Modeling,Impleme
ntation with Real Time Co
mputer Graphics" Science,
Vol.222,pp.1325−1327,198
3,には分子模型において球面を複数点で描写すること
の重要性が述べられている。
【0006】従来、複数の点を用いて球面等を立体的に
表現する方法としては、平面から球面への等面積マッピ
ング法(詳しくは小出昭夫著、『分子シミュレーション
入門』岡田、大沢編 pp.209−210、海文堂、
1989を参照のこと)、緯度経度交点方法(この方法
を利用したグラフィクス・プログラム製品例としては日
本アイ・ビー・エム(株)が開発した『分子設計支援シ
ステム』、プログラム番号5788−JKF/JKG/
JKH/JKJ/JKL/JKNがある)、及び点対称
群方法(この方法を利用したプログラム製品としては富
士通の三次元分子設計支援パッケージ、ANCHORが
ある)を用いるものがある。
表現する方法としては、平面から球面への等面積マッピ
ング法(詳しくは小出昭夫著、『分子シミュレーション
入門』岡田、大沢編 pp.209−210、海文堂、
1989を参照のこと)、緯度経度交点方法(この方法
を利用したグラフィクス・プログラム製品例としては日
本アイ・ビー・エム(株)が開発した『分子設計支援シ
ステム』、プログラム番号5788−JKF/JKG/
JKH/JKJ/JKL/JKNがある)、及び点対称
群方法(この方法を利用したプログラム製品としては富
士通の三次元分子設計支援パッケージ、ANCHORが
ある)を用いるものがある。
【0007】等面積マッピング法は図10に示される様
に、平面上の正三角形格子100を球面101へある方
向Aから投影した時の格子対応点上にドット102を配
する方法である。この方法によれば、A方向から見た場
合の球面101の外縁部103にドット102が集中す
る傾向がある。
に、平面上の正三角形格子100を球面101へある方
向Aから投影した時の格子対応点上にドット102を配
する方法である。この方法によれば、A方向から見た場
合の球面101の外縁部103にドット102が集中す
る傾向がある。
【0008】緯度経度交点方法は図11に示される様
に、球111の緯度113及び経度114の交点にドッ
ト112を配するものである。この方法によれば、ドッ
ト112が極領域115及び116に集中し赤道領域は
疎らになる傾向がある。
に、球111の緯度113及び経度114の交点にドッ
ト112を配するものである。この方法によれば、ドッ
ト112が極領域115及び116に集中し赤道領域は
疎らになる傾向がある。
【0009】点対称群方法は図12に示される様に、球
面上の一点121の座標(x,y,z)が決定されたな
らば、同じ球面上の47個の点122が点対称を利用し
て決められる。この方法により描かれた球面が図13に
示されている。この図からも理解されるように、この方
法で描かれた球には方向性、すなわち極点、がなく、球
を回転した前と後の方向を知ることが出来ない。
面上の一点121の座標(x,y,z)が決定されたな
らば、同じ球面上の47個の点122が点対称を利用し
て決められる。この方法により描かれた球面が図13に
示されている。この図からも理解されるように、この方
法で描かれた球には方向性、すなわち極点、がなく、球
を回転した前と後の方向を知ることが出来ない。
【0010】
【発明が解決しようとする課題】従来の等面積マッピン
グ方法では立体模型を連続的に(実時間で)回転させて
別の角度、例えばB方向、から見る時、回転前の球面の
外縁部付近の点が密集した領域が、赤道様の縞として現
れ好ましくない。また従来の緯度経度交点法では北極及
び南極に点が集中し逆に赤道付近では点が分散する傾向
があって見辛い時があり、さらに従来の点対称群法では
一般的に描写のためにより多くの点を要し、しかも分子
模型を回転する際の点の座標変換の計算にコンピュータ
の処理能力を多く要し、回転した後の点配列が不自然に
並び回転後の方向を知ることが困難であるという問題が
ある。
グ方法では立体模型を連続的に(実時間で)回転させて
別の角度、例えばB方向、から見る時、回転前の球面の
外縁部付近の点が密集した領域が、赤道様の縞として現
れ好ましくない。また従来の緯度経度交点法では北極及
び南極に点が集中し逆に赤道付近では点が分散する傾向
があって見辛い時があり、さらに従来の点対称群法では
一般的に描写のためにより多くの点を要し、しかも分子
模型を回転する際の点の座標変換の計算にコンピュータ
の処理能力を多く要し、回転した後の点配列が不自然に
並び回転後の方向を知ることが困難であるという問題が
ある。
【0011】この発明は、従来技術の前記した問題点を
解決するために、二次元表示画面上で複数の点により立
体を三次元的に表現するにあたり、簡単で計算処理が少
なく且つ点が立体を形成する面上に一様に分布されて不
自然に立体の面上で並ぶ事がなく、しかも立体模型を回
転した後でも立体模型の方向を容易に把握でき且つ面上
の点の分布が不自然とならならい、コンピュータ・グラ
フィクス装置において複数の点をもちいて立体を三次元
的に描く方法及び装置を提供することを目的とする。
解決するために、二次元表示画面上で複数の点により立
体を三次元的に表現するにあたり、簡単で計算処理が少
なく且つ点が立体を形成する面上に一様に分布されて不
自然に立体の面上で並ぶ事がなく、しかも立体模型を回
転した後でも立体模型の方向を容易に把握でき且つ面上
の点の分布が不自然とならならい、コンピュータ・グラ
フィクス装置において複数の点をもちいて立体を三次元
的に描く方法及び装置を提供することを目的とする。
【0012】
【課題を解決するための手段】この発明によれば、コン
ピュータ・グラフィクス装置において、二次元表示画面
上に複数の点を用いて立体を三次元的に描写するため、
立体の表面を複数の領域に分割し、これら複数の領域上
で互いに異なる規則に基づいて点の配列を行う。
ピュータ・グラフィクス装置において、二次元表示画面
上に複数の点を用いて立体を三次元的に描写するため、
立体の表面を複数の領域に分割し、これら複数の領域上
で互いに異なる規則に基づいて点の配列を行う。
【0013】この発明の一実施例において回転体を点描
写する場合、回転体を形成する面を回転軸からの回転半
径の変化が比較的大きい第一領域と回転半径の変化が比
較的少ない第二領域、たとえば、球においては極領域と
赤道領域、とに分割し、夫々の領域に互いに異なる規則
に従って点を配列する。すなわち、第一領域では回転半
径の増加に伴って数が増加する点を同軸円周上に等間隔
に配列し、第二領域では一定数の点を同軸円周上に等間
隔で且つ隣り合う周上では互いに点配列の中間に位置す
るように配する。前述の球の場合は 、極領域において
は数が極から赤道方向に向けて、例えば等差数列的に、
増加する点を等緯度線上に等間隔に配列し、赤道領域で
は一定数の点を等緯度線上に等間隔に配列させ且つ隣り
合う等緯度線同士では点が隣の等緯度線上の点配列の中
間に来るように配する。前述の等差数列は初項が1で
(極点における点が1つ)、公差が5または6であるも
のであってよい。
写する場合、回転体を形成する面を回転軸からの回転半
径の変化が比較的大きい第一領域と回転半径の変化が比
較的少ない第二領域、たとえば、球においては極領域と
赤道領域、とに分割し、夫々の領域に互いに異なる規則
に従って点を配列する。すなわち、第一領域では回転半
径の増加に伴って数が増加する点を同軸円周上に等間隔
に配列し、第二領域では一定数の点を同軸円周上に等間
隔で且つ隣り合う周上では互いに点配列の中間に位置す
るように配する。前述の球の場合は 、極領域において
は数が極から赤道方向に向けて、例えば等差数列的に、
増加する点を等緯度線上に等間隔に配列し、赤道領域で
は一定数の点を等緯度線上に等間隔に配列させ且つ隣り
合う等緯度線同士では点が隣の等緯度線上の点配列の中
間に来るように配する。前述の等差数列は初項が1で
(極点における点が1つ)、公差が5または6であるも
のであってよい。
【0014】
【実施例】図1、2、3、4、5、及び6を参照してこ
の発明の一実施例を説明する。
の発明の一実施例を説明する。
【0015】図1はこの発明の一実施例の方法及びその
方法を実施するために用いられるコンピュータ・グラフ
ィクス装置の要部を示す。この装置は例えばIBM R
ISCシステム6000または他のコンピュータ・グラ
フィクス装置であってよい。1は中央処理ユニットであ
り、演算処理及び制御を行う。2は記憶ユニットであ
り、この発明を実施するためのコンピュータ・プログラ
ム及びデータを記憶する。3はグラフィクス表示をする
ための全点表示可能なCRT等の二次元画面表示装置で
ある。4は装置に操作者が入力を行うためのキーボード
やマウス等の入力装置である。記憶ユニット2に記憶さ
れる分子モデリングや他のグラフィクス・アプリケィシ
ョン・プログラムに以下に述べるこの実施例の方法が含
まれていて、中央処理ユニット1がこのプログラムを実
行すると、この方法により二次元表示画面3上に立体が
複数の点により三次元的に描写される。
方法を実施するために用いられるコンピュータ・グラフ
ィクス装置の要部を示す。この装置は例えばIBM R
ISCシステム6000または他のコンピュータ・グラ
フィクス装置であってよい。1は中央処理ユニットであ
り、演算処理及び制御を行う。2は記憶ユニットであ
り、この発明を実施するためのコンピュータ・プログラ
ム及びデータを記憶する。3はグラフィクス表示をする
ための全点表示可能なCRT等の二次元画面表示装置で
ある。4は装置に操作者が入力を行うためのキーボード
やマウス等の入力装置である。記憶ユニット2に記憶さ
れる分子モデリングや他のグラフィクス・アプリケィシ
ョン・プログラムに以下に述べるこの実施例の方法が含
まれていて、中央処理ユニット1がこのプログラムを実
行すると、この方法により二次元表示画面3上に立体が
複数の点により三次元的に描写される。
【0016】この実施例の立体の点描写の方法を説明す
るにあたり、例えば図2に示すような半径Rの球の点描
写について説明する。この球の中心Oの座標は(0,
0,0)、北極Npの座標は(0,0,R)、南極Sp
の座標は(0,0,−R)となる。この球を構成する球
面5の内、この球の赤道面(X−Y平面)の近傍にある
球面を赤道領域Esとし、赤道領域Esよりも北極N側
にある球面を北極領域Nsとし、赤道領域Esよりも南
極S側にある球面を南極領域Ssとして分割する。図2
において、北極領域NsはZ軸に対する中心Oからの角
度が零からα0内の球面領域であり、赤道領域EsはZ
軸に対する中心Oからの角度がα0からπ−α0の球面領
域であり、南極領域はZ軸に対する中心Oからの角度が
π−α0からπまでの領域である。図2から理解される
ように、北極領域Ns及び南極領域Ssでは球の回転軸
Zからの距離(回転半径)Rpの変化が比較的大きく、
赤道領域Esにおいては球の回転軸Zからの距離(回転
半径)Reの変化は比較的小さい。
るにあたり、例えば図2に示すような半径Rの球の点描
写について説明する。この球の中心Oの座標は(0,
0,0)、北極Npの座標は(0,0,R)、南極Sp
の座標は(0,0,−R)となる。この球を構成する球
面5の内、この球の赤道面(X−Y平面)の近傍にある
球面を赤道領域Esとし、赤道領域Esよりも北極N側
にある球面を北極領域Nsとし、赤道領域Esよりも南
極S側にある球面を南極領域Ssとして分割する。図2
において、北極領域NsはZ軸に対する中心Oからの角
度が零からα0内の球面領域であり、赤道領域EsはZ
軸に対する中心Oからの角度がα0からπ−α0の球面領
域であり、南極領域はZ軸に対する中心Oからの角度が
π−α0からπまでの領域である。図2から理解される
ように、北極領域Ns及び南極領域Ssでは球の回転軸
Zからの距離(回転半径)Rpの変化が比較的大きく、
赤道領域Esにおいては球の回転軸Zからの距離(回転
半径)Reの変化は比較的小さい。
【0017】この実施例の方法では極領域Ns,Ssと
赤道領域Esとでは互いに異なる規則に従って複数の点
を配列して球の描写を行う。この実施例の複数点による
球の配列の規則を次に説明する。
赤道領域Esとでは互いに異なる規則に従って複数の点
を配列して球の描写を行う。この実施例の複数点による
球の配列の規則を次に説明する。
【0018】まずステップ1として、北極領域Nsの点
描写のための点の配列の仕方を説明する。まず、北極N
p(0,0,R)に1つの点を置く。そして赤道面(X
−Y平面)から高さZj
描写のための点の配列の仕方を説明する。まず、北極N
p(0,0,R)に1つの点を置く。そして赤道面(X
−Y平面)から高さZj
【0019】 Zj=R(1−j2/N(N+M)) 式(A) ただしj=1,2,・・,Nで、Nは整数、にある球面
上のZ軸を中心とする同軸円周(緯度線)j上に6j個
の点11を等間隔に並べる。この式(A)は次のように
して得られる。
上のZ軸を中心とする同軸円周(緯度線)j上に6j個
の点11を等間隔に並べる。この式(A)は次のように
して得られる。
【0020】まず、北極領域Nsの点11の極座標を
[R、α(j)、Φ(t)]とする。ここで角度α
(j)は点11のZ軸に対する中心Oからの角度であ
り、角度Φ(t)は点11のZ軸からの回転半径Rpの
Y軸に対する角度である。tは0から6j−1までの整
数である。6j個の点11は円周j上で等間隔で配置さ
れるので、Φ(t)は
[R、α(j)、Φ(t)]とする。ここで角度α
(j)は点11のZ軸に対する中心Oからの角度であ
り、角度Φ(t)は点11のZ軸からの回転半径Rpの
Y軸に対する角度である。tは0から6j−1までの整
数である。6j個の点11は円周j上で等間隔で配置さ
れるので、Φ(t)は
【0021】Φ(t)=(π/3j)t 式(1) と表すことができる。
【0022】一方、赤道領域Es上の円周h上の点12
の極座標は[R、α(h)、Φ(s)]と表すことが出
来る。ここで角度α(h)は点12のZ軸に対する中心
Oからの角度であり、Φ(s)は点12のZ軸からの回
転半径ReのY軸に対する角度である。ここで、赤道領
域EsにおいてはM本のZ軸を回転中心とする球面上の
同軸円周(緯度線)h上に点を配するとする。hは1か
らMまでの整数である。赤道領域Esでは一定の数6N
個の点が北極領域Nsとの連続性を保つために配置され
る。このため、sは0から6N−1までの整数である。
6N個の点を円周h上で等間隔に配置するためには、Φ
(s)は
の極座標は[R、α(h)、Φ(s)]と表すことが出
来る。ここで角度α(h)は点12のZ軸に対する中心
Oからの角度であり、Φ(s)は点12のZ軸からの回
転半径ReのY軸に対する角度である。ここで、赤道領
域EsにおいてはM本のZ軸を回転中心とする球面上の
同軸円周(緯度線)h上に点を配するとする。hは1か
らMまでの整数である。赤道領域Esでは一定の数6N
個の点が北極領域Nsとの連続性を保つために配置され
る。このため、sは0から6N−1までの整数である。
6N個の点を円周h上で等間隔に配置するためには、Φ
(s)は
【0023】Φ(s)=(π/3N)s 式(2) と表すことが出来る。
【0024】球面5上で一定の密度で点を配列するとい
う条件を取る。点密度をnとすると北極領域Nsでは、
う条件を取る。点密度をnとすると北極領域Nsでは、
【0025】n=djdt/sinαdαdΦ と表すことことができる。ここでdは微分量を表し、d
jdtは北極領域Nsのある小領域での点の個数を表
し、sinαdαdΦはその小領域の面積を表す。北極
領域Nsでは式(1)からdΦ/dt=π/3jである
ので、 n=(3j/π)dj/sinαdα 式(3) と表すことができる。
jdtは北極領域Nsのある小領域での点の個数を表
し、sinαdαdΦはその小領域の面積を表す。北極
領域Nsでは式(1)からdΦ/dt=π/3jである
ので、 n=(3j/π)dj/sinαdα 式(3) と表すことができる。
【0026】一方、赤道領域Esでの点密度nは次のよ
うに表すことができる。
うに表すことができる。
【0027】n=dhds/sinαdαdΦ ここで、dhdsは赤道領域Esの小領域での点の個数
を表し、sinαdαdΦはその小領域の面積を表す。
赤道領域Esでは式(2)からdΦ/ds=π/3Nで
あるので、 n=(3N/π)dh/sinαdα 式(4)
を表し、sinαdαdΦはその小領域の面積を表す。
赤道領域Esでは式(2)からdΦ/ds=π/3Nで
あるので、 n=(3N/π)dh/sinαdα 式(4)
【0028】式(3)を積分すると、 −ncosα+C=(3/2π)j2 式(5) 但し、Cは積分定数である。αが零の時、jも零なので
Cはnである。
Cはnである。
【0029】式(4)を積分すると、 −ncosα+C=(3N/π)h 式(6) 但し、Cは積分定数である。αがα0のときhは零なの
で、Cはncosα0である。
で、Cはncosα0である。
【0030】式(5)でjがNの時、αがα0であるの
で、 cosα0=1−(3/2nπ)N2 式(7) が得られる。
で、 cosα0=1−(3/2nπ)N2 式(7) が得られる。
【0031】式(6)でhがMであるとき、αがπ−α
0であるので、 cosα0=(3N/2nπ)M 式(8) が得られる。式(7)、式(8)から、 n=(3/2π)N(N+M) が得られ、従って式(5)から、北極領域Nsでは cosα=1−j2/N(N+M) 式(9) となり、式(6)から、赤道領域Esでは cosα=(M−2h)/(N+M) 式(10) となる。
0であるので、 cosα0=(3N/2nπ)M 式(8) が得られる。式(7)、式(8)から、 n=(3/2π)N(N+M) が得られ、従って式(5)から、北極領域Nsでは cosα=1−j2/N(N+M) 式(9) となり、式(6)から、赤道領域Esでは cosα=(M−2h)/(N+M) 式(10) となる。
【0032】式(9)、(10)に半径Rをかければ、
北極領域Ns、赤道領域Ssの点11、点12の赤道面
(X−Y平面)からの高さZj、Zhが得られる。 Zj=R[1−j2/N(N+M)] 式(A) Zh=R[(M−2h)/(N+M)] 式(B)
北極領域Ns、赤道領域Ssの点11、点12の赤道面
(X−Y平面)からの高さZj、Zhが得られる。 Zj=R[1−j2/N(N+M)] 式(A) Zh=R[(M−2h)/(N+M)] 式(B)
【0033】この実施例では、球面5を複数の点で描く
にあたり、北極領域Nsの球面の描写においては円周
(緯度線)j上に6j個の点11を等間隔に配する。こ
の点11の直交座標(Xt、Yt、Zj)とすると、こ
こでZjは式(A)で決り、XtとYtは次の式で決る
値である。但し、前述の通りjは1からNまでの整数、
tは0から6j−1までの整数である。
にあたり、北極領域Nsの球面の描写においては円周
(緯度線)j上に6j個の点11を等間隔に配する。こ
の点11の直交座標(Xt、Yt、Zj)とすると、こ
こでZjは式(A)で決り、XtとYtは次の式で決る
値である。但し、前述の通りjは1からNまでの整数、
tは0から6j−1までの整数である。
【0034】 Xt=sqrt(R2−Zj2)cos(tπ/3j) Yt=sqrt(R2−Zj2)sin(tπ/3j)
【0035】ステップ2として、南極領域Ssの球面の
点描写のための点の発生は、ステップ1で得られた北極
領域Ns上の点11の直交座標(Xt,Yt,Zj)に
対して直交座標(Xt,Yt,−Zj)の位置に点を発
生する事で行われる。この南極領域Ssにおける点の配
列の仕方はステップ1で述べた北極領域Nsでの点の配
列の仕方と同じである。
点描写のための点の発生は、ステップ1で得られた北極
領域Ns上の点11の直交座標(Xt,Yt,Zj)に
対して直交座標(Xt,Yt,−Zj)の位置に点を発
生する事で行われる。この南極領域Ssにおける点の配
列の仕方はステップ1で述べた北極領域Nsでの点の配
列の仕方と同じである。
【0036】ステップ3として、赤道領域Esの球面の
点描写のための点12を発生する。点12が置かれる円
周(緯度線)hの高さZhを式(B)から得る。
点描写のための点12を発生する。点12が置かれる円
周(緯度線)hの高さZhを式(B)から得る。
【0037】Zh=R[(M−2h)/(N+M)] ただし、前述の通りh=1,2,・・・,Mで、Mは整
数である、
数である、
【0038】この円周(緯度線)h上に6N個の点12
を等間隔で並べる。ただし、hが1だけ増加するごとに
点12の発生する位置を点間隔の半分だけずらして隣り
合う円周(緯度線)h間では、点12は隣の円周(緯度
線)上の点配列の中間に位置させる。点12を直交座標
(Xs、Ys、Zh)の位置に配置することで赤道領域
Esの球面の点描写が行われる。但し、XsとYsとは
を等間隔で並べる。ただし、hが1だけ増加するごとに
点12の発生する位置を点間隔の半分だけずらして隣り
合う円周(緯度線)h間では、点12は隣の円周(緯度
線)上の点配列の中間に位置させる。点12を直交座標
(Xs、Ys、Zh)の位置に配置することで赤道領域
Esの球面の点描写が行われる。但し、XsとYsとは
【0039】 Xs=sqrt(R2−Zh2)cos[(sπ/3N)+(hπ/6N)] Ys=sqrt(R2−Zh2)sin[(sπ/3N)+(hπ/6N)] ただし、前述の通りs=0,1,2,・・・,6N−1
である、とする事で得られる。
である、とする事で得られる。
【0040】図14、図15、図16はこの実施例の方
法を行うためのプログラムをC言語で表したリストであ
る。
法を行うためのプログラムをC言語で表したリストであ
る。
【0041】なお、ステップ1と3で行った、複数個の
点を円周上に等間隔に配することは、次のように行って
もよい。今、複数P個の点を高さZiにある球の緯度線
上に等間隔に配するために点のX及びY座標をXt, Yt
とすると、
点を円周上に等間隔に配することは、次のように行って
もよい。今、複数P個の点を高さZiにある球の緯度線
上に等間隔に配するために点のX及びY座標をXt, Yt
とすると、
【0042】 c=cos(2π/P)、s=sin(2π/P) (X0,Y0)=[sqrt(R2−Zi2),0] (Xt+1,Yt+1)=(cXt−sYt,sXt+cYt) ただし、t=0,1,2,・・,P−1である。
【0043】図3、4はこの実施例の方法で球を点描写
した例を示す。図5、6はこの実施例の方法で得られた
球を回転した様子を示すもので、点が球面上に一様に分
布しているので回転後の球の方向を容易に理解できる。
すなわち、球の北極Np及び南極Spに点がそれぞれ一
つづつ配置され、そして球面を構成する同軸円周上に等
間隔に点が配置されるので、球の回転後も位置関係を容
易に知ることができる。
した例を示す。図5、6はこの実施例の方法で得られた
球を回転した様子を示すもので、点が球面上に一様に分
布しているので回転後の球の方向を容易に理解できる。
すなわち、球の北極Np及び南極Spに点がそれぞれ一
つづつ配置され、そして球面を構成する同軸円周上に等
間隔に点が配置されるので、球の回転後も位置関係を容
易に知ることができる。
【0044】図7はこのようにして点描写された複数の
球を結合して分子模型6を描いたものである。
球を結合して分子模型6を描いたものである。
【0045】なお、図2の実施例で説明した球では極領
域と赤道領域を分けるのに赤道面からの距離が半径の半
分、すなわち1/2R、とすると最適である。図2に関
して上述した式中でN=Mとすれば図2の実施例の球で
極領域と赤道領域とを赤道面から半径の半分の距離、1
/2R、で分割した場合の点配列の式になる。なお、点
を配する 球面5上の同軸円周j、hの高さをZj、Z
hとして選んだが、同軸円周j、hの高さを等緯度間隔
になるように選んでもよい。また球面について説明した
が卵型の様な回転楕円体あるいは半円球や半回転楕円体
と他の立体との組み合わせにもこの発明を用いる事がで
きる。
域と赤道領域を分けるのに赤道面からの距離が半径の半
分、すなわち1/2R、とすると最適である。図2に関
して上述した式中でN=Mとすれば図2の実施例の球で
極領域と赤道領域とを赤道面から半径の半分の距離、1
/2R、で分割した場合の点配列の式になる。なお、点
を配する 球面5上の同軸円周j、hの高さをZj、Z
hとして選んだが、同軸円周j、hの高さを等緯度間隔
になるように選んでもよい。また球面について説明した
が卵型の様な回転楕円体あるいは半円球や半回転楕円体
と他の立体との組み合わせにもこの発明を用いる事がで
きる。
【0046】次に説明する図8、9は回転体である花瓶
7をこの発明の方法によって三次元的に点描写する他の
実施例を説明するものである。図8、9に示すように花
瓶7を形成する面の内、回転軸(花瓶の口と底の中心を
結ぶ垂線)からの距離(回転半径)が比較的大きく変化
する領域Saと比較的少なく変化する領域Sbとに分割し、
比較的大きく変化する領域Saには回転半径の増加に伴っ
て増加する数(例えば、等差数列的に)の点を同軸円周
上に等間隔に配列し、比較的少なく変化する領域Sbには
一定の数の点を同軸円周上に等間隔で且つ隣り合う周上
間では互いに点間隔の中間に位置するように配する。図
8、9に示すように花瓶7の回転をおこなっても点が花
瓶7を形成する面上に一様に配されているので各図にお
ける花瓶7の方向を容易に把握できる。
7をこの発明の方法によって三次元的に点描写する他の
実施例を説明するものである。図8、9に示すように花
瓶7を形成する面の内、回転軸(花瓶の口と底の中心を
結ぶ垂線)からの距離(回転半径)が比較的大きく変化
する領域Saと比較的少なく変化する領域Sbとに分割し、
比較的大きく変化する領域Saには回転半径の増加に伴っ
て増加する数(例えば、等差数列的に)の点を同軸円周
上に等間隔に配列し、比較的少なく変化する領域Sbには
一定の数の点を同軸円周上に等間隔で且つ隣り合う周上
間では互いに点間隔の中間に位置するように配する。図
8、9に示すように花瓶7の回転をおこなっても点が花
瓶7を形成する面上に一様に配されているので各図にお
ける花瓶7の方向を容易に把握できる。
【0047】
【発明の効果】この発明の上述した構成によれば、点が
立体の面上にほぼ一様に分布されるので、従来の等面積
マッピングの様にたとえ連続的に(実時間で)立体模型
を回転しても面上に縞模様を生ずることがなく、また緯
度経度交点法の様に点が極付近で過密となり赤道付近で
まばらになる事もなく、さらに点の分布の計算が単純簡
単であるので座標回転を行う際の点の位置の計算が容易
でコンピュータの処理能力を点対称群法ほど要せず、ま
た点配列により回転後の立体模型の方向と操作者の視覚
の関係が容易に把握できしかも面上で点が不自然に並ぶ
ことがない。
立体の面上にほぼ一様に分布されるので、従来の等面積
マッピングの様にたとえ連続的に(実時間で)立体模型
を回転しても面上に縞模様を生ずることがなく、また緯
度経度交点法の様に点が極付近で過密となり赤道付近で
まばらになる事もなく、さらに点の分布の計算が単純簡
単であるので座標回転を行う際の点の位置の計算が容易
でコンピュータの処理能力を点対称群法ほど要せず、ま
た点配列により回転後の立体模型の方向と操作者の視覚
の関係が容易に把握できしかも面上で点が不自然に並ぶ
ことがない。
【図面の簡単な説明】
【図1】この発明の方法が用いられるコンピュータ・グ
ラフィクス装置を示すブロック図。
ラフィクス装置を示すブロック図。
【図2】この発明の一実施例の方法による球面の分割方
法および分割された球面の各領域を点描写するための点
の配列方法を説明する図。
法および分割された球面の各領域を点描写するための点
の配列方法を説明する図。
【図3】この発明の一実施例の方法により点描写された
球をその球の北極側から見た図。
球をその球の北極側から見た図。
【図4】第3図の球をその赤道面と平行な方向から見た
図。
図。
【図5】第3図の球を回転して表示した図。
【図6】第3図の球を回転して表示した図。
【図7】この実施例により描かれた複数の球を結合させ
て分子モデルを形成した図。
て分子モデルを形成した図。
【図8】この発明の方法の他の実施例による回転体の三
次元点描写の方法を説明するため、この回転体を形成す
る面を複数の領域に分割して点描写する方法を示す図。
次元点描写の方法を説明するため、この回転体を形成す
る面を複数の領域に分割して点描写する方法を示す図。
【図9】第8図の回転体を回転した様子を示す図。
【図10】従来の球面の点描写方法を説明する図。
【図11】従来の球面の点描写方法を説明する図。
【図12】従来の球面の点描写方法を説明する図。
【図13】従来の球面の点描写方法を説明する図。
【符号の説明】 5 球面 11 点 12 点 j 同軸円周 h 同軸円周 Es 赤道領域 Ns 北極領域 Ss 南極領域 Np 北極 Sp 南極 Re 回転半径 Rp 回転半径 Z 回転軸 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年6月12日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図12】
【図13】
【図8】
【図9】
【図10】
【図11】
【手続補正書】
【提出日】平成4年9月18日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 コンピュータ・グラフィクス装置にお
いて二次元表示画面上に立体を複数の点により表示する
方法 ─────────────────────────────────────────────────────
いて二次元表示画面上に立体を複数の点により表示する
方法 ─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成4年9月24日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】発明の名称
【補正方法】変更
【補正内容】
【発明の名称】 コンピュータ・グラフィクス装置にお
いて二次元表示画面上に立体を複数の点により表示する
方法
いて二次元表示画面上に立体を複数の点により表示する
方法
Claims (17)
- 【請求項1】コンピュータ・グラフィクス装置により、
二次元表示画面上に複数の点を用いて立体を三次元的に
描く方法において、前記立体を構成する面を複数の領域
に分割し、前記複数の領域上に互いに異なる規則に基づ
いて点を配列することを特徴とする前記方法。 - 【請求項2】請求項1記載の方法において、前記立体が
回転体であり、この回転体を構成する面を、この回転体
の回転軸からの回転半径の変化が比較的大きい第一領域
と、前記回転軸からの回転半径の変化が比較的少ない第
二領域とに分割し、前記各領域上に互いに異なる規則に
基づいて点を配列する前記方法。 - 【請求項3】請求項2記載の方法において、前記第一領
域上では前記回転半径の増加につれて数が増加する点を
同心円周上に等間隔に配し、前記第二領域上では一定の
数の点を同心円周上に等間隔で且つ隣り合う同心円周上
の点同士では互いの点配列の中間に来るように配列する
前記方法。 - 【請求項4】請求項3記載の方法において、前記第一領
域上では回転半径が増加するにつれて前記点の数が等差
数列的に増加する前記方法。 - 【請求項5】請求項2記載の方法において、前記回転体
が球である前記方法。 - 【請求項6】請求項2記載の方法において、前記回転体
が回転楕円体である前記方法。 - 【請求項7】請求項2記載の方法において、前記回転体
が複数存在し且つ結合して一つの立体を構成している前
記方法。 - 【請求項8】請求項1記載の方法において、前記立体が
回転体と非回転体の組み合わせであり、前記回転体の表
面を、前記回転体の回転軸からの回転半径の変化が比較
的大きい領域と比較的少ない領域とに分割し、前記各領
域上で互いに異なる規則に基づいて点を配列する前記方
法。 - 【請求項9】請求項1記載の方法において、前記立体が
回転体であり、この回転体を形成する面のうち、前記回
転体の回転軸との交点に近い領域と前記交点から遠い領
域とに分割し、前記各領域に互いに異なる規則に基づい
て点を配列する前記方法。 - 【請求項10】請求項9記載の方法において、前記近い
領域では前記回転軸からの回転半径の増加につれて数が
増加する点を同心円周上に等間隔に配し、前記遠い領域
では一定の数の点を同心円周上に等間隔で且つ隣り合う
同心円周上同士では互いに点配列の中間に来るように配
列する前記方法。 - 【請求項11】請求項10記載の方法において、前記近
い領域上では前記交点に1つの点を配し且つ前記同心円
周上に前記回転半径の増加につれて等差数列的に数が増
加する点を配列する前記方法。 - 【請求項12】請求項9記載の方法において、前記立体
が球である前記方法。 - 【請求項13】請求項9記載の方法において、前記立体
が回転楕円体である前記方法。 - 【請求項14】コンピュータ・グラフィクス装置で二次
元表示画面上に複数の点を用いて立体を三次元的に描写
する装置において、前記立体を形成する面を複数の領域
に分割する手段と、前記複数の領域上に互いに異なる規
則に基づいて点を配列する手段を有することを特徴とす
る装置。 - 【請求項15】請求項14記載の装置において、前記立
体が回転体であり、前記分割する手段がこの回転体を形
成する面をこの回転体の回転軸からの回転半径の変化が
比較的大きい第一領域と回転軸からの回転半径の変化が
比較的小さい第二領域とに分割する手段を含む前記装
置。 - 【請求項16】請求項15記載の装置において、前記配
列する手段が前記第一領域上では前記回転半径の増加に
つれて数が増加する点を同心円周上に等間隔に配し、前
記第二領域上では一定の数の点を同心円周上に等間隔で
且つ隣り合う同心円周上の点同士では隣の周上の点配列
の中間に位置するように配する手段を含む前記装置。 - 【請求項17】請求項16記載の装置において、前記配
列する手段が前記第一領域上では前記回転半径の増加に
つれて点の数を等差数列的に増加させる手段を有する前
記装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7731291A JP2731637B2 (ja) | 1991-03-18 | 1991-03-18 | コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置 |
CA002062120A CA2062120A1 (en) | 1991-03-18 | 1992-03-02 | Method of and an apparatus for rendering a three-dimensional object by a plurality of dots on a two-dimensional display screen in a computer graphics system |
EP19920302279 EP0505142B1 (en) | 1991-03-18 | 1992-03-17 | A method and apparatus for rendering a three-dimensional object on a two-dimensional display |
DE69214694T DE69214694D1 (de) | 1991-03-18 | 1992-03-17 | Verfahren und Einrichtung zur Darstellung eines dreidimensionalen Objektes auf einer zweidimensionalen Anzeige |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7731291A JP2731637B2 (ja) | 1991-03-18 | 1991-03-18 | コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH076234A true JPH076234A (ja) | 1995-01-10 |
JP2731637B2 JP2731637B2 (ja) | 1998-03-25 |
Family
ID=13630401
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7731291A Expired - Fee Related JP2731637B2 (ja) | 1991-03-18 | 1991-03-18 | コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0505142B1 (ja) |
JP (1) | JP2731637B2 (ja) |
CA (1) | CA2062120A1 (ja) |
DE (1) | DE69214694D1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6559847B1 (en) | 1999-09-16 | 2003-05-06 | Sony Computer Entertainment Inc. | Image processing apparatus, recording medium, and program |
KR100723422B1 (ko) * | 2006-03-16 | 2007-05-30 | 삼성전자주식회사 | 포인트 기반 렌더링 장치와 방법 및 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1313979C (zh) * | 2002-05-03 | 2007-05-02 | 三星电子株式会社 | 产生三维漫画的装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2933573A1 (de) * | 1979-08-18 | 1981-04-09 | Lueg, Fred, 4370 Marl | Verfahren und vorrichtung zur ermittlung der leuchtdichteverteilung einer vorlage |
-
1991
- 1991-03-18 JP JP7731291A patent/JP2731637B2/ja not_active Expired - Fee Related
-
1992
- 1992-03-02 CA CA002062120A patent/CA2062120A1/en not_active Abandoned
- 1992-03-17 DE DE69214694T patent/DE69214694D1/de not_active Expired - Lifetime
- 1992-03-17 EP EP19920302279 patent/EP0505142B1/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6559847B1 (en) | 1999-09-16 | 2003-05-06 | Sony Computer Entertainment Inc. | Image processing apparatus, recording medium, and program |
KR100723422B1 (ko) * | 2006-03-16 | 2007-05-30 | 삼성전자주식회사 | 포인트 기반 렌더링 장치와 방법 및 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체 |
Also Published As
Publication number | Publication date |
---|---|
JP2731637B2 (ja) | 1998-03-25 |
EP0505142B1 (en) | 1996-10-23 |
EP0505142A3 (en) | 1994-12-28 |
CA2062120A1 (en) | 1992-09-19 |
EP0505142A2 (en) | 1992-09-23 |
DE69214694D1 (de) | 1996-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3602702A (en) | Electronically generated perspective images | |
Miller | The definition and rendering of terrain maps | |
US7714872B2 (en) | Method of creating texture capable of continuous mapping | |
CN100429676C (zh) | 三维图像体重建部分体选择的交互控制方法 | |
EP0435601A2 (en) | Display of hierarchical three-dimensional structures | |
EP0714057B1 (en) | Method and apparatus for displaying a cursor along a two dimensional representation of a computer generated three dimensional surface | |
JPH07271999A (ja) | 3次元地形出力方法 | |
JPH076234A (ja) | コンピュータ・グラフィクス装置において二次元表示画面上に立体を複数の点により三次元的に描く方法およびその装置 | |
US11214008B2 (en) | Three-dimensional object formation instruction apparatus, three-dimensional object production method, and program | |
US5422988A (en) | Method and apparatus for rendering a three-dimensional object with a plurality of dots | |
CN105427371B (zh) | 一种三维透视投影场景中保持图形对象等像素面积显示的方法 | |
CN111815775A (zh) | 一种基于OpenGL的三维背景地图快速填充方法 | |
JP3792584B2 (ja) | 工具経路面計算方法、工具経路面計算プログラム及び工具経路面計算プログラムを記録した記録媒体 | |
US6856325B2 (en) | Information processing method and apparatus | |
CN112255869B (zh) | 一种基于参数的三维图形动态投影实现方法 | |
JPH08287287A (ja) | マッピング画像表示方法 | |
Prior | " On-the-fly" voxelization for 6 degrees-of-freedom haptic virtual sculpting | |
JPS61281374A (ja) | 静物・自然の観察・鑑賞支援方式 | |
Burchi | Interactive graphics today | |
JPS61265677A (ja) | 隠れ線・隠れ面演算処理方式 | |
Karlsson | Turbo-isvas: An interactive visualization system for 3D finite element data | |
JPH01320583A (ja) | 作図エディタ | |
Dickson | True 3D computer modeling: Sculpture of numerical abstraction | |
Richardson et al. | Sculptbox: a volumetric environment for interactive design of three-dimensional objects | |
CN116468866A (zh) | 一种交互式连续路面道路三维模型参数化建模的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |