JP6592308B2 - 曲面描画装置および曲面描画用プログラム - Google Patents

曲面描画装置および曲面描画用プログラム Download PDF

Info

Publication number
JP6592308B2
JP6592308B2 JP2015166352A JP2015166352A JP6592308B2 JP 6592308 B2 JP6592308 B2 JP 6592308B2 JP 2015166352 A JP2015166352 A JP 2015166352A JP 2015166352 A JP2015166352 A JP 2015166352A JP 6592308 B2 JP6592308 B2 JP 6592308B2
Authority
JP
Japan
Prior art keywords
line
normal vector
curve
line segment
polygonal
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.)
Active
Application number
JP2015166352A
Other languages
English (en)
Other versions
JP2017045213A (ja
Inventor
保弘 清水
保弘 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nihon Unisys Ltd
Original Assignee
Nihon Unisys Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nihon Unisys Ltd filed Critical Nihon Unisys Ltd
Priority to JP2015166352A priority Critical patent/JP6592308B2/ja
Publication of JP2017045213A publication Critical patent/JP2017045213A/ja
Application granted granted Critical
Publication of JP6592308B2 publication Critical patent/JP6592308B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Generation (AREA)

Description

本発明は、曲面描画装置および曲面描画用プログラムに関し、特に、多角形メッシュの各頂点と中間制御点とから多角形メッシュの辺を滑らかに補間した曲線を描画する曲面描画装置に用いて好適なものである。
従来、有限要素法(FEM)による数値シミュレーションで使われる多面体モデル、CAD(Computer Aided Design:コンピュータ支援設計)で使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルにおける形状処理の分野において、物体表面を構成する三角形や四角形のメッシュに丸みを持たせるための技術として、「長田パッチ」と呼ばれるものが知られている。
長田パッチは、多角形(三角形または四角形)の各頂点と、その各頂点に与えられた単位法線ベクトルをもとに計算した中間制御点とから、2次多項式を用いて多角形の各辺(線分)を2次ベジエ曲線によって補間するものであり、多角形領域内に曲面の丸みを簡便に補間するのに有効な技術である。
しかしながら、線分の始点および終点に与えられる2つの単位法線ベクトルの方向が平行に近いとき、補間される曲線(長田セグメントという)が大きく湾曲する現象が発生する場合がある。単位法線ベクトルが平行に近い場合、始点側接平面と終点側接平面とが、始終点を結ぶ弦から大きく隔たった位置に交線を持つため、弦の中点から両接平面の交線に下した垂線の足に当たる中間制御点が弦に対して大きくずれ、結果として2次ベジエ曲線が湾曲するに至るからである。
一般的に、長田パッチでは、このような問題を解消するために、多角形メッシュの分割を細かくすることを推奨しているが、現実の応用では多角形メッシュを随意に細かくすることができない場合も多い。そこで、本出願人は、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線(長田セグメント)が大きく湾曲するといった湾曲現象の発生を防止できるようにした技術を考案し、特許出願をした(特許文献1参照)。
特許文献1に記載の発明は、長田パッチを拡張した3次多項式によって線分を曲線補間するようにしたものである。特許文献1に記載の発明によれば、ベジエ曲線の次数を3次に拡張した3次多項式により線分が曲線補間されるので、中間制御点が2つとなり、当該中間制御点が線分に対して大きく横にずれてしまうことがなくなる。これにより、多角形メッシュの分割を細かくすることなく、長田セグメントが大きく湾曲するといった湾曲現象の発生を防止することができる。
特開2014−219789号公報
2次多項式またはこれを拡張した3次多項式によって線分を曲線補間する従来の長田パッチは、多角形メッシュに丸みを持たせるのには有用である。しかしながら、例えば図8のように、第1の面801と第2の面802との間に明確な境界800を持ち、当該境界800において所定角度以上の折れが存在する物体形状に対して長田パッチを適用すると、境界800における折れ部分にも丸みが付与されてしまう。そのため、境界における折れの特徴を保存しつつ、境界以外の面に対して丸み付けを行うことができないという問題があった。
本発明は、このような問題を解決するために成されたものであり、長田パッチを用いた曲線補間により、面に対して丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存できるようにすることを目的とする。
上記した課題を解決するために、本発明では、折れ線に相当する線分の始終点のそれぞれにおいて、2つの法線ベクトルを設定する。2つの法線ベクトルは、線分の始終点を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルである。さらに、線分の始終点のそれぞれにおいて、第1の法線ベクトルに直交する第1の接平面と第2の法線ベクトルに直交する第2の接平面との交線を求める。そして、始点側交線および終点側交線の上にそれぞれ中間制御点を配置した上で、線分の始終点と中間制御点とを用いて線分を曲線補間するようにしている。
上記のように構成した本発明によれば、折れ線に相当する線分においては、線分の始終点のそれぞれにおいて2つの法線ベクトルが設定され、当該2つの法線ベクトルに基づいて一意に定まる始点側交線および終点側交線の上に中間制御点が配置される。このように一意に定まる各交線上に配置された中間制御点は、折れ線に対して一方側に位置する面を構成する多角形メッシュから導き出される第1の法線ベクトルと、他方側に位置する面を構成する多角形メッシュから導き出される第2の法線ベクトルとに基づいて算出されるものであるため、2つの法線ベクトルが成す角度、つまり折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとなっている。これにより、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
本実施形態による曲面描画装置の構成例を示す機能ブロック図である。 本実施形態による折れ線判定部の処理内容を説明するための図である。 本実施形態による曲線演算部の処理内容を説明するための図である。 本実施形態による2等分平面算出部の処理内容を説明するための図である。 本実施形態による補正制御点の求め方を説明するための図である。 本実施形態による折れ線処理部が備える法線ベクトル設定部の処理内容を説明するための図である。 本実施形態による交線算出部の処理内容を説明するための図である。 面と面の間に折れが存在する物体形状の一例を示す図である。
以下、本発明の一実施形態を図面に基づいて説明する。図1は、本実施形態による曲面描画装置の機能構成例を示すブロック図である。本実施形態の曲面描画装置は、有限要素法による数値シミュレーションで使われる多面体モデル、CADで使われる曲面モデル、あるいは多面体モデルと曲面モデルとを混在させたハイブリッドモデルで表された物体形状に関して、物体表面を構成する多角形メッシュの線分を曲線補間して描画するものである。曲線補間は、多角形メッシュの頂点と、当該頂点における法線ベクトルを用いて計算される位置に設定した中間制御点とを利用して、長田パッチの拡張した3次多項式に基づいて行う。
図1に示すように、本実施形態による曲面描画装置100は、その機能構成として、折れ線判定部10、非折れ線処理部20、折れ線処理部30、曲線描画部40および表示制御部50を備えて構成されている。非折れ線処理部20は、その具体的な機能構成として、法線ベクトル設定部21、2等分平面算出部22および曲線演算部23を備えている。また、折れ線処理部30は、その具体的な機能構成として、法線ベクトル設定部31、交線算出部32および曲線演算部33を備えている。
上記各機能ブロック10〜50は、ハードウェア、DSP(Digital Signal Processor)、ソフトウェアの何れによっても構成することが可能である。例えばソフトウェアによって構成する場合、上記各機能ブロック10〜50は、実際にはコンピュータのCPU、RAM、ROMなどを備えて構成され、RAMやROM、ハードディスクまたは半導体メモリ等の記録媒体に記憶された曲面描画用プログラムが動作することによって実現される。
折れ線判定部10は、2つの多角形メッシュが隣接する部分の線分が、折れ線に相当するか否かを判定する。折れ線に相当するか否かは、隣接する多角形メッシュ間の折れ角が所定角度以上となるピン角条件を満たすか否かによって判定する。
図2は、この折れ線判定部10の処理内容を説明するための図である。なお、本実施形態では多角形メッシュの一例として、三角形メッシュを用いるものとする。図2(a)のように、2つの三角形メッシュ201,202が一辺203を共有して隣接している場合、折れ線判定部10は、2つの三角形メッシュ201,202が隣接する部分の線分203が折れ線に相当するか否かを判定する。具体的には、図2(b)に示すように、隣接する三角形メッシュ201,202間の折れ角θが、所定角度以上のピン角であるか否かを判定する。
折れ線判定部10は、折れ角θが所定角度以上であれば、その折れ角θはピン角とみなし、線分203は折れ線であると判定する。なお、所定角度の値は、ユーザがキーボードやマウス等の入力デバイスを操作することにより、所定の入力画面を通じて曲面描画装置100にあらかじめ設定しておく。ユーザは、描画対象とする物体形状が持つ面と面の境界における折れ部分の状態に応じて、任意の値を所定角度として設定することが可能である。
非折れ線処理部20は、折れ線判定部10により折れ線ではないと判定された線分(非折れ線)に対して、長田パッチの拡張した3次多項式を適用して曲線補間を行う。この非折れ線処理部20が行う処理は、特許文献1に記載された処理と同じである。
折れ線処理部30は、折れ線判定部10により折れ線であると判定された線分(折れ線)に対して、長田パッチの拡張した3次多項式を適用して曲線補間を行う。この折れ線処理部30の行う処理が、本出願において新規性を有する部分である。つまり、折れ線処理部30が本実施形態の要部である。
曲線描画部40は、非折れ線処理部20および折れ線処理部30がそれぞれ備える曲線演算部23,33により求められた曲線を描画する。表示制御部50は、曲線描画部40により描画された曲線をディスプレイ(図示せず)に表示させる。多角形メッシュの各線分に対して非折れ線処理部20または折れ線処理部30の処理を行うことにより、各多角形メッシュの辺を補間した曲線をディスプレイに表示させることが可能である。
以下に、非折れ線処理部20および折れ線処理部30の具体的な処理内容を説明する。まず、非折れ線処理部20の処理内容を説明する。上述したように、非折れ線処理部20が行う処理は、特許文献1に記載された処理と同じであるから、ここではその内容を簡単に説明することとする。なお、ここでは、多角形メッシュの1つの線分に対する処理について説明する。
図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次多項式で曲線補間する場合の中間制御点
2等分平面算出部22は、中間制御点P21,P12を配置するための2等分平面Πを算出する。法線ベクトル設定部21は、2等分平面Πを算出する際に必要となる始終点P30,P03における単位法線ベクトルをn0,n1を設定する。ここで、法線ベクトル設定部21は、多角形メッシュの線分の始終点P30,P03において、形状表面に直交する方向に対して法線ベクトルn0,n1を設定する。
図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等分平面Πとして設定する。
曲線演算部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次多項式によって線分を曲線補間する。
なお、始終点P30,P03における2つの接平面{x0,n0},{x1,n1}の交線が、当該始終点P30,P03を結ぶ弦(線分)から大きく隔たっていると、接線の方向と弦の方向とが逆行する現象が生じる。すなわち、始点P30での接線方向が弦の方向(始点P30から終点P03に向かう方向)と逆行し、終点P03での接線方向が弦の方向と逆行する。
このように、相手端点の接平面との交点位置が弦の方向と逆行する場合を考慮して、次式のように補正制御点P11(0),P11(1)を定める。
21=(P30+2P11(0))/3
12=(2P11(1)+P03)/3
この補正制御点P11(0),P11(1)は、逆行が起きていない場合には2次ベジエ曲線の制御点P11に一致する。
一方、逆行が起きている場合には、図5に示すように、2次ベジエ曲線の各端点の接線上で相手側(始点側接線では終点側、終点側接線では始点側)の接線を2等分平面上で弦について線対称に配置して得られる交点とする。図5に示すように、相手=終点側接線を弦について線対称(上向きの白抜き矢印)に配置して始点側接線と交点P11(0)を求める。逆に、始点側接線を弦について線対称(下向きの白抜き矢印)に配置して終点側接線と交点P11(1)を求めてから、上記の式で3次ベジエ曲線の制御点P21,P12を決めると、逆行が回避される。
以上のような演算を行うことにより、多角形メッシュの分割を細かくすることなく、当該多角形メッシュの2端点を結ぶ線分を曲線補間することによって得られる曲線が大きく湾曲するといった湾曲現象の発生を防止することができる。
次に、折れ線処理部30の処理内容について説明する。法線ベクトル設定部31は、折れ線判定部10により折れ線であると判定された線分の始終点P30,P03のそれぞれにおいて、2つの法線ベクトルを設定する。2つの法線ベクトルは、線分の始終点P30,P03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュから導き出される第1の法線ベクトルと、折れ線に対して他方側に存在する多角形メッシュから導き出される第2の法線ベクトルである。
具体的には、法線ベクトル設定部31は、折れ線判定部10により折れ線であると判定された線分の始終点P30,P03のそれぞれにおいて、当該始終点P30,P03を頂点として共有する複数の多角形メッシュのうち、折れ線に対して一方側に存在する多角形メッシュの法線ベクトルの平均値を第1の法線ベクトルとして設定する。また、折れ線に対して他方側に存在する多角形メッシュの法線ベクトルの平均値を第2の法線ベクトルとして設定する。
図6は、法線ベクトル設定部31の処理内容を説明するための図である。図6では、折れ線判定部10により折れ線であると判定された線分600の始点P30において、第1の法線ベクトルn0(1)および第2の法線ベクトルn0(2)を求める処理について示している。なお、太線で示した部分が折れ線に相当する。
法線ベクトル設定部31は、始点P30を頂点として共有する6つの多角形メッシュ601〜606のうち、折れ線に対して一方側に存在する3つの多角形メッシュ601〜603の法線ベクトルの平均値を第1の法線ベクトルn0(1)として設定する。また、折れ線に対して他方側に存在する3つの多角形メッシュ604〜606の法線ベクトルの平均値を第2の法線ベクトルn0(2)として設定する。
なお、線分600の始点P30における2つの法線ベクトルn0(1),n0(2)を求める際に、当該線分600を共有して隣接する2つの多角形メッシュ603,606のうち、折れ線600に対して一方側に存在する多角形メッシュ603の法線ベクトルのみから第1の法線ベクトルn0(1)を設定するとともに、折れ線600に対して他方側に存在する多角形メッシュ606の法線ベクトルのみから第2の法線ベクトルn0(2)を設定することも可能である。
ただし、線分600の始点P30は、多角形メッシュ603の頂点であるばかりでなく、多角形メッシュ601,602の頂点でもある。よって、この頂点における第1の法線ベクトルn0(1)を求める際には、3つの多角形メッシュ601〜603の法線ベクトルを全て考慮するのが好ましい。同様に、線分600の始点P30は、多角形メッシュ606の頂点であるばかりでなく、多角形メッシュ604,605の頂点でもある。よって、この頂点における第2の法線ベクトルn0(2)を求める際には、3つの多角形メッシュ604〜606の法線ベクトルを全て考慮するのが好ましい。
線分600の終点P03においても同様にして、終点P03を頂点として共有する複数の多角形メッシュ(多角形メッシュ603,606および図示しない他の多角形メッシュ)の法線ベクトルに基づいて、第1の法線ベクトルn1(1)および第2の法線ベクトルn1(2)を求める。
交線算出部32は、線分の始点P30を通り、かつ、始点P30に設定された第1の法線ベクトルn0(1)に直交する第1の接平面と、第2の法線ベクトルn0(2)に直交する第2の接平面との交線(以下、始点側交線という)を求める。また、交線算出部32は、線分の終点P03を通り、かつ、終点P03に設定された第1の法線ベクトルn1(1)に直交する第1の接平面と、第2の法線ベクトルn1(2)に直交する第2の接平面との交線(以下、終点側交線という)を求める。
図7は、交線算出部32の処理内容を説明するための図である。図7に示すように、交線算出部32は、線分の始点P30を通り、かつ、始点P30に設定された第1の法線ベクトルn0(1)に直交する第1の接平面{x0,n0(1)}と、第2の法線ベクトルn0(2)に直交する第2の接平面{x0,n0(2)}との交線である始点側交線701を求める。
また、交線算出部32は、線分の終点P03を通り、かつ、終点P03に設定された第1の法線ベクトルn1(1)に直交する第1の接平面{x1,n1(1)}と、第2の法線ベクトルn1(2)に直交する第2の接平面{x1,n1(2)}との交線である終点側交線702を求める。
曲線演算部33は、交線算出部32により求められた始点側交線701および終点側交線702の上にそれぞれ中間制御点P21,P12を配置し、当該配置した中間制御点P21,P12および線分の始終点P30,P03を用いて線分を曲線補間する。本実施形態では、図7に示すように、始点側交線701の上に1つの中間制御点P21を配置するとともに、終点側交線702の上に1つの中間制御点P12を配置している。
また、本実施形態では、曲線演算部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
以上詳しく説明したように、本実施形態によれば、折れ線に相当しない線分については、非折れ線処理部20において特許文献1に記載の処理と同様の処理が行われる。これにより、長田パッチの拡張した3次多項式を用いた曲線補間により、折れ線部分以外の面に対して丸み付けを行うことができる。その際、2つの中間制御点P21,P12が線分に対して大きく横にずれてしまうことを防ぎ、長田セグメントが大きく湾曲するといった湾曲現象の発生を防ぐことができる。
また、折れ線に相当する線分については、折れ線処理部30によって本実施形態特有の処理が行われる。折れ線処理部30により設定される2つの中間制御点P21,P12は、折れ線の一方側に位置する多角形メッシュから導き出される第1の法線ベクトルnj(1)と、他方側に位置する多角形メッシュから導き出される第2の法線ベクトルnj(2)とに基づいて算出されるものであるため、折れ線部分で隣接する多角形メッシュ間の折れ角を反映したものとすることができる。これにより、長田パッチの拡張した3次多項式を用いた曲線補間を行っても、折れ線部分に対して折れの特徴を維持することができる。
以上のように、本実施形態によれば、長田パッチを用いた曲線補間により、折れ線部分以外の面に対しては丸み付けを行いつつ、面と面との境界に存在する折れの特徴も保存することができる。
なお、上記実施形態では、多角形メッシュの一例として三角形メッシュをとりあげて説明をしたが、本発明はこれに限定されない。例えば、四角形メッシュに本発明を適用することも可能である。
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその要旨、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 曲面描画装置
10 折れ線判定部
20 非折れ線処理部
21 法線ベクトル設定部
22 2等分平面算出部
23 曲線演算部
30 折れ線処理部
31 法線ベクトル設定部
32 交線算出部
33 曲線演算部
40 曲線描画部
50 表示制御部

Claims (4)

  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の接平面との交線である終点側交線を求める交線算出手段、
    上記交線算出手段により求められた上記始点側交線および上記終点側交線の上にそれぞれ上記中間制御点を配置し、当該配置した中間制御点および上記線分の始終点を用いて上記線分を曲線補間する曲線演算手段、および
    上記曲線演算手段により求められた上記曲線を描画する曲線描画手段
    としてコンピュータを機能させるための曲面描画用プログラム。
JP2015166352A 2015-08-26 2015-08-26 曲面描画装置および曲面描画用プログラム Active JP6592308B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015166352A JP6592308B2 (ja) 2015-08-26 2015-08-26 曲面描画装置および曲面描画用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015166352A JP6592308B2 (ja) 2015-08-26 2015-08-26 曲面描画装置および曲面描画用プログラム

Publications (2)

Publication Number Publication Date
JP2017045213A JP2017045213A (ja) 2017-03-02
JP6592308B2 true JP6592308B2 (ja) 2019-10-16

Family

ID=58211441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015166352A Active JP6592308B2 (ja) 2015-08-26 2015-08-26 曲面描画装置および曲面描画用プログラム

Country Status (1)

Country Link
JP (1) JP6592308B2 (ja)

Also Published As

Publication number Publication date
JP2017045213A (ja) 2017-03-02

Similar Documents

Publication Publication Date Title
JP7032487B2 (ja) 三角形の再帰的細分割を用いたテッセレーション方法
US8228329B2 (en) Interpolation processing method, interpolation processing device, shape evaluation method, and shape evaluation device
US20190295217A1 (en) Digital image transformation environment using spline handles
JPWO2009057517A1 (ja) 補間処理方法、および補間処理装置
Chu et al. Computer aided geometric design of strip using developable Bézier patches
Shi et al. Gn blending multiple surfaces in polar coordinates
CN114429535A (zh) 一种三角网格曲面的光滑裁剪方法及装置
JP6592308B2 (ja) 曲面描画装置および曲面描画用プログラム
Fernández-Jambrina et al. Developable surface patches bounded by NURBS curves
JP6026949B2 (ja) 曲面描画装置および曲面描画用プログラム
CN111295695A (zh) 三维网格数据简化方法及装置
CN111444673B (zh) 文字弯曲变形方法、介质、设备及装置
JP2007179272A (ja) コンピュータ支援設計装置、そのプログラム及び方法
KR101122279B1 (ko) 베지어 곡선에 따른 오프셋 곡선을 생성하는 방법
JP4487923B2 (ja) 設計データ生成装置及び設計データ生成プログラム
US9703903B2 (en) Designing a folded sheet object
JP7339846B2 (ja) モデル化装置及びプログラム
JP2010044440A (ja) 3次元形状処理装置及び処理方法
Muraki et al. Curve Mesh Modeling Method of Trimmed Surfaces for Direct Modeling
US10223824B2 (en) Information processing apparatus, simulator result display method, and computer-readable recording medium
Fernández-Jambrina Characterisation of rational and NURBS developable surfaces in Computer Aided Design
JP6727932B2 (ja) 点群面張りによる曲面生成装置および曲面生成用プログラム
Baramidze Smooth bivariate shape-preserving cubic spline approximation
JP2005135348A (ja) パラメータ実長展開装置、方法及びそのプログラム
Wang et al. Developable triangulations of a strip

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190819

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190903

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190920

R150 Certificate of patent or registration of utility model

Ref document number: 6592308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250