図面 (/)

技術 描画方法、描画装置、および描画プログラム

出願人 サイプレスセミコンダクターコーポレーション
発明者 小路猛雄
出願日 2013年7月18日 (7年10ヶ月経過) 出願番号 2013-149187
公開日 2015年2月2日 (6年4ヶ月経過) 公開番号 2015-022462
状態 特許登録済
技術分野 イメージ処理・作成 イメージ生成 CAD
主要キーワード Y座標 線分形状 X座標 間引き処理前 グラフィックスサブシステム 削除処理手順 間引き処理後 メッシュ内
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年2月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (9)

課題

次元画像の描画を部分的に省略しながら、3次元画像の形状を維持すること。

解決手段

描画装置100は、3次元画像の描画データに設定された、3次元画像を形成するメッシュごとの間引きレベルに応じて、メッシュごとに間引き処理を行う。描画装置100は、例えば、間引きレベルに応じて、メッシュをそのまま描画し、メッシュを表す複数の頂点データを削除してメッシュを削除し、またはメッシュ内の2面の共通稜線の端点を表す頂点データを削除して共通稜線を削除する。そして、描画装置100は、間引き処理された3次元画像の描画データに基づいて、3次元画像を描画する。

概要

背景

従来、3次元画像ディスプレイ上に描画したり、ディスプレイ上に描画した3次元画像を拡大・縮小して描画したり、ディスプレイ上に描画した3次元画像を視線方向を変更して描画したりすることが行われている。また、描画処理にかかる負荷を抑えるために、3次元画像の描画を部分的に省略する技術がある。

関連する技術としては、例えば、オブジェクトを本来の三次元形状として描画するか、平面形状に簡略化して描画するか、線分形状に簡略化して描画するか、描画を省略(または点として描画)するかを決定するものがある。具体的には、コンピュータが、各オブジェクトについて、画面上に描画した際にx,y,z方向が夫々最大何ドットで表されるかを計算し、夫々に対応する所定の基準値Lx,Ly,Lzとの大小関係判別し、どのように描画するかを決定する。

概要

3次元画像の描画を部分的に省略しながら、3次元画像の形状を維持すること。描画装置100は、3次元画像の描画データに設定された、3次元画像を形成するメッシュごとの間引きレベルに応じて、メッシュごとに間引き処理を行う。描画装置100は、例えば、間引きレベルに応じて、メッシュをそのまま描画し、メッシュを表す複数の頂点データを削除してメッシュを削除し、またはメッシュ内の2面の共通稜線の端点を表す頂点データを削除して共通稜線を削除する。そして、描画装置100は、間引き処理された3次元画像の描画データに基づいて、3次元画像を描画する。

目的

本発明は、3次元画像の描画を部分的に省略しながら、3次元画像の形状を維持することができる描画方法、描画装置、および描画プログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータが、3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う、処理を実行することを特徴とする描画方法

請求項2

前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルである場合、前記複数の頂点データを削除することを特徴とする請求項1に記載の描画方法。

請求項3

前記コンピュータが、表示画面上の前記メッシュの面積を算出する処理を実行し、前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであり、前記面積が閾値以下である場合、前記複数の頂点データを削除することを特徴とする請求項2に記載の描画方法。

請求項4

前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであるが、前記面積が閾値以下でない場合、前記複数の頂点データを削除しないことを特徴とする請求項3に記載の描画方法。

請求項5

前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記メッシュに含まれる2つの面に共通する稜線を削除することを示すレベルである場合、前記複数の頂点データのうちの前記稜線の端点となる2つの頂点データを削除し、前記2つの頂点データの中間を示す頂点データを追加することを特徴とする請求項1〜4のいずれか一つに記載の描画方法。

請求項6

前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除しないことを示すレベルである場合、前記複数の頂点データを削除しないことを特徴とする請求項1〜5のいずれか一つに記載の描画方法。

