(57)【特許請求の範囲】
【請求項１】
多角形メッシュの頂点と中間制御点とから多角形メッシュの線分を補間した曲線を算出して描画する曲面描画装置であって、
上記多角形メッシュが隣接する部分の線分が、当該隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たす折れ線に相当するか否かを判定する折れ線判定部と、
上記折れ線判定部により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して一方側に存在する多角形メッシュから導き出される第１の法線ベクトルと、上記折れ線に対して他方側に存在する多角形メッシュから導き出される第２の法線ベクトルとを設定する法線ベクトル設定部と、
上記線分の始点を通り、かつ、上記始点に設定された上記第１の法線ベクトルに直交する第１の接平面と上記始点に設定された上記第２の法線ベクトルに直交する第２の接平面との交線である始点側交線を求めるとともに、上記線分の終点を通り、かつ、上記終点に設定された上記第１の法線ベクトルに直交する第１の接平面と上記終点に設定された上記第２の法線ベクトルに直交する第２の接平面との交線である終点側交線を求める交線算出部と、
上記交線算出部により求められた上記始点側交線および上記終点側交線の上にそれぞれ上記中間制御点を配置し、当該配置した中間制御点および上記線分の始終点を用いて上記線分を曲線補間する曲線演算部と、
上記曲線演算部により求められた上記曲線を描画する曲線描画部とを備えたことを特徴とする曲面描画装置。
【請求項２】
上記法線ベクトル設定部は、上記折れ線判定部により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して上記一方側に存在する多角形メッシュの法線ベクトルの平均値を上記第１の法線ベクトルとして設定するとともに、上記折れ線に対して上記他方側に存在する多角形メッシュの法線ベクトルの平均値を上記第２の法線ベクトルとして設定することを特徴とする請求項１に記載の曲面描画装置。
【請求項３】
上記曲線演算部は、上記線分の始終点をＰ30，Ｐ03、上記中間制御点をＰ21，Ｐ12、上記始終点の位置ベクトルをｘ0，ｘ1、上記曲線の曲率パラメータをｃ、０≦ζ≦１をパラメータとして、次の３次多項式によって上記線分を曲線補間することを特徴とする請求項１または２に記載の曲面描画装置。
ｘ(ζ)＝Ｐ30(１−ζ)3＋Ｐ21・３(１−ζ) 2ζ＋Ｐ12・３(１−ζ)ζ2＋Ｐ03ζ3
ここで、
Ｐ30＝ｘ0 ，Ｐ03＝ｘ1
Ｐ21＝(ｘ0＋２Ｐ11)／３，Ｐ21＝(２Ｐ11＋ｘ1)／３
Ｐ11＝(ｘ0＋ｘ1)／２−ｃ／２
【請求項４】
多角形メッシュの頂点と中間制御点とから多角形メッシュの線分を補間した曲線を算出して描画するための曲面描画用プログラムであって、
上記多角形メッシュが隣接する部分の線分が、当該隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たす折れ線に相当するか否かを判定する折れ線判定手段、
上記折れ線判定手段により上記折れ線であると判定された線分の始終点のそれぞれにおいて、当該始終点を頂点として共有する複数の多角形メッシュのうち、上記折れ線に対して一方側に存在する多角形メッシュから導き出される第１の法線ベクトルと、上記折れ線に対して他方側に存在する多角形メッシュから導き出される第２の法線ベクトルとを設定する法線ベクトル設定手段、
上記線分の始点を通り、かつ、上記始点に設定された上記第１の法線ベクトルに直交する第１の接平面と上記始点に設定された上記第２の法線ベクトルに直交する第２の接平面との交線である始点側交線を求めるとともに、上記線分の終点を通り、かつ、上記終点に設定された上記第１の法線ベクトルに直交する第１の接平面と上記終点に設定された上記第２の法線ベクトルに直交する第２の接平面との交線である終点側交線を求める交線算出手段、
上記交線算出手段により求められた上記始点側交線および上記終点側交線の上にそれぞれ上記中間制御点を配置し、当該配置した中間制御点および上記線分の始終点を用いて上記線分を曲線補間する曲線演算手段、および
上記曲線演算手段により求められた上記曲線を描画する曲線描画手段
としてコンピュータを機能させるための曲面描画用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲面描画装置および曲面描画用プログラムに関し、特に、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線を描画する曲面描画装置に用いて好適なものである。
【背景技術】
【０００２】
従来、有限要素法（ＦＥＭ）による数値シミュレーションで使われる多面体モデル、ＣＡＤ（Computer Aided Design：コンピュータ支援設計）で使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルにおける形状処理の分野において、物体表面を構成する三角形や四角形のメッシュに丸みを持たせるための技術として、「長田パッチ」と呼ばれるものが知られている。
【０００３】
長田パッチは、多角形（三角形または四角形）の各頂点と、その各頂点に与えられた単位法線ベクトルをもとに計算した中間制御点とから、２次多項式を用いて多角形の各辺（線分）を２次ベジエ曲線によって補間するものであり、多角形領域内に曲面の丸みを簡便に補間するのに有効な技術である。
【０００４】
しかしながら、線分の始点および終点に与えられる２つの単位法線ベクトルの方向が平行に近いとき、補間される曲線（長田セグメントという）が大きく湾曲する現象が発生する場合がある。単位法線ベクトルが平行に近い場合、始点側接平面と終点側接平面とが、始終点を結ぶ弦から大きく隔たった位置に交線を持つため、弦の中点から両接平面の交線に下した垂線の足に当たる中間制御点が弦に対して大きくずれ、結果として２次ベジエ曲線が湾曲するに至るからである。
【０００５】
一般的に、長田パッチでは、このような問題を解消するために、多角形メッシュの分割を細かくすることを推奨しているが、現実の応用では多角形メッシュを随意に細かくすることができない場合も多い。そこで、本出願人は、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの２端点を結ぶ線分を曲線補間することによって得られる曲線（長田セグメント）が大きく湾曲するといった湾曲現象の発生を防止できるようにした技術を考案し、特許出願をした（特許文献１参照）。
【０００６】
特許文献１に記載の発明は、長田パッチを拡張した３次多項式によって線分を曲線補間するようにしたものである。特許文献１に記載の発明によれば、ベジエ曲線の次数を３次に拡張した３次多項式により線分が曲線補間されるので、中間制御点が２つとなり、当該中間制御点が線分に対して大きく横にずれてしまうことがなくなる。これにより、多角形メッシュの分割を細かくすることなく、長田セグメントが大きく湾曲するといった湾曲現象の発生を防止することができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１４−２１９７８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
２次多項式またはこれを拡張した３次多項式によって線分を曲線補間する従来の長田パッチは、多角形メッシュに丸みを持たせるのには有用である。しかしながら、例えば図８のように、第１の面８０１と第２の面８０２との間に明確な境界８００を持ち、当該境界８００において所定角度以上の折れが存在する物体形状に対して長田パッチを適用すると、境界８００における折れ部分にも丸みが付与されてしまう。そのため、境界における折れの特徴を保存しつつ、境界以外の面に対して丸み付けを行うことができないという問題があった。
【０００９】
本発明は、このような問題を解決するために成されたものであり、長田パッチを用いた曲線補間により、面に対して丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記した課題を解決するために、本発明では、折れ線に相当する線分の始終点のそれぞれにおいて、２つの法線ベクトルを設定する。２つの法線ベクトルは、線分の始終点を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第１の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第２の法線ベクトルである。さらに、線分の始終点のそれぞれにおいて、第１の法線ベクトルに直交する第１の接平面と第２の法線ベクトルに直交する第２の接平面との交線を求める。そして、始点側交線および終点側交線の上にそれぞれ中間制御点を配置した上で、線分の始終点と中間制御点とを用いて線分を曲線補間するようにしている。
【発明の効果】
【００１１】
上記のように構成した本発明によれば、折れ線に相当する線分においては、線分の始終点のそれぞれにおいて２つの法線ベクトルが設定され、当該２つの法線ベクトルに基づいて一意に定まる始点側交線および終点側交線の上に中間制御点が配置される。このように一意に定まる各交線上に配置された中間制御点は、折れ線に対して一方側に位置する面を構成する多角形メッシュから導き出される第１の法線ベクトルと、他方側に位置する面を構成する多角形メッシュから導き出される第２の法線ベクトルとに基づいて算出されるものであるため、２つの法線ベクトルが成す角度、つまり折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとなっている。これにより、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態による曲面描画装置の構成例を示す機能ブロック図である。
【図２】本実施形態による折れ線判定部の処理内容を説明するための図である。
【図３】本実施形態による曲線演算部の処理内容を説明するための図である。
【図４】本実施形態による２等分平面算出部の処理内容を説明するための図である。
【図５】本実施形態による補正制御点の求め方を説明するための図である。
【図６】本実施形態による折れ線処理部が備える法線ベクトル設定部の処理内容を説明するための図である。
【図７】本実施形態による交線算出部の処理内容を説明するための図である。
【図８】面と面の間に折れが存在する物体形状の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による曲面描画装置の機能構成例を示すブロック図である。本実施形態の曲面描画装置は、有限要素法による数値シミュレーションで使われる多面体モデル、ＣＡＤで使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルで表された物体形状に関して、物体表面を構成する多角形メッシュの線分を曲線補間して描画するものである。曲線補間は、多角形メッシュの頂点と、当該頂点における法線ベクトルを用いて計算される位置に設定した中間制御点とを利用して、長田パッチの拡張した３次多項式に基づいて行う。
【００１４】
図１に示すように、本実施形態による曲面描画装置１００は、その機能構成として、折れ線判定部１０、非折れ線処理部２０、折れ線処理部３０、曲線描画部４０および表示制御部５０を備えて構成されている。非折れ線処理部２０は、その具体的な機能構成として、法線ベクトル設定部２１、２等分平面算出部２２および曲線演算部２３を備えている。また、折れ線処理部３０は、その具体的な機能構成として、法線ベクトル設定部３１、交線算出部３２および曲線演算部３３を備えている。
【００１５】
上記各機能ブロック１０〜５０は、ハードウェア、ＤＳＰ（Digital Signal Processor）、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック１０〜５０は、実際にはコンピュータのＣＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭ、ハードディスクまたは半導体メモリ等の記録媒体に記憶された曲面描画用プログラムが動作することによって実現される。
【００１６】
折れ線判定部１０は、２つの多角形メッシュが隣接する部分の線分が、折れ線に相当するか否かを判定する。折れ線に相当するか否かは、隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たすか否かによって判定する。
【００１７】
図２は、この折れ線判定部１０の処理内容を説明するための図である。なお、本実施形態では多角形メッシュの一例として、三角形メッシュを用いるものとする。図２（ａ）のように、２つの三角形メッシュ２０１，２０２が一辺２０３を共有して隣接している場合、折れ線判定部１０は、２つの三角形メッシュ２０１，２０２が隣接する部分の線分２０３が折れ線に相当するか否かを判定する。具体的には、図２（ｂ）に示すように、隣接する三角形メッシュ２０１，２０２間の折れ角θが、所定角度以上のピン角であるか否かを判定する。
【００１８】
折れ線判定部１０は、折れ角θが所定角度以上であれば、その折れ角θはピン角とみなし、線分２０３は折れ線であると判定する。なお、所定角度の値は、ユーザがキーボードやマウス等の入力デバイスを操作することにより、所定の入力画面を通じて曲面描画装置１００にあらかじめ設定しておく。ユーザは、描画対象とする物体形状が持つ面と面の境界における折れ部分の状態に応じて、任意の値を所定角度として設定することが可能である。
【００１９】
非折れ線処理部２０は、折れ線判定部１０により折れ線ではないと判定された線分（非折れ線）に対して、長田パッチの拡張した３次多項式を適用して曲線補間を行う。この非折れ線処理部２０が行う処理は、特許文献１に記載された処理と同じである。
【００２０】
折れ線処理部３０は、折れ線判定部１０により折れ線であると判定された線分（折れ線）に対して、長田パッチの拡張した３次多項式を適用して曲線補間を行う。この折れ線処理部３０の行う処理が、本出願において新規性を有する部分である。つまり、折れ線処理部３０が本実施形態の要部である。
【００２１】
曲線描画部４０は、非折れ線処理部２０および折れ線処理部３０がそれぞれ備える曲線演算部２３，３３により求められた曲線を描画する。表示制御部５０は、曲線描画部４０により描画された曲線をディスプレイ（図示せず）に表示させる。多角形メッシュの各線分に対して非折れ線処理部２０または折れ線処理部３０の処理を行うことにより、各多角形メッシュの辺を補間した曲線をディスプレイに表示させることが可能である。
【００２２】
以下に、非折れ線処理部２０および折れ線処理部３０の具体的な処理内容を説明する。まず、非折れ線処理部２０の処理内容を説明する。上述したように、非折れ線処理部２０が行う処理は、特許文献１に記載された処理と同じであるから、ここではその内容を簡単に説明することとする。なお、ここでは、多角形メッシュの１つの線分に対する処理について説明する。
【００２３】
図３は、曲線演算部２３の処理内容を説明するための図である。図３に示すように、線分の始終点をＰ30，Ｐ03、中間制御点をＰ21，Ｐ12、始終点Ｐ30，Ｐ03の位置ベクトルをｘ0，ｘ1、求める曲線の曲率パラメータをｃ、０≦ζ≦１をパラメータとして、曲線演算部２３は、次の３次多項式によって線分を曲線補間する。
ｘ(ζ)＝Ｐ30(１−ζ)3＋Ｐ21・３(１−ζ) 2ζ＋Ｐ12・３(１−ζ)ζ2＋Ｐ03ζ3
ここで、
Ｐ30＝ｘ0 ，Ｐ03＝ｘ1
Ｐ21＝(ｘ0＋２Ｐ11)／３，Ｐ21＝(２Ｐ11＋ｘ1)／３
Ｐ11＝(ｘ0＋ｘ1)／２−ｃ／２：２次多項式で曲線補間する場合の中間制御点
【００２４】
２等分平面算出部２２は、中間制御点Ｐ21，Ｐ12を配置するための２等分平面Πを算出する。法線ベクトル設定部２１は、２等分平面Πを算出する際に必要となる始終点Ｐ30，Ｐ03における単位法線ベクトルをｎ0，ｎ1を設定する。ここで、法線ベクトル設定部２１は、多角形メッシュの線分の始終点Ｐ30，Ｐ03において、形状表面に直交する方向に対して法線ベクトルｎ0，ｎ1を設定する。
【００２５】
図４は、２等分平面算出部２２の処理内容を説明するための図である。ここでは、位置ｘj（ｊ＝０，１）を通り法線ベクトルｎjに直交する接平面を｛ｘj，ｎj｝で表すものとする。図４に示すように、２等分平面算出部２２は、始終点ｘ0，ｘ1を結ぶ線分を含み、かつ、当該線分の始点ｘ0を通り始点側接平面｛ｘ0，ｎ0｝に直交する平面を第１平面Π0とする。また、上記線分を含み、かつ、当該線分の終点ｘ1を通り終点側接平面｛ｘ1，ｎ1｝に直交する平面を第２平面Π1とする。そして、第１平面Π0と第２平面Π1とを等角で２等分する平面のうち、第１平面Π0と第２平面Π1となす角が小さい方を２等分平面Πとして設定する。
【００２６】
曲線演算部２３は、図３に示すように、２等分平面算出部２２により設定された２等分平面Πの上に、線分の始終点ｘ0＝Ｐ30，ｘ1＝Ｐ03および２つの中間制御点Ｐ21，Ｐ12を配置する。上述のように、中間制御点Ｐ21，Ｐ12を配置する位置は、Ｐ21＝(ｘ0＋２Ｐ11)／３，Ｐ21＝(２Ｐ11＋ｘ1)／３である。そして、当該配置した始終点Ｐ30，Ｐ03および２つの中間制御点Ｐ21，Ｐ12を用いて、上述した３次多項式によって線分を曲線補間する。
【００２７】
なお、始終点Ｐ30，Ｐ03における２つの接平面｛ｘ0，ｎ0｝，｛ｘ1，ｎ1｝の交線が、当該始終点Ｐ30，Ｐ03を結ぶ弦（線分）から大きく隔たっていると、接線の方向と弦の方向とが逆行する現象が生じる。すなわち、始点Ｐ30での接線方向が弦の方向（始点Ｐ30から終点Ｐ03に向かう方向）と逆行し、終点Ｐ03での接線方向が弦の方向と逆行する。
【００２８】
このように、相手端点の接平面との交点位置が弦の方向と逆行する場合を考慮して、次式のように補正制御点Ｐ11(0)，Ｐ11(1)を定める。
Ｐ21＝(Ｐ30＋２Ｐ11(0))／３
Ｐ12＝(２Ｐ11(1)＋Ｐ03)／３
この補正制御点Ｐ11(0)，Ｐ11(1)は、逆行が起きていない場合には２次ベジエ曲線の制御点Ｐ11に一致する。
【００２９】
一方、逆行が起きている場合には、図５に示すように、２次ベジエ曲線の各端点の接線上で相手側（始点側接線では終点側、終点側接線では始点側）の接線を２等分平面上で弦について線対称に配置して得られる交点とする。図５に示すように、相手＝終点側接線を弦について線対称（上向きの白抜き矢印）に配置して始点側接線と交点Ｐ11(0)を求める。逆に、始点側接線を弦について線対称（下向きの白抜き矢印）に配置して終点側接線と交点Ｐ11(1)を求めてから、上記の式で３次ベジエ曲線の制御点Ｐ21，Ｐ12を決めると、逆行が回避される。
【００３０】
以上のような演算を行うことにより、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの２端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止することができる。
【００３１】
次に、折れ線処理部３０の処理内容について説明する。法線ベクトル設定部３１は、折れ線判定部１０により折れ線であると判定された線分の始終点Ｐ30，Ｐ03のそれぞれにおいて、２つの法線ベクトルを設定する。２つの法線ベクトルは、線分の始終点Ｐ30，Ｐ03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第１の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第２の法線ベクトルである。
【００３２】
具体的には、法線ベクトル設定部３１は、折れ線判定部１０により折れ線であると判定された線分の始終点Ｐ30，Ｐ03のそれぞれにおいて、当該始終点Ｐ30，Ｐ03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュの法線ベクトルの平均値を第１の法線ベクトルとして設定する。また、折れ線に対して他方側に存在する多角形メッシュの法線ベクトルの平均値を第２の法線ベクトルとして設定する。
【００３３】
図６は、法線ベクトル設定部３１の処理内容を説明するための図である。図６では、折れ線判定部１０により折れ線であると判定された線分６００の始点Ｐ30において、第１の法線ベクトルｎ0(1)および第２の法線ベクトルｎ0(2)を求める処理について示している。なお、太線で示した部分が折れ線に相当する。
【００３４】
法線ベクトル設定部３１は、始点Ｐ30を頂点として共有する６つの多角形メッシュ６０１〜６０６のうち、折れ線に対して一方側に存在する３つの多角形メッシュ６０１〜６０３の法線ベクトルの平均値を第１の法線ベクトルｎ0(1)として設定する。また、折れ線に対して他方側に存在する３つの多角形メッシュ６０４〜６０６の法線ベクトルの平均値を第２の法線ベクトルｎ0(2)として設定する。
【００３５】
なお、線分６００の始点Ｐ30における２つの法線ベクトルｎ0(1)，ｎ0(2)を求める際に、当該線分６００を共有して隣接する２つの多角形メッシュ６０３，６０６のうち、折れ線６００に対して一方側に存在する多角形メッシュ６０３の法線ベクトルのみから第１の法線ベクトルｎ0(1)を設定するとともに、折れ線６００に対して他方側に存在する多角形メッシュ６０６の法線ベクトルのみから第２の法線ベクトルｎ0(2)を設定することも可能である。
【００３６】
ただし、線分６００の始点Ｐ30は、多角形メッシュ６０３の頂点であるばかりでなく、多角形メッシュ６０１，６０２の頂点でもある。よって、この頂点における第１の法線ベクトルｎ0(1)を求める際には、３つの多角形メッシュ６０１〜６０３の法線ベクトルを全て考慮するのが好ましい。同様に、線分６００の始点Ｐ30は、多角形メッシュ６０６の頂点であるばかりでなく、多角形メッシュ６０４，６０５の頂点でもある。よって、この頂点における第２の法線ベクトルｎ0(2)を求める際には、３つの多角形メッシュ６０４〜６０６の法線ベクトルを全て考慮するのが好ましい。
【００３７】
線分６００の終点Ｐ03においても同様にして、終点Ｐ03を頂点として共有する複数の多角形メッシュ（多角形メッシュ６０３，６０６および図示しない他の多角形メッシュ）の法線ベクトルに基づいて、第１の法線ベクトルｎ1(1)および第２の法線ベクトルｎ1(2)を求める。
【００３８】
交線算出部３２は、線分の始点Ｐ30を通り、かつ、始点Ｐ30に設定された第１の法線ベクトルｎ0(1)に直交する第１の接平面と、第２の法線ベクトルｎ0(2)に直交する第２の接平面との交線（以下、始点側交線という）を求める。また、交線算出部３２は、線分の終点Ｐ03を通り、かつ、終点Ｐ03に設定された第１の法線ベクトルｎ1(1)に直交する第１の接平面と、第２の法線ベクトルｎ1(2)に直交する第２の接平面との交線（以下、終点側交線という）を求める。
【００３９】
図７は、交線算出部３２の処理内容を説明するための図である。図７に示すように、交線算出部３２は、線分の始点Ｐ30を通り、かつ、始点Ｐ30に設定された第１の法線ベクトルｎ0(1)に直交する第１の接平面｛ｘ0，ｎ0(1)｝と、第２の法線ベクトルｎ0(2)に直交する第２の接平面｛ｘ0，ｎ0(2)｝との交線である始点側交線７０１を求める。
【００４０】
また、交線算出部３２は、線分の終点Ｐ03を通り、かつ、終点Ｐ03に設定された第１の法線ベクトルｎ1(1)に直交する第１の接平面｛ｘ1，ｎ1(1)｝と、第２の法線ベクトルｎ1(2)に直交する第２の接平面｛ｘ1，ｎ1(2)｝との交線である終点側交線７０２を求める。
【００４１】
曲線演算部３３は、交線算出部３２により求められた始点側交線７０１および終点側交線７０２の上にそれぞれ中間制御点Ｐ21，Ｐ12を配置し、当該配置した中間制御点Ｐ21，Ｐ12および線分の始終点Ｐ30，Ｐ03を用いて線分を曲線補間する。本実施形態では、図７に示すように、始点側交線７０１の上に１つの中間制御点Ｐ21を配置するとともに、終点側交線７０２の上に１つの中間制御点Ｐ12を配置している。
【００４２】
また、本実施形態では、曲線演算部３３は、非折れ線処理部２０の曲線演算部２３と同様に、線分の始終点をＰ30，Ｐ03、中間制御点をＰ21，Ｐ12、始終点の位置ベクトルをｘ0，ｘ1、曲線の曲率パラメータをｃ、０≦ζ≦１をパラメータとして、次の３次多項式によって線分を曲線補間する。
ｘ(ζ)＝Ｐ30(１−ζ)3＋Ｐ21・３(１−ζ) 2ζ＋Ｐ12・３(１−ζ)ζ2＋Ｐ03ζ3
ここで、
Ｐ30＝ｘ0 ，Ｐ03＝ｘ1
Ｐ21＝(ｘ0＋２Ｐ11)／３，Ｐ21＝(２Ｐ11＋ｘ1)／３
Ｐ11＝(ｘ0＋ｘ1)／２−ｃ／２
【００４３】
以上詳しく説明したように、本実施形態によれば、折れ線に相当しない線分については、非折れ線処理部２０において特許文献１に記載の処理と同様の処理が行われる。これにより、長田パッチの拡張した３次多項式を用いた曲線補間により、折れ線部分以外の面に対して丸み付けを行うことができる。その際、２つの中間制御点Ｐ21，Ｐ12が線分に対して大きく横にずれてしまうことを防ぎ、長田セグメントが大きく湾曲するといった湾曲現象の発生を防ぐことができる。
【００４４】
また、折れ線に相当する線分については、折れ線処理部３０によって本実施形態特有の処理が行われる。折れ線処理部３０により設定される２つの中間制御点Ｐ21，Ｐ12は、折れ線の一方側に位置する多角形メッシュから導き出される第１の法線ベクトルｎj(1)と、他方側に位置する多角形メッシュから導き出される第２の法線ベクトルｎj(2)とに基づいて算出されるものであるため、折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとすることができる。これにより、長田パッチの拡張した３次多項式を用いた曲線補間を行っても、折れ線部分に対して折れの特徴を維持することができる。
【００４５】
以上のように、本実施形態によれば、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
【００４６】
なお、上記実施形態では、多角形メッシュの一例として三角形メッシュをとりあげて説明をしたが、本発明はこれに限定されない。例えば、四角形メッシュに本発明を適用することも可能である。
【００４７】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００４８】
１００  曲面描画装置
１０  折れ線判定部
２０  非折れ線処理部
２１  法線ベクトル設定部
２２  ２等分平面算出部
２３  曲線演算部
３０  折れ線処理部
３１  法線ベクトル設定部
３２  交線算出部
３３  曲線演算部
４０  曲線描画部
５０  表示制御部
【図１】
0006592308.tif 000002
【図２】
0006592308.tif 000003
【図３】
0006592308.tif 000004
【図４】
0006592308.tif 000005
【図５】
0006592308.tif 000006
【図６】
0006592308.tif 000007
【図７】
0006592308.tif 000008
【図８】
0006592308.tif 000009