JP2004514964A - 円柱座標における多面体のラスタ化 - Google Patents
円柱座標における多面体のラスタ化 Download PDFInfo
- Publication number
- JP2004514964A JP2004514964A JP2002525583A JP2002525583A JP2004514964A JP 2004514964 A JP2004514964 A JP 2004514964A JP 2002525583 A JP2002525583 A JP 2002525583A JP 2002525583 A JP2002525583 A JP 2002525583A JP 2004514964 A JP2004514964 A JP 2004514964A
- Authority
- JP
- Japan
- Prior art keywords
- polyhedron
- slice
- screen
- imaging screen
- plane
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B30/00—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images
- G02B30/50—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels
- G02B30/54—Optical systems or apparatus for producing three-dimensional [3D] effects, e.g. stereoscopic images the image being built up from image elements distributed over a 3D volume, e.g. voxels the 3D volume being generated by moving a 2D surface, e.g. by vibrating or rotating the 2D surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/002—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to project the image of a two-dimensional display, such as an array of light emitting or modulating elements or a CRT
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G3/00—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
- G09G3/001—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
- G09G3/003—Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/388—Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
- H04N13/393—Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume the volume being generated by a moving, e.g. vibrating or rotating, surface
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/286—Image signal generators having separate monoscopic and stereoscopic modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/398—Synchronisation thereof; Control thereof
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Optics & Photonics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Digital Computer Display Output (AREA)
- Image Processing (AREA)
- Controls And Circuits For Display Device (AREA)
- Ultra Sonic Daignosis Equipment (AREA)
- Silver Salt Photography Or Processing Solution Therefor (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Sliding-Contact Bearings (AREA)
- Processing And Handling Of Plastics And Other Materials For Molding In General (AREA)
- Laminated Bodies (AREA)
Abstract
立体表示装置において多面体を描画する方法は、多面体を、それぞれが入口平面及び出口平面によって画定されるアクティブスライス内に配置されている複数の多面体区画に分割する段階を含む。次に、アクティブスライス内に結像画面が位置していることを検出する。結像画面がアクティブスライス内に位置している間に、多面体区画の入口平面への射影に基づいて、連結多角形を画定する。その後、この連結多角形を結像画面上に描画する。
Description
【0001】
本発明は、コンピュータグラフィックスに関し、特に、ボクセルが円柱座標格子上に配列されている立体表示装置における三角形及び多面体の描画に関する。
【0002】
優先権主張
35合衆国法典§129(e)(1)に従い、本願は、2000年9月7日付けの米国仮特許出願第60/242,972号の優先日の利益を主張し、その内容はここに引用して本開示の一部とする。
【0003】
発明の背景
多くのコンピュータが実現する表示装置は、個別の画素すなわちピクセルの2次元アレーからなっている。画像を形成するには、ラスタライザがこれらのピクセルを選択的に照光(原語:illuminate)する。個々のピクセルは非常に小さいので、表示は人間の目には画像が連続的に描かれているように映る。この錯覚は、写真のような色調が連続する複雑な画像にはとりわけ効果的である。
【0004】
しかし、単純な幾何学的形状に関しては、表示がピクセル化されているという性質が見ている人間に分かってしまうことがある。例えば、ラスタライザが表面を描くという命令を受けた場合、表面上の点が、この表面を描画(原語:render)するのに使用可能なピクセルと一致するという保証はどこにもない。その結果、この所望の表面は、しばしば、所望の表面に近いが必ずしも一致するとは限らない、一組のピクセルとして描かれる。この結果、できあがった表面は、ギザギザまたは梯状に見えてしまう。
【0005】
典型的には、表面は、多数の小さな表面要素を結合することにより形成される。従って、1つの表面を描く過程で、多数の多角形表面要素が描かれる。三角形表面要素は組み合わせることで複雑な曲線を備えた表面を容易に形成できるので、三角形表面要素がとりわけ適している。
【0006】
その結果、表面要素を描画するにあたって、ラスタライザは、結果として得られる表面要素のギザギザ形状を最小限に抑制するようにピクセルを頻繁に選択しなければならない。単純明快な数学的アプローチは、表面要素の辺を画定する線の式を用い且つ、これら線を含む平面の式を導き出すというものである。その後、ラスタライザは、その座標が線上のすべての点において最小2乗誤差を極小化するピクセルを選択できる。こうしたアプローチには、表面要素でのピクセル選択を全般的に最適化するという利点がある一方、必要な浮動小数点演算が多数に上るので、極端に時間を要するものとなる。
【0007】
速度上の制約条件を満たすため、通常、ラスタライザは、時間がかかる浮動小数点演算を避けるラスタ化方法を実行する。しかし、既知のラスタ化方法は、ピクセルアレーが、デカルト座標系により容易にモデル化できる一様な直交格子上に配列されているという前提の上に成り立っている。こうしたアルゴリズムが開発された時点における、コンピュータのモニターやプリンタなどの2次元表示装置の普及状況を考慮すれば、これは無理のない前提であった。
【0008】
しかし、それ以降、立体すなわち3次元表示装置が開発されている。こうした表示装置は、一組の局所的及び特定領域からの可視光を一定の立体領域内で生成、吸収、又は拡散できるものである。こうしたシステムの例が、ハーシ(Hirsch)の米国特許第2,967,905号、ケッチペル(Ketchpel)の米国特許第3,260,424号、ツァオ(Tsao)の米国特許第5,754,267号、及び1960年10月31日付けのAviation Weekの66乃至67ページに記載されている。
【0009】
こうした表示装置では、より理にかなった座標系は、円柱座標系である。円柱座標系の独特な性質のため、デカルト座標系に用いる描画方法は、円柱座標系の表面を描画するために簡単に利用することはできない。
【0010】
発明の概要
本発明の方法は、回転画面を備えた立体表示装置において多面体の高速描画を可能とする。この方法は、回転画面を一連の角度位置を段階的に通過させる段階を含む。それぞれの角度位置において、上記画面上に、多角形が近似的にラスタ化して描かれる。この多角形の外形が、画面上へ投影された多面体の一区画を表す。
【0011】
本発明の一態様によれば、上記画面は、画面が入口平面と同一平面に位置する第1角度位置に配置される。次に、第1及び第2の複数ボクセルが、多面体と入口平面との間の幾何学的関係に基づいて選択される。具体的には、第1の複数ボクセルは、多面体と入口平面との交差に対応し、第2の複数ボクセルは、多面体と出口平面との交差の入口平面への射影に対応する。次に、第1及び第2の複数ボクセルにより画定される多角形は、2次元結像画面上で描画される。
【0012】
本ラスタ化方法の別の態様は、多面体を、それぞれが入口平面及び出口平面によって画定されるアクティブスライス内に配置されている複数の多面体区画に分割する段階を含む。次に、アクティブスライス内に結像画面が位置していることを検出する。結像画面がアクティブスライス内に位置すると、連結多角形がこの結像画面上に描画される。この多角形は、多面体区画の入口平面への射影から得る。
【0013】
多面体は、単一の平面内に含まれる形状であってもよい。この平面形状は、三角形でも、四辺形でも、円でも、円錐領域でも、その他のいかなる平面形状でもよい。
【0014】
場合によっては、立体表示装置の光学配置が、付加的且つ随意に選択可能な本発明のステップで補正される歪みを発生させることがある。例えば、結像画面の回転が引き起こす歪みは、第1ボクセルに対応した回転座標を生成することで補正可能だが、この場合、回転座標は選択した角度の回転に対応する。同様に、台形像効果が原因となる歪みは、第1ボクセルに対応し且つ台形歪みの補正により求められる射影座標を生成することで達成できる。
【0015】
本発明の上記及びその他の特徴及び利点は、次の詳細な説明及び図面から明らかとなるはずである。
【0016】
詳細な説明
図1に示した立体表示装置10は、台座部分12及び回転部分14を含む。モータ制御装置16によって、モータ(図示)が回転部分14を、台座部分12に連結された回転軸18を中心として高速回転させる。
【0017】
台座部分12内では、光源20が、ラスタライザ22の制御下で、回転可能な結像画面26上の選択したピクセル24を照光するための空間的に変化する光のパターンを、連続的な瞬間において生成する。典型的な光源20としては、その配向がラスタライザ22に制御される、個々にアドレス可能なミラーからなる微小機械的アレーがある。この光は、回転部分14に結合し且つ軸18に同軸である回転光学サブシステム25に光学的に連通した静止光学サブシステム26を介して回転部分14の内部に導かれる。
【0018】
回転光学サブシステム26からの光は、回転光学サブシステム26の上方に配置され且つ台座部分12の周縁部に配置された第1リレーミラー30に光を向けるように角度を付けた中央ミラー28に投射される。第1リレーミラー30は、光を、台座部分12の周縁部にある第2リレーミラー32に向けて反射するように角度を付けられている。第2リレーミラー32は、第1リレーミラー30からの光を、結像画面26に向けるように角度を付けられている。
【0019】
結像画面26上で照光するピクセル及びそれらを照光する瞬間は、結像画面26の角度位置を示すデータ(モータ制御装置16により与えられる)と、3次元画像を表すデータ(データソース34に格納されている)に基づいて、ラスタライザ22により決定される。
【0020】
回転部分14が軸18を中心として回転すると、結像画面26が、回転部分14内の表示立体領域36を掃引する。回転部分14の回転速度が十分速ければ、また、連続した瞬間における照光が十分短い時間間隔で隔てられていれば、連続した曲線が、表示立体領域36内の空中に浮かんでいるように見えるはずである。
【0021】
図2は、所望の多面体(この場合は、ラスタライザ22により近似される三角形38)の軸18に直交する平面への射影を示す。結像画面26が軸18を中心に連続的に回転し、図2の半径方向線で示した閾値角度位置を通過する。これら角度位置のそれぞれにおいて、光源20は、ラスタライザ22に制御されながら、結像画面26上の選択したピクセル24を照光する。図2に示したように、正しいピクセルを正しい時刻に照光することで、所望の三角形38に近似するラスタ化した表面を掃引できる。所望の三角形38をこのように掃引するために光源20を制御するのは、ラスタライザ22の機能である。
【0022】
図1の立体表示装置10において、ラスタライザ22は、一連の画像を結像画面26に射影させる。結像画面26にどのような画像が表示されるかは、結像画面26が軸18を中心にして回転するさいの結像画面26の角度位置により決まる。しかし、画像は、画面26の角度位置と共にとぎれなく変化するわけではない。そうする代わりに、表示画像は特定の角度位置範囲では一定状態を保ち、画面26の角度位置が、図2に示した複数の閾値角度のいずれかを横切るときにのみ変化する。これら閾値角度は、通常は均等に離間され互いに非常に隣接している。図示した実施形態では、閾値角度間の分離角は、30分の弧と1度の弧との間である。
【0023】
従って、立体表示装置10の表示立体領域36は、回転軸18において交差する楔形状のスライス40を合体したものと見ることができる。図2の断面図では、各スライス40が、そのスライス40に関する閾値角度で画定された第1及び第2境界面により境界を定められている。これら境界面は、そのスライス40の「入口平面42」及び「出口平面44」と称する。画面26が軸18を中心として回転すると、画面26が、特定のスライス40の入口平面42と同一平面に位置する。画面はそのスライス40を横断し、更に、その同じスライス40の出口平面44と同一平面に位置する。図2から明らかなように、スライス40の出口平面44は、次のスライス33の入口平面と同一平面に位置している。結像画面26が任意の入口平面42と同一平面に位置するときは、画面26上に表示された画像の変更が可能となる。結像画面26がスライス40を横断している間は、画面26上の表示画像は変化せず一定である。
【0024】
所望の三角形38を描くために、ラスタライザ22が一般的に利用可能なデータには、所望の三角形の頂点のデカルト座標V0,V1,V2を得るもととなるデータが含まれる。これらの頂点から、所望の三角形38の辺L1、L2、L3、を定義する線の式を導くことができる。一例として、(x0,y0,z0)及び(x1,y1,z1)が三角形38の2つの頂点だとすると、この所望の三角形38の第1辺L0を表す次の定数が計算できる。
【数1】
【0025】
これらの定数は、所望の三角形38それぞれに一度だけ計算すればよい。図示した実施形態では、dは18ビットの符号付き固定小数点数で、htは40ビットの固定小数点数で、γは18ビットの符号付き固定小数点数である。
【0026】
性能を向上させるには、θtの値をルックアップテーブルから取得するようにする。ルックアップテーブルは、ラスタ化の正確度をあまり低下させない程度の粗さのθtの解像度を選択することで可能な限り小さくする。具体的には、θtの解像度が、表示空間のθ解像度より粗くなる場合は、異なる平面に対応するθの値が同一のr及びh値にマッピングされることがある。これは、θ方向の解像度の好ましくない低下の原因となる。
【0027】
図示した実施形態では、ルックアップテーブル内の項目数は、表示空間のθ解像度の2倍である。この比率により、ほとんどの視覚的アーチファクトを除去し、表示装置10の最小解像度の低下を防止するに十分な正確度が得られる。
【0028】
これらの定数が与えられれば、ラスタライザ22は、図2に示したような所望の三角形38と各入口平面及び出口平面42、44との交差の円柱座標を算出する。これら交差は、次の式で与えられるエンドポイントを備えた線分である。
【数2】
上記式において、θは特定の平面に関連付けられた角度である。
【0029】
図2から明らかなように、所望の三角形38は一般的に幾つかのスライスにわたる。こうした場合は、これら複数スライスが、三角形38を三角区画46a乃至eに分割する。各スライスは1つの三角形区画を含む。殆どの場合は、三角形区画46c乃至dは三角形38の頂点を含まない。三角形区画46a乃至b、46e、48a乃至bが、1つ又は2つの頂点を含む場合もある。更には、所望の三角形50が非常に小さいため、1つのスライス内に収まってしまうこともある。こうした場合では、三角形区画50(三角形そのものでもある)は3つの頂点全てを含む。
【0030】
図3を参照すると、結像画面26がスライス40の入口平面42と同一平面に位置するときは、ラスタライザが、そのスライス40に関連づけられた三角形区画46dを結像画面26に射影する。この射影により、連結多角形52が結像画面26の上に形成される。殆どの場合は、図3に示したように、結像画面26上の連結多角形52は四辺形である。三角形38の大きさ及び配向によるが、連結多角形52が3つの辺しか備えない場合もあるし、5つの辺を備える場合もある。
【0031】
次に、ラスタライザ22は、従来の2次元領域内外挿アルゴリズムを用いて連結多角形52内を埋める。こうして空白を埋められた連結多角形52は、結像画面26がスライス40を横切るあいだ、結像画面26上に残る。結像画面26がスライス40の出口平面44に達すると、ラスタライザ22は、連結多角形52を除去し、それを次のスライス54に関連付けられた三角形区画を射影して形成される別の連結多角形52と取り替える。画面上にラスタライザ22が映す連結多角形52は、三角形区画の入口平面42への射影により形成されるので、1つの三角形区分に関連付けられた連結多角形52は、次の三角形区画に関連付けられた連結多角形52と感知不能に同化する。
【0032】
殆どの場合は、図2及び3に示したように、三角形38は、スライス40の入口平面42と出口平面44との両方に交差する。こうした状況では、連結多角形52の第1の辺CDは、三角形38と入口平面42との交差により形成される線分である。連結多角形52の第2の辺は、三角形38と出口平面44との交差ABにより形成される線分の入口平面42への射影A’B’である。連結多角形52の残りの2辺は、結果的にできる多角形52が凸状となるように第1辺CDと第2辺A’B’を連結することで形成する。
【0033】
他の場合では、三角形はスライス40の入口平面42に交差するが、スライス40の出口平面44には交差しない。これは、三角形の1つ又は複数の頂点がスライス40内にある場合に典型的に起こる。これが当てはまる場合は、連結多角形52の第1の辺は、三角形と入口平面42との交差により形成される線分である。連結多角形52の残りの辺は、スライス40内の三角形38の頂点を入口平面42に射影して形成する。次に、凸状の連結多角形52が形成されるようにこれら残りの辺を連結する。
【0034】
これとは逆に、三角形38が、スライスの出口平面44と交差するが、入口平面42には交差しないこともあり得る。これは、三角形の1つ又は複数の頂点がスライス40内にある場合にも起こりうる。この場合は、連結多角形52の第1の辺は、三角形38と出口平面44との交差の入口平面42への射影である。連結多角形52の残りの辺を形成するには、頂点を入口平面42に射影し且つ射影した頂点に第1辺を連結して、凸状の連結多角形52を形成することで行う。
【0035】
最後に、三角形38がスライス40内に完全に入ってしまう可能性もあり、その場合は、三角形38はスライスの入口平面42とも出口平面44とも交差しない。この場合は、連結多角形52は、三角形38を入口平面42に射影したものとなる。
【0036】
上述のように、又、図3に示したように、三角形の頂点を含まない三角形区画に関しては、ラスタライザ22は、三角形38の入口平面42との交差及び出口平面44との交差を定義する線分(以降、「入口線分54」及び「出口線分56」と称する)を特定する。画面26が入口平面42と同一平面に位置するときは、ラスタライザ22は、入口線分54に対応するボクセルを描画する。更に、図3に示したように、ラスタライザ22は、出口線分56の入口平面42への射影(以降、「射影した出口線分58」と称する)を特定する。これにより、画面26上に連結多角形52が画定される。連結多角形の辺は、入口線分54及び射影した出口線分58を含む。その後、ラスタライザ22は、この連結多角形52を充填するボクセルを画面26上で描画する。このラスタ化は、従来の2次元多角形充填アルゴリズムを用いて実行できる。
【0037】
画面26がスライス40を横断するときは、図4に示したように、その画面26上に描画された連結多角形52が、連結多角形52の断面に対応した断面を備えた角柱62を掃引する。
【0038】
画面26が出口平面44に接近するにつれ、射影した出口線分58は出口線分56に接近する。この出口線分56は、次のスライス33の入口線分54でもある。従って、連続した連結多角形52により掃引される角柱62は、互いに滑らかに結合するように見え、結果として三角形が3次元で表示される。
【0039】
従って、本発明のラスタ化方法は、結像画面26が3次元立体領域内で円柱を掃引する際に、この結像画面26上で一連の連結多角形52をラスタ化することで、円柱座標系内において三角形をラスタ化する。
【0040】
図1に示したような特定の立体表示装置は、補正を必要とするある種の画像歪みを引き起こす。円柱座標系を適切に回転且つ射影することで、本ラスタ化方法は、これらの画像歪みを補正する。
【0041】
第1の種類の画像歪みは、光源20が、静止画像を回転する結像画面26上に射影するとき視覚的に明らかとなる。これが起こると、静止画像が、結像画面26の中心の周りを回転しているように見える。この種の歪みは、「回転歪み」と呼ばれる。
【0042】
第2の種類の歪みは、光源20が、長方形の画像を結像画面26上に射影するとき視覚的に明らかとなる。これが起こると、長方形は台形に歪んだように見える。「台形歪み」と呼ばれるこの種の歪みが発生する理由は、画面26上の画像の底部から光源20の焦点への光学通路が、画面の上部から焦点への光学通路より短いことによる。結果的に、光源20により射影される画像の上部分は、画像の底部分よりも大きく拡大されてしまう。
【0043】
台形及び回転歪みを補正する必要がある表示装置に関しては、入口線分54及び射影した出口線分58の円柱座標の計算と、連結多角形52のラスタ化との間に、付加的ステップを実行するのが好ましい。入口線分54上の一点及び射影した出口線分58上の一点の円柱座標を計算すると、それぞれ角度、半径、及び高さ(θ1,r1,h1)及び(θ2,r2,h2)となる。台形歪みは、ベクトル(r1,h1)及び(r2,h2)に射影演算を行うことにより補正して、ベクトル(r’1,h’1)及び(r’2,h’2)を得る。画面26上での光源20の画像の回転は、画面26中心の周りに反対方向に回転させることで補正する。ベクトル(r’1,h’1)は角度−θ1で回転させ、ベクトル(x1,y1)を得る。ベクトル(r’2,h’2)は角度−θ2で回転させ、ベクトル(x2,y2)を得る。ベクトル(x1,y1)は、回転部分14が角度θ1まで回転した瞬間に、入口線分54上の対応点を結像画面26上に描画するのに必ず照光しなければならない、光源20上の1点を指定する。同様に、ベクトル(x2,y2)は、回転部分14が角度θ2まで回転した瞬間に、射影した出口線分58上の対応点を結像画面26上に描画するのに必ず照光しなければならない、光源上の1点を指定する。連結多角形52は、座標(x1,y1)及び(x2,y2)により定義される辺を用いて光源20上で充填する。図1に示したものとは異なる光学通路となるように設計した表示装置では、上述した歪み補正の一方又は他方を必要とすることもあるし、何の補正も必要としないこともある。
【0044】
本発明は円柱座標系において三角形表面をラスタ化するという文脈で説明してきたが、ここで説明した原理は、一般に「多面体」と呼ばれるその他の2次元形状のラスタ化にも適用可能である。ここで使用する場合は、「多面体(原語:polytope)」は、一組の点を含む最小の凸状領域を意味し、「辺(原語:edge)」は、多面体の2つのかど又は頂点、の間の線分を意味する。
【0045】
多面体を描画するより一般的な場合では、入口線分54は、多面体と入口平面42との交差を画定し、出口線分56が多面体と出口平面44との交差を画定する。次に、多面体と出口平面44との交差が入口平面42に射影されて、連結多角形52の2辺が形成される。連結多角形52は、次に、既知の2次元多角形充填アルゴリズムのいずれかでラスタ化される。この技法は、多面体がここで説明したように三角形でも、多角形でも、円でも、円錐領域でも、その他のいかなる2次元多面体にでも適用可能である。
【0046】
結像画面26が回転すると、多面体に交差する各スライス40が一旦アクティブとなる。アクティブスライス40それぞれに関して、ラスタライザ22は、このアクティブスライス40内に位置し且つ多面体内に位置する円柱格子点となる多面体区画を画定する。その後、ラスタライザ22は、多面体区画とアクティブスライス40の境界面との交差を特定する。
【0047】
多面体Pは、各辺に索引を付け且つ各辺が2つのエンドポイントのデカルト座標で識別される直線辺リストEにより定義される。このリストへの変更がより効率的に行うことができるように、θ位置で分類した辺のスタートポイント及び辺のエンドポイントのリストを維持する。
【0048】
本ラスタ化方法は、直線辺リストEから円柱辺リストE’を導くことで初期化する。次に、エンドポイントの座標は、デカルト座標から円柱座標に変換し、且つ、円柱座標系の線定数を計算する。更に、第1及び第2エンドポイントリストLb及びLeを導く。第1エンドポイントリストLbは、辺の先頭に位置したエンドポイントのリストであり、これらエンドポイントはθの値で分類してある。第2エンドポイントリストLeは、辺の後端に位置したエンドポイントのリストであり、これらエンドポイントはθの値で分類してある。第1及び第2エンドポイントリスト内の各リスト項目は、エンドポイント位置及び対応する線への参照を含んでいる。
【0049】
初期化される付加的リストには、アクティブ辺リストA、第1及び第2スライス頂点リストIb及びIeが含まれる。アクティブ辺リストAは、円柱辺リストE’への参照を含み、どの辺がアクティブスライス40に交差するかを示す。第1及び第2スライス頂点リストIb及びIeは、辺とスライス40の入口平面及び出口平面との交点の位置を示す2次元座標を含む。具体的には、第1スライス頂点リストIbは、辺とスライス40の入口平面42との交点を含む一方、第2スライス頂点リストIeは、辺とスライス40の出口平面との交点を含む。第1及び第2ポインタpb及びpeは、第1及び第2エンドポイントリストLb及びLeの最初の項目の位置をそれぞれ示す。これら索引が、次に遭遇するエンドポイントを常時把握する。
【0050】
初期化に続いて、本ラスタ化方法は、多面体に交差するスライス40を走査する。第1エンドポイントリストLbの最初の項目により識別されるスライスと、第2エンドポイントリストLeの最終の項目により識別されるスライスとの間にある各スライス40に付いて、ラスタライザ22は、以下に説明するループを実行する。
【0051】
まず、ラスタライザ22は、第2スライス頂点リストIeを第1スライス頂点リストIbに移動する。これにより、多面体と直前のスライスの出口平面44との交差が、多面体とアクティブスライス40の入口平面42との交差と同一になる。次に、ラスタライザ22は、第2スライス頂点リストIeをクリアする。このスライス40に特定の新たな第2スライス頂点リストIeが、その後計算される。
【0052】
第1ポインタpbがこのスライス40の頂点の位置を示す一方、ラスタライザ22は、その頂点を第1スライス頂点リストIbに加え、その辺をアクティブ辺リストAに加え、且つ、第1ポインタpbを進める。第2ポインタpeがこのスライス40の頂点の位置を示す一方、ラスタライザ22は、その頂点を第1スライス頂点リストIbに加え、その辺をアクティブ辺リストAに加え、且つ、第2ポインタpeを進める。
【0053】
アクティブ辺リストA内の各辺に付いて、ラスタライザ22は、アクティブ状態の辺とスライス40の出口平面44との交点を計算する。この交点は、次に、第2スライス頂点リストIeに加えられる。
【0054】
最終的に、第1及び第2スライス頂点リストIb及びIeが埋まると、ラスタライザ22は、第1及び第2スライス頂点リストIb及びIe内の点の集合からなる凸閉包を、結像画面26上に描く。次に、ラスタライザ22は、この凸閉包の内部を充填する。
【0055】
添付した付録のソースコードは、三角形に関する上述のラスタ化方法の実装を教示している。このソースコードでは、変数「x」はベクトルで、「q」で始まる変数は角度である。一見して明らかでない関数、プロシージャ、データ構造、及びその他のソフトウェアエンティティは、次のように定義する。
【0056】
int 32ビット整数を示すタイプ規則子。
long40 40ビット整数を示すタイプ規則子。
ang_slice_inc(q) qに続くスライスの角度を戻す。
slice_number(q) 角度qのスライス番号を戻す。
jline_pos(...) 角度及び円柱線定数が与えられたとして、線上の円柱位置を計算する。
cyln2helios(q,x) 台形像効果及び回転歪みを補正することで、円柱点を物理位置に変換する。
_he_poly5(...) 指定されたスライス内で5辺を有する多角形を描く。
_he_poly4(...) 指定されたスライス内で4辺を有する多角形を描く。
_he_poly3(...) 指定されたスライス内で3辺を有する多角形を描く。
packet_triangle 三角形に関する情報を符号化するデータ構造。そのメンバは次の通り。
t0,r0,h0 = 頂点0の座標
t1,r1,h1 = 頂点1の座標
t2,r2,h2 = 頂点2の座標
L0,L1,L2 = 円柱線定数であって、
L0は、頂点0
から頂点2への線。
L1は、頂点0
から頂点1への線。
L2は、頂点1
から頂点2への線。
packet_line_k_decode(...) 上記のpacket_triangle構造から円柱線定数を復号する。
【0057】
次のソースコードは、射影した座標系を参照する。この射影した座標系は、動軸回転表示及び台形像効果の演算に関して上述した円柱座標系に関連したものである。これら演算は、次のソースコードにおいてイタリック体で示してある。
本発明とその好適な実施形態を説明したが、新規なものと主張し特許証により確保するものは以下の通りである。
付録
【図面の簡単な説明】
【図1】
立体表示装置である。
【図2】
表示立体領域の平面図である。
【図3】
連結多角形を画定するための、三角形の入口平面への射影を示す。
【図4】
併せて三角形を掃引する一組の連結多角形の平面図である。
本発明は、コンピュータグラフィックスに関し、特に、ボクセルが円柱座標格子上に配列されている立体表示装置における三角形及び多面体の描画に関する。
【0002】
優先権主張
35合衆国法典§129(e)(1)に従い、本願は、2000年9月7日付けの米国仮特許出願第60/242,972号の優先日の利益を主張し、その内容はここに引用して本開示の一部とする。
【0003】
発明の背景
多くのコンピュータが実現する表示装置は、個別の画素すなわちピクセルの2次元アレーからなっている。画像を形成するには、ラスタライザがこれらのピクセルを選択的に照光(原語:illuminate)する。個々のピクセルは非常に小さいので、表示は人間の目には画像が連続的に描かれているように映る。この錯覚は、写真のような色調が連続する複雑な画像にはとりわけ効果的である。
【0004】
しかし、単純な幾何学的形状に関しては、表示がピクセル化されているという性質が見ている人間に分かってしまうことがある。例えば、ラスタライザが表面を描くという命令を受けた場合、表面上の点が、この表面を描画(原語:render)するのに使用可能なピクセルと一致するという保証はどこにもない。その結果、この所望の表面は、しばしば、所望の表面に近いが必ずしも一致するとは限らない、一組のピクセルとして描かれる。この結果、できあがった表面は、ギザギザまたは梯状に見えてしまう。
【0005】
典型的には、表面は、多数の小さな表面要素を結合することにより形成される。従って、1つの表面を描く過程で、多数の多角形表面要素が描かれる。三角形表面要素は組み合わせることで複雑な曲線を備えた表面を容易に形成できるので、三角形表面要素がとりわけ適している。
【0006】
その結果、表面要素を描画するにあたって、ラスタライザは、結果として得られる表面要素のギザギザ形状を最小限に抑制するようにピクセルを頻繁に選択しなければならない。単純明快な数学的アプローチは、表面要素の辺を画定する線の式を用い且つ、これら線を含む平面の式を導き出すというものである。その後、ラスタライザは、その座標が線上のすべての点において最小2乗誤差を極小化するピクセルを選択できる。こうしたアプローチには、表面要素でのピクセル選択を全般的に最適化するという利点がある一方、必要な浮動小数点演算が多数に上るので、極端に時間を要するものとなる。
【0007】
速度上の制約条件を満たすため、通常、ラスタライザは、時間がかかる浮動小数点演算を避けるラスタ化方法を実行する。しかし、既知のラスタ化方法は、ピクセルアレーが、デカルト座標系により容易にモデル化できる一様な直交格子上に配列されているという前提の上に成り立っている。こうしたアルゴリズムが開発された時点における、コンピュータのモニターやプリンタなどの2次元表示装置の普及状況を考慮すれば、これは無理のない前提であった。
【0008】
しかし、それ以降、立体すなわち3次元表示装置が開発されている。こうした表示装置は、一組の局所的及び特定領域からの可視光を一定の立体領域内で生成、吸収、又は拡散できるものである。こうしたシステムの例が、ハーシ(Hirsch)の米国特許第2,967,905号、ケッチペル(Ketchpel)の米国特許第3,260,424号、ツァオ(Tsao)の米国特許第5,754,267号、及び1960年10月31日付けのAviation Weekの66乃至67ページに記載されている。
【0009】
こうした表示装置では、より理にかなった座標系は、円柱座標系である。円柱座標系の独特な性質のため、デカルト座標系に用いる描画方法は、円柱座標系の表面を描画するために簡単に利用することはできない。
【0010】
発明の概要
本発明の方法は、回転画面を備えた立体表示装置において多面体の高速描画を可能とする。この方法は、回転画面を一連の角度位置を段階的に通過させる段階を含む。それぞれの角度位置において、上記画面上に、多角形が近似的にラスタ化して描かれる。この多角形の外形が、画面上へ投影された多面体の一区画を表す。
【0011】
本発明の一態様によれば、上記画面は、画面が入口平面と同一平面に位置する第1角度位置に配置される。次に、第1及び第2の複数ボクセルが、多面体と入口平面との間の幾何学的関係に基づいて選択される。具体的には、第1の複数ボクセルは、多面体と入口平面との交差に対応し、第2の複数ボクセルは、多面体と出口平面との交差の入口平面への射影に対応する。次に、第1及び第2の複数ボクセルにより画定される多角形は、2次元結像画面上で描画される。
【0012】
本ラスタ化方法の別の態様は、多面体を、それぞれが入口平面及び出口平面によって画定されるアクティブスライス内に配置されている複数の多面体区画に分割する段階を含む。次に、アクティブスライス内に結像画面が位置していることを検出する。結像画面がアクティブスライス内に位置すると、連結多角形がこの結像画面上に描画される。この多角形は、多面体区画の入口平面への射影から得る。
【0013】
多面体は、単一の平面内に含まれる形状であってもよい。この平面形状は、三角形でも、四辺形でも、円でも、円錐領域でも、その他のいかなる平面形状でもよい。
【0014】
場合によっては、立体表示装置の光学配置が、付加的且つ随意に選択可能な本発明のステップで補正される歪みを発生させることがある。例えば、結像画面の回転が引き起こす歪みは、第1ボクセルに対応した回転座標を生成することで補正可能だが、この場合、回転座標は選択した角度の回転に対応する。同様に、台形像効果が原因となる歪みは、第1ボクセルに対応し且つ台形歪みの補正により求められる射影座標を生成することで達成できる。
【0015】
本発明の上記及びその他の特徴及び利点は、次の詳細な説明及び図面から明らかとなるはずである。
【0016】
詳細な説明
図1に示した立体表示装置10は、台座部分12及び回転部分14を含む。モータ制御装置16によって、モータ(図示)が回転部分14を、台座部分12に連結された回転軸18を中心として高速回転させる。
【0017】
台座部分12内では、光源20が、ラスタライザ22の制御下で、回転可能な結像画面26上の選択したピクセル24を照光するための空間的に変化する光のパターンを、連続的な瞬間において生成する。典型的な光源20としては、その配向がラスタライザ22に制御される、個々にアドレス可能なミラーからなる微小機械的アレーがある。この光は、回転部分14に結合し且つ軸18に同軸である回転光学サブシステム25に光学的に連通した静止光学サブシステム26を介して回転部分14の内部に導かれる。
【0018】
回転光学サブシステム26からの光は、回転光学サブシステム26の上方に配置され且つ台座部分12の周縁部に配置された第1リレーミラー30に光を向けるように角度を付けた中央ミラー28に投射される。第1リレーミラー30は、光を、台座部分12の周縁部にある第2リレーミラー32に向けて反射するように角度を付けられている。第2リレーミラー32は、第1リレーミラー30からの光を、結像画面26に向けるように角度を付けられている。
【0019】
結像画面26上で照光するピクセル及びそれらを照光する瞬間は、結像画面26の角度位置を示すデータ(モータ制御装置16により与えられる)と、3次元画像を表すデータ(データソース34に格納されている)に基づいて、ラスタライザ22により決定される。
【0020】
回転部分14が軸18を中心として回転すると、結像画面26が、回転部分14内の表示立体領域36を掃引する。回転部分14の回転速度が十分速ければ、また、連続した瞬間における照光が十分短い時間間隔で隔てられていれば、連続した曲線が、表示立体領域36内の空中に浮かんでいるように見えるはずである。
【0021】
図2は、所望の多面体(この場合は、ラスタライザ22により近似される三角形38)の軸18に直交する平面への射影を示す。結像画面26が軸18を中心に連続的に回転し、図2の半径方向線で示した閾値角度位置を通過する。これら角度位置のそれぞれにおいて、光源20は、ラスタライザ22に制御されながら、結像画面26上の選択したピクセル24を照光する。図2に示したように、正しいピクセルを正しい時刻に照光することで、所望の三角形38に近似するラスタ化した表面を掃引できる。所望の三角形38をこのように掃引するために光源20を制御するのは、ラスタライザ22の機能である。
【0022】
図1の立体表示装置10において、ラスタライザ22は、一連の画像を結像画面26に射影させる。結像画面26にどのような画像が表示されるかは、結像画面26が軸18を中心にして回転するさいの結像画面26の角度位置により決まる。しかし、画像は、画面26の角度位置と共にとぎれなく変化するわけではない。そうする代わりに、表示画像は特定の角度位置範囲では一定状態を保ち、画面26の角度位置が、図2に示した複数の閾値角度のいずれかを横切るときにのみ変化する。これら閾値角度は、通常は均等に離間され互いに非常に隣接している。図示した実施形態では、閾値角度間の分離角は、30分の弧と1度の弧との間である。
【0023】
従って、立体表示装置10の表示立体領域36は、回転軸18において交差する楔形状のスライス40を合体したものと見ることができる。図2の断面図では、各スライス40が、そのスライス40に関する閾値角度で画定された第1及び第2境界面により境界を定められている。これら境界面は、そのスライス40の「入口平面42」及び「出口平面44」と称する。画面26が軸18を中心として回転すると、画面26が、特定のスライス40の入口平面42と同一平面に位置する。画面はそのスライス40を横断し、更に、その同じスライス40の出口平面44と同一平面に位置する。図2から明らかなように、スライス40の出口平面44は、次のスライス33の入口平面と同一平面に位置している。結像画面26が任意の入口平面42と同一平面に位置するときは、画面26上に表示された画像の変更が可能となる。結像画面26がスライス40を横断している間は、画面26上の表示画像は変化せず一定である。
【0024】
所望の三角形38を描くために、ラスタライザ22が一般的に利用可能なデータには、所望の三角形の頂点のデカルト座標V0,V1,V2を得るもととなるデータが含まれる。これらの頂点から、所望の三角形38の辺L1、L2、L3、を定義する線の式を導くことができる。一例として、(x0,y0,z0)及び(x1,y1,z1)が三角形38の2つの頂点だとすると、この所望の三角形38の第1辺L0を表す次の定数が計算できる。
【数1】
【0025】
これらの定数は、所望の三角形38それぞれに一度だけ計算すればよい。図示した実施形態では、dは18ビットの符号付き固定小数点数で、htは40ビットの固定小数点数で、γは18ビットの符号付き固定小数点数である。
【0026】
性能を向上させるには、θtの値をルックアップテーブルから取得するようにする。ルックアップテーブルは、ラスタ化の正確度をあまり低下させない程度の粗さのθtの解像度を選択することで可能な限り小さくする。具体的には、θtの解像度が、表示空間のθ解像度より粗くなる場合は、異なる平面に対応するθの値が同一のr及びh値にマッピングされることがある。これは、θ方向の解像度の好ましくない低下の原因となる。
【0027】
図示した実施形態では、ルックアップテーブル内の項目数は、表示空間のθ解像度の2倍である。この比率により、ほとんどの視覚的アーチファクトを除去し、表示装置10の最小解像度の低下を防止するに十分な正確度が得られる。
【0028】
これらの定数が与えられれば、ラスタライザ22は、図2に示したような所望の三角形38と各入口平面及び出口平面42、44との交差の円柱座標を算出する。これら交差は、次の式で与えられるエンドポイントを備えた線分である。
【数2】
上記式において、θは特定の平面に関連付けられた角度である。
【0029】
図2から明らかなように、所望の三角形38は一般的に幾つかのスライスにわたる。こうした場合は、これら複数スライスが、三角形38を三角区画46a乃至eに分割する。各スライスは1つの三角形区画を含む。殆どの場合は、三角形区画46c乃至dは三角形38の頂点を含まない。三角形区画46a乃至b、46e、48a乃至bが、1つ又は2つの頂点を含む場合もある。更には、所望の三角形50が非常に小さいため、1つのスライス内に収まってしまうこともある。こうした場合では、三角形区画50(三角形そのものでもある)は3つの頂点全てを含む。
【0030】
図3を参照すると、結像画面26がスライス40の入口平面42と同一平面に位置するときは、ラスタライザが、そのスライス40に関連づけられた三角形区画46dを結像画面26に射影する。この射影により、連結多角形52が結像画面26の上に形成される。殆どの場合は、図3に示したように、結像画面26上の連結多角形52は四辺形である。三角形38の大きさ及び配向によるが、連結多角形52が3つの辺しか備えない場合もあるし、5つの辺を備える場合もある。
【0031】
次に、ラスタライザ22は、従来の2次元領域内外挿アルゴリズムを用いて連結多角形52内を埋める。こうして空白を埋められた連結多角形52は、結像画面26がスライス40を横切るあいだ、結像画面26上に残る。結像画面26がスライス40の出口平面44に達すると、ラスタライザ22は、連結多角形52を除去し、それを次のスライス54に関連付けられた三角形区画を射影して形成される別の連結多角形52と取り替える。画面上にラスタライザ22が映す連結多角形52は、三角形区画の入口平面42への射影により形成されるので、1つの三角形区分に関連付けられた連結多角形52は、次の三角形区画に関連付けられた連結多角形52と感知不能に同化する。
【0032】
殆どの場合は、図2及び3に示したように、三角形38は、スライス40の入口平面42と出口平面44との両方に交差する。こうした状況では、連結多角形52の第1の辺CDは、三角形38と入口平面42との交差により形成される線分である。連結多角形52の第2の辺は、三角形38と出口平面44との交差ABにより形成される線分の入口平面42への射影A’B’である。連結多角形52の残りの2辺は、結果的にできる多角形52が凸状となるように第1辺CDと第2辺A’B’を連結することで形成する。
【0033】
他の場合では、三角形はスライス40の入口平面42に交差するが、スライス40の出口平面44には交差しない。これは、三角形の1つ又は複数の頂点がスライス40内にある場合に典型的に起こる。これが当てはまる場合は、連結多角形52の第1の辺は、三角形と入口平面42との交差により形成される線分である。連結多角形52の残りの辺は、スライス40内の三角形38の頂点を入口平面42に射影して形成する。次に、凸状の連結多角形52が形成されるようにこれら残りの辺を連結する。
【0034】
これとは逆に、三角形38が、スライスの出口平面44と交差するが、入口平面42には交差しないこともあり得る。これは、三角形の1つ又は複数の頂点がスライス40内にある場合にも起こりうる。この場合は、連結多角形52の第1の辺は、三角形38と出口平面44との交差の入口平面42への射影である。連結多角形52の残りの辺を形成するには、頂点を入口平面42に射影し且つ射影した頂点に第1辺を連結して、凸状の連結多角形52を形成することで行う。
【0035】
最後に、三角形38がスライス40内に完全に入ってしまう可能性もあり、その場合は、三角形38はスライスの入口平面42とも出口平面44とも交差しない。この場合は、連結多角形52は、三角形38を入口平面42に射影したものとなる。
【0036】
上述のように、又、図3に示したように、三角形の頂点を含まない三角形区画に関しては、ラスタライザ22は、三角形38の入口平面42との交差及び出口平面44との交差を定義する線分(以降、「入口線分54」及び「出口線分56」と称する)を特定する。画面26が入口平面42と同一平面に位置するときは、ラスタライザ22は、入口線分54に対応するボクセルを描画する。更に、図3に示したように、ラスタライザ22は、出口線分56の入口平面42への射影(以降、「射影した出口線分58」と称する)を特定する。これにより、画面26上に連結多角形52が画定される。連結多角形の辺は、入口線分54及び射影した出口線分58を含む。その後、ラスタライザ22は、この連結多角形52を充填するボクセルを画面26上で描画する。このラスタ化は、従来の2次元多角形充填アルゴリズムを用いて実行できる。
【0037】
画面26がスライス40を横断するときは、図4に示したように、その画面26上に描画された連結多角形52が、連結多角形52の断面に対応した断面を備えた角柱62を掃引する。
【0038】
画面26が出口平面44に接近するにつれ、射影した出口線分58は出口線分56に接近する。この出口線分56は、次のスライス33の入口線分54でもある。従って、連続した連結多角形52により掃引される角柱62は、互いに滑らかに結合するように見え、結果として三角形が3次元で表示される。
【0039】
従って、本発明のラスタ化方法は、結像画面26が3次元立体領域内で円柱を掃引する際に、この結像画面26上で一連の連結多角形52をラスタ化することで、円柱座標系内において三角形をラスタ化する。
【0040】
図1に示したような特定の立体表示装置は、補正を必要とするある種の画像歪みを引き起こす。円柱座標系を適切に回転且つ射影することで、本ラスタ化方法は、これらの画像歪みを補正する。
【0041】
第1の種類の画像歪みは、光源20が、静止画像を回転する結像画面26上に射影するとき視覚的に明らかとなる。これが起こると、静止画像が、結像画面26の中心の周りを回転しているように見える。この種の歪みは、「回転歪み」と呼ばれる。
【0042】
第2の種類の歪みは、光源20が、長方形の画像を結像画面26上に射影するとき視覚的に明らかとなる。これが起こると、長方形は台形に歪んだように見える。「台形歪み」と呼ばれるこの種の歪みが発生する理由は、画面26上の画像の底部から光源20の焦点への光学通路が、画面の上部から焦点への光学通路より短いことによる。結果的に、光源20により射影される画像の上部分は、画像の底部分よりも大きく拡大されてしまう。
【0043】
台形及び回転歪みを補正する必要がある表示装置に関しては、入口線分54及び射影した出口線分58の円柱座標の計算と、連結多角形52のラスタ化との間に、付加的ステップを実行するのが好ましい。入口線分54上の一点及び射影した出口線分58上の一点の円柱座標を計算すると、それぞれ角度、半径、及び高さ(θ1,r1,h1)及び(θ2,r2,h2)となる。台形歪みは、ベクトル(r1,h1)及び(r2,h2)に射影演算を行うことにより補正して、ベクトル(r’1,h’1)及び(r’2,h’2)を得る。画面26上での光源20の画像の回転は、画面26中心の周りに反対方向に回転させることで補正する。ベクトル(r’1,h’1)は角度−θ1で回転させ、ベクトル(x1,y1)を得る。ベクトル(r’2,h’2)は角度−θ2で回転させ、ベクトル(x2,y2)を得る。ベクトル(x1,y1)は、回転部分14が角度θ1まで回転した瞬間に、入口線分54上の対応点を結像画面26上に描画するのに必ず照光しなければならない、光源20上の1点を指定する。同様に、ベクトル(x2,y2)は、回転部分14が角度θ2まで回転した瞬間に、射影した出口線分58上の対応点を結像画面26上に描画するのに必ず照光しなければならない、光源上の1点を指定する。連結多角形52は、座標(x1,y1)及び(x2,y2)により定義される辺を用いて光源20上で充填する。図1に示したものとは異なる光学通路となるように設計した表示装置では、上述した歪み補正の一方又は他方を必要とすることもあるし、何の補正も必要としないこともある。
【0044】
本発明は円柱座標系において三角形表面をラスタ化するという文脈で説明してきたが、ここで説明した原理は、一般に「多面体」と呼ばれるその他の2次元形状のラスタ化にも適用可能である。ここで使用する場合は、「多面体(原語:polytope)」は、一組の点を含む最小の凸状領域を意味し、「辺(原語:edge)」は、多面体の2つのかど又は頂点、の間の線分を意味する。
【0045】
多面体を描画するより一般的な場合では、入口線分54は、多面体と入口平面42との交差を画定し、出口線分56が多面体と出口平面44との交差を画定する。次に、多面体と出口平面44との交差が入口平面42に射影されて、連結多角形52の2辺が形成される。連結多角形52は、次に、既知の2次元多角形充填アルゴリズムのいずれかでラスタ化される。この技法は、多面体がここで説明したように三角形でも、多角形でも、円でも、円錐領域でも、その他のいかなる2次元多面体にでも適用可能である。
【0046】
結像画面26が回転すると、多面体に交差する各スライス40が一旦アクティブとなる。アクティブスライス40それぞれに関して、ラスタライザ22は、このアクティブスライス40内に位置し且つ多面体内に位置する円柱格子点となる多面体区画を画定する。その後、ラスタライザ22は、多面体区画とアクティブスライス40の境界面との交差を特定する。
【0047】
多面体Pは、各辺に索引を付け且つ各辺が2つのエンドポイントのデカルト座標で識別される直線辺リストEにより定義される。このリストへの変更がより効率的に行うことができるように、θ位置で分類した辺のスタートポイント及び辺のエンドポイントのリストを維持する。
【0048】
本ラスタ化方法は、直線辺リストEから円柱辺リストE’を導くことで初期化する。次に、エンドポイントの座標は、デカルト座標から円柱座標に変換し、且つ、円柱座標系の線定数を計算する。更に、第1及び第2エンドポイントリストLb及びLeを導く。第1エンドポイントリストLbは、辺の先頭に位置したエンドポイントのリストであり、これらエンドポイントはθの値で分類してある。第2エンドポイントリストLeは、辺の後端に位置したエンドポイントのリストであり、これらエンドポイントはθの値で分類してある。第1及び第2エンドポイントリスト内の各リスト項目は、エンドポイント位置及び対応する線への参照を含んでいる。
【0049】
初期化される付加的リストには、アクティブ辺リストA、第1及び第2スライス頂点リストIb及びIeが含まれる。アクティブ辺リストAは、円柱辺リストE’への参照を含み、どの辺がアクティブスライス40に交差するかを示す。第1及び第2スライス頂点リストIb及びIeは、辺とスライス40の入口平面及び出口平面との交点の位置を示す2次元座標を含む。具体的には、第1スライス頂点リストIbは、辺とスライス40の入口平面42との交点を含む一方、第2スライス頂点リストIeは、辺とスライス40の出口平面との交点を含む。第1及び第2ポインタpb及びpeは、第1及び第2エンドポイントリストLb及びLeの最初の項目の位置をそれぞれ示す。これら索引が、次に遭遇するエンドポイントを常時把握する。
【0050】
初期化に続いて、本ラスタ化方法は、多面体に交差するスライス40を走査する。第1エンドポイントリストLbの最初の項目により識別されるスライスと、第2エンドポイントリストLeの最終の項目により識別されるスライスとの間にある各スライス40に付いて、ラスタライザ22は、以下に説明するループを実行する。
【0051】
まず、ラスタライザ22は、第2スライス頂点リストIeを第1スライス頂点リストIbに移動する。これにより、多面体と直前のスライスの出口平面44との交差が、多面体とアクティブスライス40の入口平面42との交差と同一になる。次に、ラスタライザ22は、第2スライス頂点リストIeをクリアする。このスライス40に特定の新たな第2スライス頂点リストIeが、その後計算される。
【0052】
第1ポインタpbがこのスライス40の頂点の位置を示す一方、ラスタライザ22は、その頂点を第1スライス頂点リストIbに加え、その辺をアクティブ辺リストAに加え、且つ、第1ポインタpbを進める。第2ポインタpeがこのスライス40の頂点の位置を示す一方、ラスタライザ22は、その頂点を第1スライス頂点リストIbに加え、その辺をアクティブ辺リストAに加え、且つ、第2ポインタpeを進める。
【0053】
アクティブ辺リストA内の各辺に付いて、ラスタライザ22は、アクティブ状態の辺とスライス40の出口平面44との交点を計算する。この交点は、次に、第2スライス頂点リストIeに加えられる。
【0054】
最終的に、第1及び第2スライス頂点リストIb及びIeが埋まると、ラスタライザ22は、第1及び第2スライス頂点リストIb及びIe内の点の集合からなる凸閉包を、結像画面26上に描く。次に、ラスタライザ22は、この凸閉包の内部を充填する。
【0055】
添付した付録のソースコードは、三角形に関する上述のラスタ化方法の実装を教示している。このソースコードでは、変数「x」はベクトルで、「q」で始まる変数は角度である。一見して明らかでない関数、プロシージャ、データ構造、及びその他のソフトウェアエンティティは、次のように定義する。
【0056】
int 32ビット整数を示すタイプ規則子。
long40 40ビット整数を示すタイプ規則子。
ang_slice_inc(q) qに続くスライスの角度を戻す。
slice_number(q) 角度qのスライス番号を戻す。
jline_pos(...) 角度及び円柱線定数が与えられたとして、線上の円柱位置を計算する。
cyln2helios(q,x) 台形像効果及び回転歪みを補正することで、円柱点を物理位置に変換する。
_he_poly5(...) 指定されたスライス内で5辺を有する多角形を描く。
_he_poly4(...) 指定されたスライス内で4辺を有する多角形を描く。
_he_poly3(...) 指定されたスライス内で3辺を有する多角形を描く。
packet_triangle 三角形に関する情報を符号化するデータ構造。そのメンバは次の通り。
t0,r0,h0 = 頂点0の座標
t1,r1,h1 = 頂点1の座標
t2,r2,h2 = 頂点2の座標
L0,L1,L2 = 円柱線定数であって、
L0は、頂点0
から頂点2への線。
L1は、頂点0
から頂点1への線。
L2は、頂点1
から頂点2への線。
packet_line_k_decode(...) 上記のpacket_triangle構造から円柱線定数を復号する。
【0057】
次のソースコードは、射影した座標系を参照する。この射影した座標系は、動軸回転表示及び台形像効果の演算に関して上述した円柱座標系に関連したものである。これら演算は、次のソースコードにおいてイタリック体で示してある。
本発明とその好適な実施形態を説明したが、新規なものと主張し特許証により確保するものは以下の通りである。
付録
【図面の簡単な説明】
【図1】
立体表示装置である。
【図2】
表示立体領域の平面図である。
【図3】
連結多角形を画定するための、三角形の入口平面への射影を示す。
【図4】
併せて三角形を掃引する一組の連結多角形の平面図である。
Claims (8)
- 立体表示装置において多面体を描画する方法であって、
前記多面体を、それぞれが入口平面及び出口平面によって画定されるアクティブスライス内に配置されている複数の多面体区画に分割する段階と、
結像画面が前記アクティブスライス内に位置するときを特定する段階と、
ここにおいて、結像画面が前記アクティブスライス内に位置している間に、
前記多面体区画の前記入口平面への射影から、連結多面体を画定する段階と、
前記連結多面体を前記結像画面上に描画する段階とを包含した、方法。 - 結像画面が前記アクティブスライス内に位置するときを特定する前記段階が、前記結像画面が前記入口平面と同一平面に位置するときを特定する段階を包含した、請求項1に記載の方法。
- 結像画面が前記アクティブスライス内に位置するときを特定する前記段階が、前記結像画面が前記出口平面と同一平面に位置するときを特定する段階を包含した、請求項1に記載の方法。
- 前記多面体が平面図形となることを選択する段階を更に包含した、請求項1に記載の方法。
- 前記多面体が平面図形となることを選択する前記段階が、前記多面体が三角形となることを選択する段階を包含した、請求項4に記載の方法。
- 台形像効果を補正するための変換を使用する段階を更に包含した、請求項1に記載の方法。
- 回転歪みを補正するための変換を使用する段階を更に包含した、請求項1に記載の方法。
- 複数のボクセルを備えた立体表示装置に、所望の多面体を近似するラスタ化した多面体を描画する方法であって、
画面を、その画面が入口平面と同一平面に位置する第1角度位置に配置する段階と、
前記結像画面上の第1の複数ボクセルを選択する段階であって、前記第1の複数ボクセルが、前記所望の多面体と前記入口平面との交差に対応する、第1の複数ボクセルを選択する段階と、
前記結像画面上の第2の複数ボクセルを選択する段階であって、前記第2の複数ボクセルが、前記所望の多面体と出口平面との交差の前記入口平面への射影に対応する、複数ボクセルを選択する段階と、
前記第1及び第2の複数ボクセルを含む境界を備えた多角形を、前記入口平面上に画定する段階と、
前記多角形を充填するため、選択したボクセルを前記画面上に描画する段階とを包含した、方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US23097200P | 2000-09-07 | 2000-09-07 | |
US09/828,770 US7012601B2 (en) | 2000-09-07 | 2001-04-09 | Line drawing for a volumetric display |
PCT/US2001/042047 WO2002021448A2 (en) | 2000-09-07 | 2001-09-07 | Rasterization of polytopes in cylindrical coordinates |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004514964A true JP2004514964A (ja) | 2004-05-20 |
Family
ID=26924730
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002525583A Pending JP2004514964A (ja) | 2000-09-07 | 2001-09-07 | 円柱座標における多面体のラスタ化 |
JP2002525574A Pending JP2004508640A (ja) | 2000-09-07 | 2001-09-07 | 立体表示装置の線の描画 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002525574A Pending JP2004508640A (ja) | 2000-09-07 | 2001-09-07 | 立体表示装置の線の描画 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7012601B2 (ja) |
EP (2) | EP1316063B1 (ja) |
JP (2) | JP2004514964A (ja) |
KR (2) | KR20030046437A (ja) |
AT (2) | ATE310998T1 (ja) |
AU (2) | AU2001289203A1 (ja) |
DE (2) | DE60115257D1 (ja) |
WO (2) | WO2002021448A2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7277226B2 (en) * | 2004-01-16 | 2007-10-02 | Actuality Systems, Inc. | Radial multiview three-dimensional displays |
US7701455B2 (en) * | 2004-07-21 | 2010-04-20 | Che-Chih Tsao | Data rendering method for volumetric 3D displays |
KR100684667B1 (ko) * | 2005-03-17 | 2007-02-22 | 이미애 | 교량 배수시설 |
SG130946A1 (en) * | 2005-09-05 | 2007-04-26 | Sony Corp | System and method for user interaction with a volumetric display |
US20080194930A1 (en) * | 2007-02-09 | 2008-08-14 | Harris Melvyn L | Infrared-visible needle |
JP6060417B2 (ja) * | 2014-07-01 | 2017-01-18 | 国立研究開発法人情報通信研究機構 | 立体ディスプレイ |
CN110531870B (zh) * | 2019-08-16 | 2023-04-25 | 北京小鸟科技股份有限公司 | Kvm坐席管理系统及鼠标定位方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4371933A (en) | 1980-10-06 | 1983-02-01 | International Business Machines Corporation | Bi-directional display of circular arcs |
US4648045A (en) | 1984-05-23 | 1987-03-03 | The Board Of Trustees Of The Leland Standford Jr. University | High speed memory and processor system for raster display |
US4839828A (en) | 1986-01-21 | 1989-06-13 | International Business Machines Corporation | Memory read/write control system for color graphic display |
EP0312720A3 (en) | 1987-10-20 | 1990-06-13 | Tektronix Inc. | Double buffered graphics design system |
US4983031A (en) | 1988-07-13 | 1991-01-08 | Solomon Dennis J | Three-dimensional volumetric display system |
US4987554A (en) | 1988-08-24 | 1991-01-22 | The Research Foundation Of State University Of New York | Method of converting continuous three-dimensional geometrical representations of polygonal objects into discrete three-dimensional voxel-based representations thereof within a three-dimensional voxel-based system |
US5446479A (en) | 1989-02-27 | 1995-08-29 | Texas Instruments Incorporated | Multi-dimensional array video processor system |
US5148310A (en) * | 1990-08-30 | 1992-09-15 | Batchko Robert G | Rotating flat screen fully addressable volume display system |
JPH06273693A (ja) | 1993-03-23 | 1994-09-30 | Sony Corp | 画像表示装置および画像回転表示装置 |
US5515484A (en) * | 1993-10-06 | 1996-05-07 | Silicon Graphics, Inc. | Method and apparatus for rendering volumetric images |
US6052100A (en) * | 1994-03-16 | 2000-04-18 | The United States Of America Represented By The Secertary Of The Navy | Computer controlled three-dimensional volumetric display |
US5574836A (en) | 1996-01-22 | 1996-11-12 | Broemmelsiek; Raymond M. | Interactive display apparatus and method with viewer position compensation |
US5936767A (en) | 1996-03-18 | 1999-08-10 | Yale University | Multiplanar autostereoscopic imaging system |
EP0827129A3 (en) | 1996-08-30 | 1999-08-11 | Texas Instruments Incorporated | Formatting and storing data for display systems using spatial light modulators |
US6489961B1 (en) * | 2000-10-17 | 2002-12-03 | Actuality Systems, Inc. | Rasterization of lines in a cylindrical voxel grid |
KR20020073054A (ko) * | 2001-03-14 | 2002-09-19 | 한국과학기술연구원 | 다층영상 표현시스템 및 그 방법 |
-
2001
- 2001-04-09 US US09/828,770 patent/US7012601B2/en not_active Expired - Lifetime
- 2001-09-07 AU AU2001289203A patent/AU2001289203A1/en not_active Abandoned
- 2001-09-07 AU AU2001288838A patent/AU2001288838A1/en not_active Abandoned
- 2001-09-07 WO PCT/US2001/042047 patent/WO2002021448A2/en active IP Right Grant
- 2001-09-07 AT AT01969005T patent/ATE310998T1/de not_active IP Right Cessation
- 2001-09-07 AT AT01968598T patent/ATE368910T1/de not_active IP Right Cessation
- 2001-09-07 WO PCT/US2001/027681 patent/WO2002021439A2/en active IP Right Grant
- 2001-09-07 EP EP01968598A patent/EP1316063B1/en not_active Expired - Lifetime
- 2001-09-07 JP JP2002525583A patent/JP2004514964A/ja active Pending
- 2001-09-07 JP JP2002525574A patent/JP2004508640A/ja active Pending
- 2001-09-07 DE DE60115257T patent/DE60115257D1/de not_active Expired - Lifetime
- 2001-09-07 EP EP01969005A patent/EP1316070B1/en not_active Expired - Lifetime
- 2001-09-07 DE DE60129715T patent/DE60129715D1/de not_active Expired - Lifetime
- 2001-09-07 KR KR10-2003-7003389A patent/KR20030046437A/ko not_active Application Discontinuation
- 2001-09-07 KR KR1020037003386A patent/KR100748572B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20030046436A (ko) | 2003-06-12 |
WO2002021439A2 (en) | 2002-03-14 |
JP2004508640A (ja) | 2004-03-18 |
EP1316070B1 (en) | 2005-11-23 |
WO2002021448A3 (en) | 2002-05-30 |
US7012601B2 (en) | 2006-03-14 |
KR100748572B1 (ko) | 2007-08-13 |
DE60129715D1 (de) | 2007-09-13 |
ATE368910T1 (de) | 2007-08-15 |
AU2001288838A1 (en) | 2002-03-22 |
WO2002021439A3 (en) | 2002-05-10 |
US20020196253A1 (en) | 2002-12-26 |
DE60115257D1 (de) | 2005-12-29 |
AU2001289203A1 (en) | 2002-03-22 |
EP1316070A2 (en) | 2003-06-04 |
WO2002021448A2 (en) | 2002-03-14 |
KR20030046437A (ko) | 2003-06-12 |
ATE310998T1 (de) | 2005-12-15 |
EP1316063B1 (en) | 2007-08-01 |
WO2002021439A9 (en) | 2003-02-06 |
EP1316063A2 (en) | 2003-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6888545B2 (en) | Rasterization of polytopes in cylindrical coordinates | |
EP3129976B1 (en) | Varying effective resolution by screen location by altering rasterization parameters | |
US10503457B2 (en) | Method and apparatus for rendering perspective-correct images for a tilted multi-display environment | |
KR102101626B1 (ko) | 스크린 위치에 따라 달라지는 분해능을 가진 다수의 렌더 타겟을 위한 텍스처 매핑을 위한 그라디언트 조정 | |
US6462738B1 (en) | Curved surface reconstruction | |
US8035641B1 (en) | Fast depth of field simulation | |
US7446778B2 (en) | Dynamically adjusted brush for direct paint systems on parameterized multi-dimensional surfaces | |
US8269770B1 (en) | Tessellation of trimmed parametric surfaces by walking the surface | |
US6329977B1 (en) | Pre-filtered antialiased lines using distance functions | |
JP2006209223A (ja) | 描画方法、画像生成装置、および電子情報機器 | |
EP0329476A2 (en) | Apparatus and system for generating smooth shaded continuous tone images | |
US7948489B1 (en) | Minimizing tessellation of surfaces | |
Schütz et al. | High-quality point-based rendering using fast single-pass interpolation | |
JP2004514964A (ja) | 円柱座標における多面体のラスタ化 | |
JP2738588B2 (ja) | 立体モデル描画方法 | |
US8098264B2 (en) | Method and apparatus for rendering computer graphics primitive | |
US6906729B1 (en) | System and method for antialiasing objects | |
US8217936B1 (en) | Minimizing tessellation of surfaces | |
WO1999045502A1 (en) | Subsampled texture edge antialiasing | |
US11727638B1 (en) | Adaptive geometric smoothing | |
JP2004054634A (ja) | 画像処理装置およびその方法 | |
JP5321385B2 (ja) | 画像処理プログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP2010140101A (ja) | 描画装置 | |
JP2002063592A (ja) | 三次元画像生成装置、及び三次元画像生成方法 | |
Capowski et al. | Three-Dimensional Displays and Plots of Anatomic Structures |