請求項7

3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行う間引き部と、前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う描画部と、を有することを特徴とする描画装置

請求項8

コンピュータに、3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う、処理を実行させることを特徴とする描画プログラム

技術分野

0001

本発明は、描画方法描画装置、および描画プログラムに関する。

背景技術

0002

従来、3次元画像ディスプレイ上に描画したり、ディスプレイ上に描画した3次元画像を拡大・縮小して描画したり、ディスプレイ上に描画した3次元画像を視線方向を変更して描画したりすることが行われている。また、描画処理にかかる負荷を抑えるために、3次元画像の描画を部分的に省略する技術がある。

0003

関連する技術としては、例えば、オブジェクトを本来の三次元形状として描画するか、平面形状に簡略化して描画するか、線分形状に簡略化して描画するか、描画を省略(または点として描画)するかを決定するものがある。具体的には、コンピュータが、各オブジェクトについて、画面上に描画した際にx,y,z方向が夫々最大何ドットで表されるかを計算し、夫々に対応する所定の基準値Lx,Ly,Lzとの大小関係判別し、どのように描画するかを決定する。

先行技術

0004

特開2002−216164号公報

発明が解決しようとする課題

0005

しかしながら、上述した従来技術では、3次元画像をディスプレイに描画する際に、描画処理にかかる負荷を抑えるために3次元画像の描画を部分的に省略するとき、3次元画像の形状を特徴付ける部分の描画が省略されて、3次元画像の形状が大きく崩れてしまう場合がある。例えば、3次元画像の中で寸法が小さいオブジェクトであっても、3次元画像の形状を特徴付ける部分を形成するオブジェクトである場合、オブジェクトの描画を省略すると3次元画像の形状が大きく崩れてしまう。

0006

1つの側面では、本発明は、3次元画像の描画を部分的に省略しながら、3次元画像の形状を維持することができる描画方法、描画装置、および描画プログラムを提供することを目的とする。

課題を解決するための手段

0007

本発明の一側面によれば、3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う描画方法、描画装置、および描画プログラムが提案される。

発明の効果

0008

本発明の一態様によれば、3次元画像の描画を部分的に省略しながら、3次元画像の形状を維持することができるという効果を奏する。

図面の簡単な説明

0009

図1は、描画装置100の描画処理の具体例を示す説明図である。
図2は、実施の形態にかかる描画装置100のハードウェア構成例を示すブロック図である。
図3は、描画データ300のデータ構造の一例を示す説明図である。
図4は、描画装置100の機能的構成例を示すブロック図である。
図5は、描画装置100の描画処理の内容を示す説明図である。
図6は、描画装置100の描画処理手順の一例を示すフローチャートである。
図7は、描画装置100の間引き処理手順の一例を示すフローチャートである。
図8は、描画装置100の面削除処理手順の一例を示すフローチャートである。

実施例

0010

以下に添付図面を参照して、本発明にかかる描画方法、描画装置、および描画プログラムの実施の形態を詳細に説明する。

0011

(描画装置100の描画処理の具体例)
図1は、描画装置100の描画処理の具体例を示す説明図である。

0012

図1において、描画装置100は、3次元画像の描画データを有し、描画データに対して間引き処理を行い、間引き処理された描画データに基づいて3次元画像を描画するコンピュータである。ここで、描画データとは、3次元画像を形成する複数のメッシュの各々のメッシュを表す複数の頂点データを含むデータである。メッシュとは、1または複数の面の集合である。頂点データとは、頂点X座標値、Y座標値、およびZ座標値のデータである。

0013

また、描画データとは、3次元画像を形成する複数のメッシュの各々のメッシュの間引きレベルが設定されたデータである。間引きレベルとは、頂点データの削除度合いを示すデータである。間引きレベルとは、例えば、メッシュを削除しない、すなわち、そのまま描画するレベル、メッシュを削除するレベル、およびメッシュに含まれる2つの面に共通する稜線を削除するレベルである。

