特許第6592308号(P6592308)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 日本ユニシス株式会社の特許一覧

特許6592308曲面描画装置および曲面描画用プログラム
<>
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000002
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000003
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000004
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000005
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000006
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000007
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000008
  • 特許6592308-曲面描画装置および曲面描画用プログラム 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6592308
(24)【登録日】2019年9月27日
(45)【発行日】2019年10月16日
(54)【発明の名称】曲面描画装置および曲面描画用プログラム
(51)【国際特許分類】
   G06T 17/30 20060101AFI20191007BHJP
【FI】
   G06T17/30
【請求項の数】4
【全頁数】10
(21)【出願番号】特願2015-166352(P2015-166352)
(22)【出願日】2015年8月26日
(65)【公開番号】特開2017-45213(P2017-45213A)
(43)【公開日】2017年3月2日
【審査請求日】2018年7月31日
(73)【特許権者】
【識別番号】591030237
【氏名又は名称】日本ユニシス株式会社
(74)【代理人】
【識別番号】100105784
【弁理士】
【氏名又は名称】橘 和之
(72)【発明者】
【氏名】清水 保弘
【審査官】 岡本 俊威
(56)【参考文献】
【文献】 特開2014−219789(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 17/00−17/30
(57)【特許請求の範囲】
【請求項1】
多角形メッシュの頂点と中間制御点とから多角形メッシュの線分を補間した曲線を算出して描画する曲面描画装置であって、
上記多角形メッシュが隣接する部分の線分が、当該隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たす折れ線に相当するか否かを判定する折れ線判定部と、
上記折れ線判定部により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、上記折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルとを設定する法線ベクトル設定部と、
上記線分の始点を通り、かつ、上記始点に設定された上記第1の法線ベクトルに直交する第1の接平面と上記始点に設定された上記第2の法線ベクトルに直交する第2の接平面との交線である始点側交線を求めるとともに、上記線分の終点を通り、かつ、上記終点に設定された上記第1の法線ベクトルに直交する第1の接平面と上記終点に設定された上記第2の法線ベクトルに直交する第2の接平面との交線である終点側交線を求める交線算出部と、
上記交線算出部により求められた上記始点側交線および上記終点側交線の上にそれぞれ上記中間制御点を配置し、当該配置した中間制御点および上記線分の始終点を用いて上記線分を曲線補間する曲線演算部と、
上記曲線演算部により求められた上記曲線を描画する曲線描画部とを備えたことを特徴とする曲面描画装置。
【請求項2】
上記法線ベクトル設定部は、上記折れ線判定部により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して上記一方側に存在する多角形メッシュの法線ベクトルの平均値を上記第1の法線ベクトルとして設定するとともに、上記折れ線に対して上記他方側に存在する多角形メッシュの法線ベクトルの平均値を上記第2の法線ベクトルとして設定することを特徴とする請求項1に記載の曲面描画装置。
【請求項3】
上記曲線演算部は、上記線分の始終点をP30,P03、上記中間制御点をP21,P12、上記始終点の位置ベクトルをx0,x1、上記曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって上記線分を曲線補間することを特徴とする請求項1または2に記載の曲面描画装置。
x(ζ)=P30(1−ζ)3+P21・3(1−ζ) 2ζ+P12・3(1−ζ)ζ2+P03ζ3
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(x0+x1)/2−c/2
【請求項4】
多角形メッシュの頂点と中間制御点とから多角形メッシュの線分を補間した曲線を算出して描画するための曲面描画用プログラムであって、
上記多角形メッシュが隣接する部分の線分が、当該隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たす折れ線に相当するか否かを判定する折れ線判定手段、
上記折れ線判定手段により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、上記折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルとを設定する法線ベクトル設定手段、
上記線分の始点を通り、かつ、上記始点に設定された上記第1の法線ベクトルに直交する第1の接平面と上記始点に設定された上記第2の法線ベクトルに直交する第2の接平面との交線である始点側交線を求めるとともに、上記線分の終点を通り、かつ、上記終点に設定された上記第1の法線ベクトルに直交する第1の接平面と上記終点に設定された上記第2の法線ベクトルに直交する第2の接平面との交線である終点側交線を求める交線算出手段、
上記交線算出手段により求められた上記始点側交線および上記終点側交線の上にそれぞれ上記中間制御点を配置し、当該配置した中間制御点および上記線分の始終点を用いて上記線分を曲線補間する曲線演算手段、および
上記曲線演算手段により求められた上記曲線を描画する曲線描画手段
としてコンピュータを機能させるための曲面描画用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、曲面描画装置および曲面描画用プログラムに関し、特に、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線を描画する曲面描画装置に用いて好適なものである。
【背景技術】
【0002】
従来、有限要素法(FEM)による数値シミュレーションで使われる多面体モデル、CAD(Computer Aided Design:コンピュータ支援設計)で使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルにおける形状処理の分野において、物体表面を構成する三角形や四角形のメッシュに丸みを持たせるための技術として、「長田パッチ」と呼ばれるものが知られている。
【0003】
長田パッチは、多角形(三角形または四角形)の各頂点と、その各頂点に与えられた単位法線ベクトルをもとに計算した中間制御点とから、2次多項式を用いて多角形の各辺(線分)を2次ベジエ曲線によって補間するものであり、多角形領域内に曲面の丸みを簡便に補間するのに有効な技術である。
【0004】
しかしながら、線分の始点および終点に与えられる2つの単位法線ベクトルの方向が平行に近いとき、補間される曲線(長田セグメントという)が大きく湾曲する現象が発生する場合がある。単位法線ベクトルが平行に近い場合、始点側接平面と終点側接平面とが、始終点を結ぶ弦から大きく隔たった位置に交線を持つため、弦の中点から両接平面の交線に下した垂線の足に当たる中間制御点が弦に対して大きくずれ、結果として2次ベジエ曲線が湾曲するに至るからである。
【0005】
一般的に、長田パッチでは、このような問題を解消するために、多角形メッシュの分割を細かくすることを推奨しているが、現実の応用では多角形メッシュを随意に細かくすることができない場合も多い。そこで、本出願人は、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線(長田セグメント)が大きく湾曲するといった湾曲現象の発生を防止できるようにした技術を考案し、特許出願をした(特許文献1参照)。
【0006】
特許文献1に記載の発明は、長田パッチを拡張した3次多項式によって線分を曲線補間するようにしたものである。特許文献1に記載の発明によれば、ベジエ曲線の次数を3次に拡張した3次多項式により線分が曲線補間されるので、中間制御点が2つとなり、当該中間制御点が線分に対して大きく横にずれてしまうことがなくなる。これにより、多角形メッシュの分割を細かくすることなく、長田セグメントが大きく湾曲するといった湾曲現象の発生を防止することができる。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2014−219789号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
2次多項式またはこれを拡張した3次多項式によって線分を曲線補間する従来の長田パッチは、多角形メッシュに丸みを持たせるのには有用である。しかしながら、例えば図8のように、第1の面801と第2の面802との間に明確な境界800を持ち、当該境界800において所定角度以上の折れが存在する物体形状に対して長田パッチを適用すると、境界800における折れ部分にも丸みが付与されてしまう。そのため、境界における折れの特徴を保存しつつ、境界以外の面に対して丸み付けを行うことができないという問題があった。
【0009】
本発明は、このような問題を解決するために成されたものであり、長田パッチを用いた曲線補間により、面に対して丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存できるようにすることを目的とする。
【課題を解決するための手段】
【0010】
上記した課題を解決するために、本発明では、折れ線に相当する線分の始終点のそれぞれにおいて、2つの法線ベクトルを設定する。2つの法線ベクトルは、線分の始終点を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルである。さらに、線分の始終点のそれぞれにおいて、第1の法線ベクトルに直交する第1の接平面と第2の法線ベクトルに直交する第2の接平面との交線を求める。そして、始点側交線および終点側交線の上にそれぞれ中間制御点を配置した上で、線分の始終点と中間制御点とを用いて線分を曲線補間するようにしている。
【発明の効果】
【0011】
上記のように構成した本発明によれば、折れ線に相当する線分においては、線分の始終点のそれぞれにおいて2つの法線ベクトルが設定され、当該2つの法線ベクトルに基づいて一意に定まる始点側交線および終点側交線の上に中間制御点が配置される。このように一意に定まる各交線上に配置された中間制御点は、折れ線に対して一方側に位置する面を構成する多角形メッシュから導き出される第1の法線ベクトルと、他方側に位置する面を構成する多角形メッシュから導き出される第2の法線ベクトルとに基づいて算出されるものであるため、2つの法線ベクトルが成す角度、つまり折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとなっている。これにより、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
【図面の簡単な説明】
【0012】
図1】本実施形態による曲面描画装置の構成例を示す機能ブロック図である。
図2】本実施形態による折れ線判定部の処理内容を説明するための図である。
図3】本実施形態による曲線演算部の処理内容を説明するための図である。
図4】本実施形態による2等分平面算出部の処理内容を説明するための図である。
図5】本実施形態による補正制御点の求め方を説明するための図である。
図6】本実施形態による折れ線処理部が備える法線ベクトル設定部の処理内容を説明するための図である。
図7】本実施形態による交線算出部の処理内容を説明するための図である。
図8】面と面の間に折れが存在する物体形状の一例を示す図である。
【発明を実施するための形態】
【0013】
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による曲面描画装置の機能構成例を示すブロック図である。本実施形態の曲面描画装置は、有限要素法による数値シミュレーションで使われる多面体モデル、CADで使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルで表された物体形状に関して、物体表面を構成する多角形メッシュの線分を曲線補間して描画するものである。曲線補間は、多角形メッシュの頂点と、当該頂点における法線ベクトルを用いて計算される位置に設定した中間制御点とを利用して、長田パッチの拡張した3次多項式に基づいて行う。
【0014】
図1に示すように、本実施形態による曲面描画装置100は、その機能構成として、折れ線判定部10、非折れ線処理部20、折れ線処理部30、曲線描画部40および表示制御部50を備えて構成されている。非折れ線処理部20は、その具体的な機能構成として、法線ベクトル設定部21、2等分平面算出部22および曲線演算部23を備えている。また、折れ線処理部30は、その具体的な機能構成として、法線ベクトル設定部31、交線算出部32および曲線演算部33を備えている。
【0015】
上記各機能ブロック10〜50は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック10〜50は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された曲面描画用プログラムが動作することによって実現される。
【0016】
折れ線判定部10は、2つの多角形メッシュが隣接する部分の線分が、折れ線に相当するか否かを判定する。折れ線に相当するか否かは、隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たすか否かによって判定する。
【0017】
図2は、この折れ線判定部10の処理内容を説明するための図である。なお、本実施形態では多角形メッシュの一例として、三角形メッシュを用いるものとする。図2(a)のように、2つの三角形メッシュ201,202が一辺203を共有して隣接している場合、折れ線判定部10は、2つの三角形メッシュ201,202が隣接する部分の線分203が折れ線に相当するか否かを判定する。具体的には、図2(b)に示すように、隣接する三角形メッシュ201,202間の折れ角θが、所定角度以上のピン角であるか否かを判定する。
【0018】
折れ線判定部10は、折れ角θが所定角度以上であれば、その折れ角θはピン角とみなし、線分203は折れ線であると判定する。なお、所定角度の値は、ユーザがキーボードやマウス等の入力デバイスを操作することにより、所定の入力画面を通じて曲面描画装置100にあらかじめ設定しておく。ユーザは、描画対象とする物体形状が持つ面と面の境界における折れ部分の状態に応じて、任意の値を所定角度として設定することが可能である。
【0019】
非折れ線処理部20は、折れ線判定部10により折れ線ではないと判定された線分(非折れ線)に対して、長田パッチの拡張した3次多項式を適用して曲線補間を行う。この非折れ線処理部20が行う処理は、特許文献1に記載された処理と同じである。
【0020】
折れ線処理部30は、折れ線判定部10により折れ線であると判定された線分(折れ線)に対して、長田パッチの拡張した3次多項式を適用して曲線補間を行う。この折れ線処理部30の行う処理が、本出願において新規性を有する部分である。つまり、折れ線処理部30が本実施形態の要部である。
【0021】
曲線描画部40は、非折れ線処理部20および折れ線処理部30がそれぞれ備える曲線演算部23,33により求められた曲線を描画する。表示制御部50は、曲線描画部40により描画された曲線をディスプレイ(図示せず)に表示させる。多角形メッシュの各線分に対して非折れ線処理部20または折れ線処理部30の処理を行うことにより、各多角形メッシュの辺を補間した曲線をディスプレイに表示させることが可能である。
【0022】
以下に、非折れ線処理部20および折れ線処理部30の具体的な処理内容を説明する。まず、非折れ線処理部20の処理内容を説明する。上述したように、非折れ線処理部20が行う処理は、特許文献1に記載された処理と同じであるから、ここではその内容を簡単に説明することとする。なお、ここでは、多角形メッシュの1つの線分に対する処理について説明する。
【0023】
図3は、曲線演算部23の処理内容を説明するための図である。図3に示すように、線分の始終点をP30,P03、中間制御点をP21,P12、始終点P30,P03の位置ベクトルをx0,x1、求める曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、曲線演算部23は、次の3次多項式によって線分を曲線補間する。
x(ζ)=P30(1−ζ)3+P21・3(1−ζ) 2ζ+P12・3(1−ζ)ζ2+P03ζ3
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(x0+x1)/2−c/2:2次多項式で曲線補間する場合の中間制御点
【0024】
2等分平面算出部22は、中間制御点P21,P12を配置するための2等分平面Πを算出する。法線ベクトル設定部21は、2等分平面Πを算出する際に必要となる始終点P30,P03における単位法線ベクトルをn0,n1を設定する。ここで、法線ベクトル設定部21は、多角形メッシュの線分の始終点P30,P03において、形状表面に直交する方向に対して法線ベクトルn0,n1を設定する。
【0025】
図4は、2等分平面算出部22の処理内容を説明するための図である。ここでは、位置xj(j=0,1)を通り法線ベクトルnjに直交する接平面を{xj,nj}で表すものとする。図4に示すように、2等分平面算出部22は、始終点x0,x1を結ぶ線分を含み、かつ、当該線分の始点x0を通り始点側接平面{x0,n0}に直交する平面を第1平面Π0とする。また、上記線分を含み、かつ、当該線分の終点x1を通り終点側接平面{x1,n1}に直交する平面を第2平面Π1とする。そして、第1平面Π0と第2平面Π1とを等角で2等分する平面のうち、第1平面Π0と第2平面Π1となす角が小さい方を2等分平面Πとして設定する。
【0026】
曲線演算部23は、図3に示すように、2等分平面算出部22により設定された2等分平面Πの上に、線分の始終点x0=P30,x1=P03および2つの中間制御点P21,P12を配置する。上述のように、中間制御点P21,P12を配置する位置は、P21=(x0+2P11)/3,P21=(2P11+x1)/3である。そして、当該配置した始終点P30,P03および2つの中間制御点P21,P12を用いて、上述した3次多項式によって線分を曲線補間する。
【0027】
なお、始終点P30,P03における2つの接平面{x0,n0},{x1,n1}の交線が、当該始終点P30,P03を結ぶ弦(線分)から大きく隔たっていると、接線の方向と弦の方向とが逆行する現象が生じる。すなわち、始点P30での接線方向が弦の方向(始点P30から終点P03に向かう方向)と逆行し、終点P03での接線方向が弦の方向と逆行する。
【0028】
このように、相手端点の接平面との交点位置が弦の方向と逆行する場合を考慮して、次式のように補正制御点P11(0),P11(1)を定める。
21=(P30+2P11(0))/3
12=(2P11(1)+P03)/3
この補正制御点P11(0),P11(1)は、逆行が起きていない場合には2次ベジエ曲線の制御点P11に一致する。
【0029】
一方、逆行が起きている場合には、図5に示すように、2次ベジエ曲線の各端点の接線上で相手側(始点側接線では終点側、終点側接線では始点側)の接線を2等分平面上で弦について線対称に配置して得られる交点とする。図5に示すように、相手=終点側接線を弦について線対称(上向きの白抜き矢印)に配置して始点側接線と交点P11(0)を求める。逆に、始点側接線を弦について線対称(下向きの白抜き矢印)に配置して終点側接線と交点P11(1)を求めてから、上記の式で3次ベジエ曲線の制御点P21,P12を決めると、逆行が回避される。
【0030】
以上のような演算を行うことにより、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止することができる。
【0031】
次に、折れ線処理部30の処理内容について説明する。法線ベクトル設定部31は、折れ線判定部10により折れ線であると判定された線分の始終点P30,P03のそれぞれにおいて、2つの法線ベクトルを設定する。2つの法線ベクトルは、線分の始終点P30,P03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルである。
【0032】
具体的には、法線ベクトル設定部31は、折れ線判定部10により折れ線であると判定された線分の始終点P30,P03のそれぞれにおいて、当該始終点P30,P03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュの法線ベクトルの平均値を第1の法線ベクトルとして設定する。また、折れ線に対して他方側に存在する多角形メッシュの法線ベクトルの平均値を第2の法線ベクトルとして設定する。
【0033】
図6は、法線ベクトル設定部31の処理内容を説明するための図である。図6では、折れ線判定部10により折れ線であると判定された線分600の始点P30において、第1の法線ベクトルn0(1)および第2の法線ベクトルn0(2)を求める処理について示している。なお、太線で示した部分が折れ線に相当する。
【0034】
法線ベクトル設定部31は、始点P30を頂点として共有する6つの多角形メッシュ601〜606のうち、折れ線に対して一方側に存在する3つの多角形メッシュ601〜603の法線ベクトルの平均値を第1の法線ベクトルn0(1)として設定する。また、折れ線に対して他方側に存在する3つの多角形メッシュ604〜606の法線ベクトルの平均値を第2の法線ベクトルn0(2)として設定する。
【0035】
なお、線分600の始点P30における2つの法線ベクトルn0(1),n0(2)を求める際に、当該線分600を共有して隣接する2つの多角形メッシュ603,606のうち、折れ線600に対して一方側に存在する多角形メッシュ603の法線ベクトルのみから第1の法線ベクトルn0(1)を設定するとともに、折れ線600に対して他方側に存在する多角形メッシュ606の法線ベクトルのみから第2の法線ベクトルn0(2)を設定することも可能である。
【0036】
ただし、線分600の始点P30は、多角形メッシュ603の頂点であるばかりでなく、多角形メッシュ601,602の頂点でもある。よって、この頂点における第1の法線ベクトルn0(1)を求める際には、3つの多角形メッシュ601〜603の法線ベクトルを全て考慮するのが好ましい。同様に、線分600の始点P30は、多角形メッシュ606の頂点であるばかりでなく、多角形メッシュ604,605の頂点でもある。よって、この頂点における第2の法線ベクトルn0(2)を求める際には、3つの多角形メッシュ604〜606の法線ベクトルを全て考慮するのが好ましい。
【0037】
線分600の終点P03においても同様にして、終点P03を頂点として共有する複数の多角形メッシュ(多角形メッシュ603,606および図示しない他の多角形メッシュ)の法線ベクトルに基づいて、第1の法線ベクトルn1(1)および第2の法線ベクトルn1(2)を求める。
【0038】
交線算出部32は、線分の始点P30を通り、かつ、始点P30に設定された第1の法線ベクトルn0(1)に直交する第1の接平面と、第2の法線ベクトルn0(2)に直交する第2の接平面との交線(以下、始点側交線という)を求める。また、交線算出部32は、線分の終点P03を通り、かつ、終点P03に設定された第1の法線ベクトルn1(1)に直交する第1の接平面と、第2の法線ベクトルn1(2)に直交する第2の接平面との交線(以下、終点側交線という)を求める。
【0039】
図7は、交線算出部32の処理内容を説明するための図である。図7に示すように、交線算出部32は、線分の始点P30を通り、かつ、始点P30に設定された第1の法線ベクトルn0(1)に直交する第1の接平面{x0,n0(1)}と、第2の法線ベクトルn0(2)に直交する第2の接平面{x0,n0(2)}との交線である始点側交線701を求める。
【0040】
また、交線算出部32は、線分の終点P03を通り、かつ、終点P03に設定された第1の法線ベクトルn1(1)に直交する第1の接平面{x1,n1(1)}と、第2の法線ベクトルn1(2)に直交する第2の接平面{x1,n1(2)}との交線である終点側交線702を求める。
【0041】
曲線演算部33は、交線算出部32により求められた始点側交線701および終点側交線702の上にそれぞれ中間制御点P21,P12を配置し、当該配置した中間制御点P21,P12および線分の始終点P30,P03を用いて線分を曲線補間する。本実施形態では、図7に示すように、始点側交線701の上に1つの中間制御点P21を配置するとともに、終点側交線702の上に1つの中間制御点P12を配置している。
【0042】
また、本実施形態では、曲線演算部33は、非折れ線処理部20の曲線演算部23と同様に、線分の始終点をP30,P03、中間制御点をP21,P12、始終点の位置ベクトルをx0,x1、曲線の曲率パラメータをc、0≦ζ≦1をパラメータとして、次の3次多項式によって線分を曲線補間する。
x(ζ)=P30(1−ζ)3+P21・3(1−ζ) 2ζ+P12・3(1−ζ)ζ2+P03ζ3
ここで、
30=x0 ,P03=x1
21=(x0+2P11)/3,P21=(2P11+x1)/3
11=(x0+x1)/2−c/2
【0043】
以上詳しく説明したように、本実施形態によれば、折れ線に相当しない線分については、非折れ線処理部20において特許文献1に記載の処理と同様の処理が行われる。これにより、長田パッチの拡張した3次多項式を用いた曲線補間により、折れ線部分以外の面に対して丸み付けを行うことができる。その際、2つの中間制御点P21,P12が線分に対して大きく横にずれてしまうことを防ぎ、長田セグメントが大きく湾曲するといった湾曲現象の発生を防ぐことができる。
【0044】
また、折れ線に相当する線分については、折れ線処理部30によって本実施形態特有の処理が行われる。折れ線処理部30により設定される2つの中間制御点P21,P12は、折れ線の一方側に位置する多角形メッシュから導き出される第1の法線ベクトルnj(1)と、他方側に位置する多角形メッシュから導き出される第2の法線ベクトルnj(2)とに基づいて算出されるものであるため、折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとすることができる。これにより、長田パッチの拡張した3次多項式を用いた曲線補間を行っても、折れ線部分に対して折れの特徴を維持することができる。
【0045】
以上のように、本実施形態によれば、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
【0046】
なお、上記実施形態では、多角形メッシュの一例として三角形メッシュをとりあげて説明をしたが、本発明はこれに限定されない。例えば、四角形メッシュに本発明を適用することも可能である。
【0047】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0048】
100 曲面描画装置
10 折れ線判定部
20 非折れ線処理部
21 法線ベクトル設定部
22 2等分平面算出部
23 曲線演算部
30 折れ線処理部
31 法線ベクトル設定部
32 交線算出部
33 曲線演算部
40 曲線描画部
50 表示制御部
図1
図2
図3
図4
図5
図6
図7
図8