0014

以下の説明では、メッシュを削除しない、すなわち、メッシュをそのまま描画するレベルを「レベル1」と表記する場合がある。また、以下の説明では、メッシュを削除するレベルを「レベル2」と表記する場合がある。ここで、レベル2が設定されたメッシュの削除は、常に行ってもよいし、メッシュの面積閾値よりも小さい場合にのみ行ってもよい。レベル2が設定されたメッシュが複数ある場合、複数のメッシュのすべてを削除してもよいし、複数のメッシュのうちの一部を選択して削除してもよいし、複数のメッシュからランダムに選ばれたメッシュを削除してもよい。

0015

また、以下の説明では、メッシュに含まれる2つの面に共通する稜線を削除するレベルを「レベル3」と表記する場合がある。ここで、レベル3が設定されたメッシュにおける稜線の削除は、常に行ってもよいし、メッシュの面積が閾値よりも小さい場合にのみ行ってもよい。レベル3が設定されたメッシュが複数ある場合、複数のメッシュのすべてにおいて稜線を削除してもよいし、複数のメッシュのうちの一部を選択して稜線を削除してもよいし、複数のメッシュからランダムに選ばれたメッシュの稜線を削除してもよい。メッシュに含まれる2つの面に共通する稜線を削除することは、EdgeCollapseと呼ばれる。

0016

図1の例では、描画装置100は、3次元画像「りんご」の描画データに基づいて、3次元画像「りんご」を形成する複数のメッシュの各々のメッシュに対して間引き処理を行う。ここで、描画データの作成者によって、3次元画像「りんご」のうちの「葉っぱ」の部分を形成するメッシュには、3次元画像の形状を特徴付ける部分を形成するメッシュの形状を維持するために、間引きレベルとしてレベル1が設定されている。

0017

また、描画データの作成者によって、3次元画像「りんご」のうちの「胴体」の部分を形成するメッシュには、3次元画像の形状を特徴付ける部分ではない部分の描画を省略するために、間引きレベルとしてレベル3が設定されている。また、描画データの作成者によって、3次元画像「りんご」のうちの「底面」の部分を形成するメッシュには、間引きレベルとしてレベル2が設定されている。

0018

描画装置100は、例えば、3次元画像「りんご」のうちの「葉っぱ」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置100は、メッシュの間引きレベルにレベル1が設定されているため、メッシュを表す頂点データを削除せずに、そのままにする。

0019

また、描画装置100は、例えば、3次元画像「りんご」のうちの「胴体」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置100は、メッシュの間引きレベルにレベル3が設定されているため、メッシュに含まれる2つの面に共通する稜線を削除する。ここでは、描画装置100は、面Cと面Gとに共通する稜線V1−V2を削除する。描画装置100は、具体的には、頂点V1の頂点データと、頂点V2の頂点データと、を削除し、頂点V1と頂点V2との中間頂点Vの頂点データを追加する。

0020

また、描画装置100は、3次元画像「りんご」のうちの「底面」の部分を形成するメッシュに対して間引き処理を行う。この場合、描画装置100は、メッシュの間引きレベルにレベル2が設定されているため、ディスプレイ上でのメッシュの面積が閾値以下になる場合、メッシュを表す複数の頂点データを削除する。

0021

これにより、描画装置100は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。このため、描画装置100は、3次元画像の描画にかかる処理負荷を低減するとともに、3次元画像の描画にかかる時間を短縮することができる。結果として、3次元画像の閲覧者は、3次元画像を違和感なく閲覧することができる。また、描画装置100は、3次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、3次元画像の形状を維持するため、作成者の意図を考慮して3次元画像の描画効率を向上することができる。

0022

ここでは、3次元画像を形成するすべてのメッシュに間引きレベルが設定されている場合について説明したが、これに限らない。例えば、3次元画像を形成するメッシュのうち間引きレベルが設定されていないメッシュがあってもよい。この場合、描画装置100は、例えば、間引きレベルが設定されていないメッシュを、間引きレベルがレベル1に設定されたメッシュとして扱ってもよい。

0023

また、ここでは、間引きレベルが上述したレベル1〜レベル3のである場合について説明したが、これに限らない。例えば、間引きレベルには、メッシュを点として描画するレベル、すなわちメッシュを表す頂点データをひとつ残して、他の頂点データを削除するレベルがあってもよい。また、間引きレベルには、メッシュを線として描画するレベル、すなわちメッシュを表す頂点データを2つ残して、他の頂点データを削除するレベルがあってもよい。

0024

(描画装置100のハードウェア構成例)
図2は、実施の形態にかかる描画装置100のハードウェア構成例を示すブロック図である。図2において、描画装置100は、CPU(Central Processing Unit)201と、ROM(Read Only Memory)202と、RAM(Random Access Memory)203と、グラフィックスサブシステム(Graphics Subsystem)204と、ディスプレイ205と、を有する。また、各構成部はバス200によってそれぞれ接続されている。

0025

ここで、CPU201は、描画装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。ROM202は、3次元画像の描画データを記憶している。RAM203は、CPU201のワークエリアとして使用される。

0026

グラフィックスサブシステム204は、ディスプレイ205に対する画像表示を行うための一連のシステムである。グラフィックスサブシステム204は、3次元エンジン(Three−Dimensional Engine)206と、VRAM207と、ディスプレイコントローラ(Display Controller)208と、を有する。

0027

3次元エンジン206は、3次元画像の描画データを、ディスプレイ205に対する表示データに変換して、VRAM207に記憶する。VRAM207は、ディスプレイ205に対する表示データを記憶する。ディスプレイコントローラ208は、表示データをVRAM207から読み出し映像信号に変換してディスプレイ205に供給する。

0028

ディスプレイ205は、3次元画像を表示する。また、ディスプレイ205は、カーソルアイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ205は、例えば、液晶ディスプレイプラズマディスプレイなどを採用することができる。また、描画装置100は、さらに、磁気ディスクドライブキーボードマウススキャナ、およびプリンタの少なくともいずれか1つを有してもよい。

0029

(描画データ300のデータ構造)
次に、図3を用いて、描画データ300のデータ構造の一例について説明する。描画データ300は、例えば、図2に示したRAM203に記憶される。描画データ300の具体例については、図5を用いて後述する。

0030

図3は、描画データ300のデータ構造の一例を示す説明図である。図3に示すように、描画データ300は、メッシュ最大個数のデータ301を有する。ここで、メッシュ最大個数とは、3次元画像を形成するメッシュの数である。また、描画データ300は、メッシュのデータを、メッシュの数分有する。メッシュのデータは、メッシュ内頂点数のデータ302を有する。ここで、メッシュ内頂点数とは、メッシュを表す頂点の数である。また、メッシュのデータは、間引きレベルのデータ303を有する。

0031

また、メッシュのデータは、頂点データを、頂点の数分有する。頂点データは、X座標値のデータ304、Y座標値のデータ305、およびZ座標値のデータ306を有する。ここで、X座標値とは、メッシュを表す頂点の座標値のうちのX軸の座標値である。Y座標値とは、メッシュを表す頂点の座標値のうちのY軸の座標値である。Z座標値とは、メッシュを表す頂点の座標値のうちのZ軸の座標値である。

0032

(描画装置100の機能的構成例)
次に、図4を用いて、描画装置100の機能的構成例について説明する。図4は、描画装置100の機能的構成例を示すブロック図である。描画装置100は、間引き部401と描画部402とを含む。間引き部401と描画部402とは、例えば、図2に示したROM202、RAM203などの記憶装置に記憶されたプログラムをCPU201に実行させることにより、その機能を実現する。

0033

間引き部401は、3次元画像を形成するメッシュに設定された、メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、メッシュに対する間引き処理を行う。間引き部401は、例えば、メッシュの間引きレベルが上述したレベル1、レベル2、およびレベル3のいずれであるかに応じて、メッシュに対する間引き処理を行う。

0034

レベル1とは、上述したように、メッシュを表す複数の頂点データを削除せずメッシュをそのまま描画するレベルである。レベル2とは、上述したように、メッシュを表す複数の頂点データを削除するレベルである。レベル3とは、上述したように、メッシュに含まれる2つの面に共通する稜線を削除するレベルである。

0035

以下の説明では、メッシュの間引きレベルが上述したレベル1である場合にメッシュに対して行われる間引き処理を「第1の間引き処理」と表記する場合がある。また、以下の説明では、メッシュの間引きレベルが上述したレベル2である場合にメッシュに対して行われる間引き処理を「第2の間引き処理」と表記する場合がある。また、以下の説明では、メッシュの間引きレベルが上述したレベル3である場合にメッシュに対して行われる間引き処理を「第3の間引き処理」と表記する場合がある。

0036

<第1の間引き処理>
間引き部401は、メッシュの間引きレベルがレベル1である場合、メッシュを表す複数の頂点データを残しておく。間引き部401は、例えば、ROM202から描画データ300を読み出して、読み出した描画データ300の複製データのうちのメッシュ内頂点数のデータ、X座標値のデータ、Y座標値のデータ、およびZ座標値のデータを残しておく。これにより、間引き部401は、3次元画像の形状を維持することができる。

0037

<第2の間引き処理>
間引き部401は、メッシュの間引きレベルがレベル2である場合、複数の頂点データを削除する。間引き部401は、例えば、ROM202から描画データ300を読み出して、読み出した描画データ300の複製データのうちのメッシュ内頂点数のデータ、X座標値のデータ、Y座標値のデータ、およびZ座標値のデータを削除する。これにより、間引き部401は、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0038

また、間引き部401は、表示画面上のメッシュの面積を算出し、面積が閾値以下であって、メッシュの間引きレベルがレベル2である場合、複数の頂点データを削除してもよい。間引き部401は、表示画面上のメッシュの面積を算出し、面積が閾値以下ではなく、メッシュの間引きレベルがレベル2である場合、複数の頂点データを削除しない。これにより、間引き部401は、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0039

<第3の間引き処理>
間引き部401は、メッシュの間引きレベルがレベル3である場合、複数の頂点データのうちの稜線の端点となる2つの頂点データを削除し、2つの頂点データの中間を示す頂点データを追加する。間引き部401は、例えば、ROM202から描画データ300を読み出して、読み出した描画データ300の複製データのうちの稜線の端点となる2つの頂点データの各座標値平均値を算出して、新たな頂点データを作成して追加する。また、間引き部401は、2つの頂点データを削除する。これにより、間引き部401は、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。間引き処理された頂点データは、例えば、RAM203などの記憶領域に記憶される。

0040

描画部402は、間引き処理されたメッシュの頂点データに基づいて、3次元画像の描画処理を行う。描画部402は、グラフィックスサブシステム204を用いて、間引き処理された3次元画像の描画データ300に基づいて、ディスプレイ205に、3次元画像を描画する。これにより、描画部402は、3次元画像をディスプレイ205に描画して、閲覧者に3次元画像を閲覧させることができる。

0041

(描画装置100の描画処理の内容)
次に、図5を用いて、描画装置100の描画処理の内容について説明する。

0042

図5は、描画装置100の描画処理の内容を示す説明図である。図5において、描画装置100は、間引き処理前の描画データ300を、ROM202から読み出す。ここで、ROM202には、元々の描画データ300が残っている。

0043

図5の例では、読み出した描画データ300の複製データを、間引き処理前の描画データ501とする。間引き処理前の描画データ501は、メッシュ1のデータと、メッシュ2のデータと、メッシュ3のデータと、を含む。

0044

メッシュ1のデータは、間引きレベル「レベル2」を含む。また、メッシュ1のデータは、3個の頂点データを含む。メッシュ1の3個の頂点データは、座標値(−0.9,0.6928,0)を示すデータ、座標値(−0.9,−0.6928,0)を示すデータ、および座標値(−1,0,0)を示すデータである。

0045

メッシュ2のデータは、間引きレベル「レベル1」を含む。また、メッシュ2のデータは、3個の頂点データを含む。メッシュ2の3個の頂点データは、座標値(−0.8,0.6928,0)を示すデータ、座標値(−0.8,−0.6928,0)を示すデータ、および座標値(0.6,0,0)を示すデータである。

0046

メッシュ3のデータは、間引きレベル「レベル3」を含む。また、メッシュ3のデータは、10個の頂点データを含む。メッシュ3の10個の頂点データは、座標値(0.928,−0.04754,0)を示すデータ、座標値(0.679,−0.17241,0)を示すデータ、・・・、および座標値(0.973,−0.61348,0)を示すデータである。

0047

描画装置100は、メッシュ1について、間引きレベルがレベル2であるため、メッシュ1のデータを削除する。また、描画装置100は、メッシュ2について、間引きレベルがレベル1であるため、メッシュ2のデータを削除しない。

0048

描画装置100は、メッシュ3について、間引きレベルがレベル3であるため、10個の頂点データのうちの稜線の端点となる2つの頂点データを特定する。ここでは、描画装置100は、2つの頂点データとして、末尾側にある座標値(0.948,−0.2894,0)を示すデータと座標値(0.973,−0.61348,0)を示すデータとを特定する。

0049

次に、描画装置100は、特定したデータの各座標値の平均値を算出し、中間を示す頂点データ(0.96,−0.45144,0)を作成して、追加する。このように、描画装置は、間引き処理前の描画データ501を、間引き処理後の描画データ502に変換する。

0050

これにより、描画装置100は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。このため、描画装置100は、3次元画像の描画にかかる処理負荷を低減するとともに、3次元画像の描画にかかる時間を短縮することができる。結果として、3次元画像の閲覧者は、3次元画像を違和感なく閲覧することができる。また、描画装置100は、3次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、3次元画像の形状を維持するため、作成者の意図を考慮して3次元画像の描画効率を向上することができる。

0051

(描画装置100の描画処理手順の一例)
次に、図6を用いて、描画装置100の描画処理手順の一例について説明する。

0052

図6は、描画装置100の描画処理手順の一例を示すフローチャートである。図6に示すように、描画装置100は、ROM202に記憶された描画データ300を読み出して、読み出した描画データ300からメッシュ最大個数を抽出する(ステップS601)。

0053

次に、描画装置100は、変数ESH_MAXに、抽出したメッシュ最大個数を代入するとともに、変数NEW_MESH_MAXに、抽出したメッシュ最大個数を代入する(ステップS602)。そして、描画装置100は、変数nに1を代入する(ステップS603)。

0054

次に、描画装置100は、読み出した描画データ300からn番目のメッシュの間引きレベルを抽出する(ステップS604)。そして、描画装置100は、図7を用いて後述する間引き処理を行う(ステップS605)。

0055

次に、描画装置100は、変数nにn+1を代入する(ステップS606)。そして、描画装置100は、nがMESH_MAXより大きいか否かを判定する(ステップS607)。ここで、MESH_MAX以下である場合(ステップS607:No)、描画装置100は、ステップS604の処理に戻る。

0056

一方で、MESH_MAXより大きい場合(ステップS607:Yes)、描画装置100は、NEW_MESH_MAXを、間引き処理された描画データ300のメッシュ最大個数に上書きする(ステップS608)。

0057

次に、描画装置100は、変数nに1を代入する(ステップS609)。そして、描画装置100は、間引き処理された描画データ300のn番目のメッシュを描画する(ステップS610)。次に、描画装置100は、変数nにn+1を代入する(ステップS611)。そして、描画装置100は、nがNEW_MESH_MAXより大きいか否かを判定する(ステップS612)。ここで、NEW_MESH_MAX以下である場合(ステップS612:No)、描画装置100は、ステップS610の処理に戻る。

0058

一方で、NEW_MESH_MAXより大きい場合(ステップS612:Yes)、描画装置100は、描画処理を終了する。これにより、描画部402は、3次元画像をディスプレイ205に描画して、閲覧者に3次元画像を閲覧させることができる。

0059

(描画装置100の間引き処理手順の一例)
次に、図7を用いて、ステップS605に示した、描画装置100の間引き処理手順の一例について説明する。

0060

図7は、描画装置100の間引き処理手順の一例を示すフローチャートである。図7に示すように、描画装置100は、間引きレベルがいくつかを判定する(ステップS701)。ここで、間引きレベルがレベル1である場合(ステップS701:レベル1)、描画装置100は、メッシュのデータを、そのままRAM203に格納し(ステップS702)、間引き処理を終了する。

0061

一方で、間引きレベルがレベル2である場合(ステップS701:レベル2)、描画装置100は、メッシュの面積を算出する(ステップS703)。次に、描画装置100は、面積が閾値以下であるか否かを判定する(ステップS704)。

0062

ここで、閾値より大きい場合(ステップS704:No)、描画装置100は、ステップS702の処理に移行する。一方で、閾値以下である場合(ステップS704:Yes)、描画装置100は、メッシュのデータをRAM203に格納せず(ステップS705)、変数NEW_MESH_MAXにNEW_MESH_MAX−1を代入する(ステップS706)。そして、描画装置100は、間引き処理を終了する。

0063

また、ステップS701において、間引きレベルがレベル3である場合(ステップS701:レベル3)、描画装置100は、図8を用いて後述する面削除処理を行い(ステップS707)、間引き処理を終了する。これにより、描画装置100は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0064

(描画装置100の面削除処理手順の一例)
次に、図8を用いて、ステップS707に示した、描画装置100の面削除処理手順の一例について説明する。

0065

図8は、描画装置100の面削除処理手順の一例を示すフローチャートである。図8に示すように、描画装置100は、QEM(Quadric Error Metrics)手法を適用する、稜線の端点を頂点ペアとして登録する(ステップS801)。QEM手法については従来技術のため詳細な説明を省略する。

0066

次に、描画装置100は、登録した頂点ペアを共有するポリゴンから、4×4行列を算出する(ステップS802)。そして、描画装置100は、行列に基づいて、頂点ペアごとに、コストを算出する(ステップS803)。

0067

次に、描画装置100は、頂点ペアを縮退した縮退頂点の座標値を算出する(ステップS804)。そして、描画装置100は、最小コストの頂点ペアを削除して、最小コストの頂点ペアについて算出した縮退頂点の座標値を追加する(ステップS805)。

0068

次に、描画装置100は、メッシュに含まれる面の数が所定数以下であるか否かを判定する(ステップS806)。ここで、所定数より大きい場合(ステップS806:No)、描画装置100は、縮退頂点の座標値を追加した後における頂点ペアを特定し、頂点ペアのコストを算出して(ステップS807)、ステップS805の処理に戻る。

0069

一方で、所定数以下である場合(ステップS806:Yes)、描画装置100は、縮退頂点の座標値を追加したメッシュのデータをRAM203に格納して(ステップS808)、面削除処理を終了する。

0070

以上説明したように、描画方法によれば、3次元画像を形成するメッシュに設定された間引きレベルに応じて、メッシュに対する間引き処理を行うことができる。これにより、描画方法は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。このため、描画装置100は、3次元画像の描画にかかる処理負荷を低減するとともに、3次元画像の描画にかかる時間を短縮することができる。結果として、3次元画像の閲覧者は、3次元画像を違和感なく閲覧することができる。また、描画装置100は、3次元画像の描画データの作成者がメッシュごとに設定した間引きレベルに基づいて、3次元画像の形状を維持するため、作成者の意図を考慮して3次元画像の描画効率を向上することができる。

0071

また、描画方法によれば、描画レベルがレベル2の場合、メッシュを表す複数の頂点データを削除することができる。これにより、描画方法は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0072

また、描画方法によれば、メッシュの面積が閾値以下であって、描画レベルがレベル2の場合、メッシュを表す複数の頂点データを削除することができる。これにより、描画方法は、メッシュの面積が大きいためにメッシュを描画しないと閲覧者に違和感を与えうる場合は、メッシュを描画することができる。一方で、描画方法は、メッシュの面積が小さいためにメッシュを描画しなくても閲覧者に違和感を与えない場合は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0073

また、描画方法によれば、描画レベルがレベル3の場合、メッシュに含まれる2つの面に共通する稜線の端点となる2つの頂点データの中間の頂点データを作成し、2つの頂点データを削除することができる。これにより、描画方法は、3次元画像の形状を維持しつつ、3次元画像を描画する際の頂点データの数を低減して、3次元画像の描画効率を向上することができる。

0074

なお、本実施の形態で説明した描画方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本描画プログラムは、ハードディスクフレキシブルディスクCD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本描画プログラムは、インターネット等のネットワークを介して配布してもよい。

0075

上述した実施の形態に関し、さらに以下の付記を開示する。

0076

(付記1)コンピュータが、
3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う、
処理を実行することを特徴とする描画方法。

0077

(付記2)前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルである場合、前記複数の頂点データを削除することを特徴とする付記1に記載の描画方法。

0078

(付記3)前記コンピュータが、
表示画面上の前記メッシュの面積を算出する処理を実行し、
前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであり、前記面積が閾値以下である場合、前記複数の頂点データを削除することを特徴とする付記2に記載の描画方法。

0079

(付記4)前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除することを示すレベルであるが、前記面積が閾値以下でない場合、前記複数の頂点データを削除しないことを特徴とする付記3に記載の描画方法。

0080

(付記5)前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記メッシュに含まれる2つの面に共通する稜線を削除することを示すレベルである場合、前記複数の頂点データのうちの前記稜線の端点となる2つの頂点データを削除し、前記2つの頂点データの中間を示す頂点データを追加することを特徴とする付記1〜4のいずれか一つに記載の描画方法。

0081

(付記6)前記間引き処理を行う処理は、前記メッシュの間引きレベルが前記複数の頂点データを削除しないことを示すレベルである場合、前記複数の頂点データを削除しないことを特徴とする付記1〜5のいずれか一つに記載の描画方法。

0082

(付記7)前記間引き処理を行う処理は、3次元画像を形成するメッシュごとに設定された、当該メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、当該メッシュに対する間引き処理を行い、
前記描画処理を行う処理は、前記間引き処理された前記メッシュごとの頂点データに基づいて、前記3次元画像の描画処理を行うことを特徴とする付記1〜6のいずれか一つに記載の描画方法。

0083

(付記8)3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行う間引き部と、
前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う描画部と、
を有することを特徴とする描画装置。

0084

(付記9)コンピュータに、
3次元画像を形成するメッシュに設定された、前記メッシュを表す複数の頂点データの削除度合いを示す間引きレベルに応じて、前記メッシュに対する間引き処理を行い、
前記間引き処理された前記メッシュの頂点データに基づいて、前記3次元画像の描画処理を行う、
処理を実行させることを特徴とする描画プログラム。

0085

100描画装置
401間引き部
402 描画部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