IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ダッソー システムズの特許一覧

特開2024-16009製造製品を表す3Dモデル化オブジェクトの設計
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024016009
(43)【公開日】2024-02-06
(54)【発明の名称】製造製品を表す3Dモデル化オブジェクトの設計
(51)【国際特許分類】
   G06F 30/10 20200101AFI20240130BHJP
   G06F 30/12 20200101ALI20240130BHJP
【FI】
G06F30/10 100
G06F30/12
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023120350
(22)【出願日】2023-07-25
(31)【優先権主張番号】22306110.2
(32)【優先日】2022-07-25
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】フレデリック レッツェルター
(72)【発明者】
【氏名】マリア パムボリオス
(72)【発明者】
【氏名】リチャード メゾヌーブ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146DG01
5B146EA14
5B146EA18
(57)【要約】      (修正有)
【課題】製造製品を表す3Dモデル化オブジェクトを設計するためのコンピュータ実装方法、プログラム、媒体及びシステムを提供する。
【解決手段】方法は、3Dモデル化オブジェクトを表すベースメッシュを取得するステップと、ベースメッシュにおける接続辺を選択し、二端点から構成される接続辺の経路を取得するステップと、選択された辺に基づいてベースメッシュを細分割するステップと、細分割されたベースメッシュを出力するステップと、を備える。前記細分割するステップは、選択された経路に亘るベベルパターン領域を取得するステップと、計算されたベベルパターン領域のものを除いて、経路における二端点のうちの少なくとも一つを共有する全ての面をグループ化することによって、遷移領域を取得するステップと、遷移領域を再メッシュ化するステップと、を含む。
【選択図】図2
【特許請求の範囲】
【請求項1】
製造製品を表す3Dモデル化オブジェクトを設計するためのコンピュータ実装方法であって、
前記3Dモデル化オブジェクトを表すベースメッシュを取得するステップ(S10)と、
前記ベースメッシュにおける一つまたは複数の接続辺を選択し、それによって二端点から構成される接続辺の経路を取得するステップ(S20)と、
次のステップによって前記選択された辺に基づいて前記ベースメッシュを細分割するステップ(S30)であって、
次のステップによって前記選択された経路に亘るベベルパターン領域を取得するステップ(S310)であって、すなわち
前記経路の辺を共有するベースメッシュの各面を識別するステップと、
Nが非負の数である、N個のカットに到達するように、前記ベースメッシュにおける識別された各面を細分割するステップと
である、ステップと、
前記経路における前記二端点のうちの少なくとも一つについて、計算されたベベルパターン領域のものを除いて、前記経路における二端点のうちの少なくとも一つを共有する全ての面をグループ化することによって、遷移領域を取得するステップ(S320)と、
次のステップによって前記遷移領域を再メッシュ化するステップ(S330)であって、すなわち
頂点対から構成される各カットについて、前記遷移領域に位置する遷移頂点を取得するステップと、
前記カットの前記頂点対の各頂点と、前記取得された遷移頂点とを接続する辺を計算するステップと
である、ステップと
である、ステップと、
前記細分割されたベースメッシュを出力するステップと
を備えることを特徴とする、コンピュータ実装方法。
【請求項2】
前記遷移領域の再メッシュ化するステップは、前記ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および前記経路における前記二端点のうちの少なくとも一つのトポロジー価数が偶数である場合、
N=0の前記カットについて、前記経路における前記二端点のうちの少なくとも一つに接続された前記頂点の一つを収束頂点として指定するステップと、
後続の各カットについて、前記遷移領域に位置する遷移頂点を取得し、前記後続のカットにおける前記頂点対の各頂点と前記取得された遷移頂点とを接続する辺を計算するステップと、
前記ベベルパターン領域および前記遷移領域のその他の面のトポロジーを変更しないままに、これによって2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得するステップと
を実行するステップを含むことを特徴とする、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記遷移領域を再メッシュ化するステップは、前記ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するように前記ベースメッシュにおける識別された各面を細分割するステップを含む場合、および前記経路における前記二端点のうちの少なくとも一つのトポロジー価数が偶数である場合、
N=0の前記カットについて、前記経路における前記二端点のうちの少なくとも一つに接続された前記頂点の一つを収束頂点として指定するステップと、
後続の各カットについて、前記遷移領域に位置する遷移頂点を取得し、前記後続のカットの前記頂点対の各頂点と前記取得された遷移頂点とを接続する辺を計算するステップと、
前記ベベルパターン領域および前記遷移領域のその他の面のトポロジーを変更しないままに、これによって2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得するステップと
を実行するステップを含むことを特徴とする、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記遷移領域を再メッシュ化するステップは、前記ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するように前記ベースメッシュにおける識別された各面を細分割するステップを含む場合、および前記経路における前記二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、
N=0の前記カットについて、
前記経路における前記二端点のうちの少なくとも一つに接続されている前記遷移領域の第一の頂点および第三の頂点、ならびに前記第一の頂点および前記第三の頂点に接続されている第二の頂点を識別するステップであって、前記第二の頂点は収束頂点である、ステップと、
前記遷移領域に位置する第一の遷移頂点を取得し、生成された第一の遷移頂点と前記第二の頂点とを接続する辺を計算するステップと、
後続の各カットについて、前記遷移領域に位置する遷移頂点を取得し、前記後続のカットにおける前記頂点対の各頂点と前記取得された遷移頂点とを接続する辺を計算するステップと、
前記ベベルパターン領域および前記遷移領域のその他の面のトポロジーを変更しないままに、これによって少なくとも2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得するステップと
を実行するステップを含む、請求項1ないし3の何れか一つに記載のコンピュータ実装方法。
【請求項5】
前記遷移領域を再メッシュ化するステップは、前記ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するように前記ベースメッシュにおける識別された各面を細分割するステップを含む場合、および前記経路における前記二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、
N=0の前記カットについて、
前記経路における前記二端点のうちの少なくとも一つに接続されている前記遷移領域の第一の頂点および第三の頂点、ならびに前記第一の頂点および前記第三の頂点に接続されている第二の頂点を識別するステップであって、前記第二の頂点は収束頂点である、ステップと、
前記遷移領域に位置する第一の遷移頂点を取得し、生成された第一の遷移頂点と前記第二の頂点とを接続する辺を計算するステップと、
後続の各カットについて、前記遷移領域に位置する遷移頂点を取得し、前記後続のカットの前記頂点対の各頂点と前記取得された遷移頂点とを接続する辺を計算するステップと、
前記ベベルパターン領域および前記遷移領域のその他の面のトポロジーを変更しないままに、これによって少なくとも2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得するステップと
を実行するステップを含む、請求項1ないし4の何れか一つに記載のコンピュータ実装方法。
【請求項6】
前記遷移領域に位置する遷移頂点を取得するステップは、
次の間に伸びる架空の線を計算するステップであって、すなわち
前記ベベルパターン領域および前記遷移領域の両方によって共有される辺上に位置する架空の頂点と、
前記遷移領域の前記辺のうちの一つ上に位置する収束頂点と
である、ステップと、
前記遷移領域上に位置する前記遷移頂点を前記架空の線上に配置するステップと
を含むことを特徴とする、請求項1ないし5の何れか一つに記載のコンピュータ実装方法。
【請求項7】
前記架空の頂点は、
カットが偶数2N個に到達する場合、カットの頂点対間の平均距離、または
カットが奇数2N+1個に到達する場合、前記カットのうちにある中間カットの位置
として構築されることを特徴とする、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記遷移領域上に位置する遷移頂点を前記架空の線上に配置するステップは、前記遷移頂点を前記架空の線上に均等に配置するステップを含むことを特徴とする、請求項7に記載のコンピュータ実装方法。
【請求項9】
各カットについて、
次として前記架空の頂点を構築するステップであって、
前記カットの前記頂点対間の平均距離、または
頂点対を有しない奇数個のカットの位置
である、ステップと、
前記カットの前記架空の頂点と前記収束頂点との間に延びる架空の線を計算するステップと、
前記計算された架空の線上に前記遷移頂点を配置するステップと
をさらに備えることを特徴とする、請求項6に記載のコンピュータ実装方法。
【請求項10】
各カットについて、前記計算された架空の線上に前記遷移頂点を配置するステップは、カットの各頂点対(k,N-k-1)について、前記架空の線上に遷移頂点(Tk,N-K-1)を比率k/(INT(N/2)+1)で配置するステップを含み、INTは整数部であることを特徴とする、請求項9に記載のコンピュータ実装方法。
【請求項11】
前記遷移領域を再メッシュ化するステップは、前記一つまたは複数の取得された遷移頂点を接続する、ポリラインを計算するステップをさらに含むことを特徴とする、請求項1ないし10の何れか一つに記載のコンピュータ実装方法。
【請求項12】
前記ベースメッシュは、四角形のベースメッシュであることを特徴とする、請求項1ないし11の何れか一つに記載のコンピュータ実装方法。
【請求項13】
プログラムがコンピュータによって実行されると、請求項1ないし12の何れか一つに記載の方法を前記コンピュータに実行させる命令を含むことを特徴とする、コンピュータプログラム。
【請求項14】
請求項13に記載のコンピュータプログラムをそこに記録していることを特徴とする、コンピュータ可読媒体。
【請求項15】
請求項13に記載のコンピュータプログラムをそこに記録しているメモリと通信可能に結合されたプロセッサを含むことを特徴とする、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、製造製品を表す3Dモデル化オブジェクト(3D modeled object)を設計するための方法、システム、およびプログラムに関する。
【背景技術】
【0002】
オブジェクトの設計、エンジニアリング、および製造のために、多くのシステムおよびプログラムが市場に提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)に対する頭文字(acronym)であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関している。CAEは、コンピュータ支援エンジニアリング(Computer-Aided Engineering)に対する頭文字であり、例えば、将来の製品の物理的挙動(physical behaviour)のシミュレーションを行うためのソフトウェア・ソリューションに関している。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)に対する頭文字であり、例えば、製造工程(manufacturing processes)および製造作業(manufacturing operations)を定義するためのソフトウェア・ソリューションに関している。このようなコンピュータ支援設計システムでは、グラフィカル・ユーザー・インターフェース(graphical user interface)が、技術の効率性に関して重要な役割を果たしている。これらの技術は、製品ライフサイクル管理(Product Lifecycle Management)(PLM)システム内に組み込まれることもある。PLMとは、企業が製品データを共有し、共通のプロセスを適用し、拡張エンタープライズという概念にまたがって、構想から製品寿命が尽きるまでの製品開発のために企業知識(corporate knowledge)を活用することを支援するビジネス方策(business strategy)と呼ばれている。(CATIA、ENOVIA、およびDELMIAの商標の下で)ダッソー・システムズ(Dassault Systemes)によって提供されるPLMソリューションは、製品エンジニアリングの知識を整理するエンジニアリング・ハブ(Engineering Hub)、製造エンジニアリングの知識を管理する製造ハブ(Manufacturing Hub)、そしてエンジニアリング・ハブおよび製造ハブの両方への企業統合(enterprise integrations)および企業取引(enterprise connections)を可能にする企業(Enterprise Hub)ハブを提供する。このシステムは、全体において、製品、プロセス、リソースを結び付けるオープン・オブジェクト・モデル(open object model)を提供し、最適化された製品定義、製造準備、生産、およびサービスを推進する、動的知識ベースの製品創造(product creation)および意思決定支援(decision support)を可能にする。
【0003】
3Dモデル化オブジェクトの設計は、ますます重要性を増している。3Dモデル化オブジェクトに詳細化を追加することは、3D設計における重要な問題である。一方では、詳細化は、設計意図を捉える必要がある。他方では、追加された詳細化は、3Dモデル化オブジェクトの全体的な幾何学的形状(geometry)を乱すべきではない。
【0004】
CADソリューションでは、モデル化オブジェクトの設計に関して、既知の技術、すなわち非一様有理Bスプライン曲面(Non Uniform Rational B-Spline surfaces)(以下、NURBS)および細分割曲面(Subdivision Surfaces)を多用している。NURBS曲面の配置によって細分割曲面を近似することが可能であるため、細分割曲面モデル化は、詳細化の追加の後に、結果として取得された細分割曲面をNURBS曲面に自動的に変換するために使用され得ることが、留意される。細分割曲面モデル化の関連では、「ベベル(bevel)」は辺(edges)のリストに沿ってメッシュのトポロジーを緻密化する(densify)ステップからなる操作である。
【0005】
ベベル機能(bevel functionality)を提供する既存のソリューションは、ベベルに与えられる辺の数(または輪郭(profile)の頂点(vertices)の数)によって制限されている。
【0006】
これらのソリューションの幾つかにとっては、二つまたは三つの内側辺(inner edges)(幾つかのアプリケーションによっては「カット(cut)」とも呼ばれる)から構成されるベベルを使用することで、良好な品質が達成される。ただし、ベベルの解像度がより高くなる(すなわち、カットの数が増える)とすぐに問題が発生し、ベベルの遷移領域(transition area)において品質の問題を引き起こす。例えば、ソフトウェアBlender(著作権表示)では、ベベルは、その端部において不良メッシュ(bad mesh)を生成するようになり、その場合、ユーザーは、その形状を制御することができない。図1Aを参照する。図1Aは、不良メッシュであるベベル端部(bevel end)10を有する部品100を示している。実際、ベベル端部10は、低品質のメッシュであり、これは、ユーザーによって制御したり、または修正したりすることはできない。
【0007】
別の例は、ソフトウェアCATIA Image&Shape(著作権表示)において見ることができる。図1Bおよび1Cを参照する。第一に、図1Bでは、遷移辺(transition edges)20は、幾つかの距離基準(distance criteria)に応じて作成され、例えば、ベベルの半径(bevel radius)が変更される場合など、場合によっては不安定さ(instability)を引き起こす。そのため、結果として生じる形状は、全く予測不可能となる。
【0008】
第二に、図1Cでは、三角形30が曲率欠陥(curvature defects)のような幾何学的収差(geometric aberrations)を引き起こす一方で、収束頂点(convergence vertex)(全ての三角形が収束している場合)が光の反射および曲率の流れ(curvature flow)を「磁化(magnetizing)」しているため、形状の質が大きく変化している。視覚的に、この幾何学的収差は、ピンチのような表面(pinch-like surface)をもたらし、ピーク(peak)で終わるベベルの感覚につながるが、ユーザーの期待は、ベベルとベース表面との間の滑らかな移行である。
【0009】
図1Dおよび1Eは、細分割モデル化におけるベベルに対する幾つかの問題点も強調している。これらの図は、それらの端部で消えていくキャラクターライン(character lines)を作成するためのベベルの使用を例証している。図1Dは、幾何学的形状を示す一方で、図1Eは、設計者によってキャラクターラインを検証するために使用されるハイライトを示す。
【0010】
図1Dに示されるように、形状110は、十分に適応されたトポロジーを有していない。すなわち、結果として生じるメッシュ構造は、設計者の意図を表していない。また、図1Eに示されるように、ベースメッシュ上で生成された表面上で計算されたハイライトは、起伏があり、外向きの流れを有しており、これは、キャラクターライン用の設計意図を考慮していない。
【0011】
このような状況の中で、3Dモデル化オブジェクトを設計するために改善された方法が依然として必要とされている。
【発明の概要】
【0012】
それゆえに、製造製品を表す3Dモデル化オブジェクトを設計するためのコンピュータ実装方法を提供する。本方法は、3Dモデル化オブジェクトを表すベースメッシュ(base mesh)を取得するステップを備える。また、本方法は、ベースメッシュにおける一つまたは複数の接続辺(connected edges)を選択することにより、二端点(endpoints)を含む接続辺の経路(path)を取得するステップを備える。本方法は、選択された辺に基づいてベースメッシュを細分割するステップを備える。本方法は、経路の辺を共有するベースメッシュの各面(each face)を識別することにより、選択された経路に亘るベベルパターン領域を取得する。本方法は、ベースメッシュにおける識別された各面を、Nが非負数であるカット数Nに到達するように細分割する。
【0013】
本方法は、経路における二端点のうちの少なくとも一つについて、計算されたベベルパターン領域のものを除いて、経路における二端点のうちの少なくとも一つを共有する全ての面をグループ化することによって遷移領域を取得する。
【0014】
本方法は、頂点対(pair of vertices)を含む各カットについて、遷移領域に位置する遷移頂点(transition vertex)を取得し、カットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算することにより、遷移領域を再メッシュ化する。
【0015】
本方法は、細分割されたベースメッシュを出力する。
【0016】
本方法は、以下のうちの一つまたは複数を備え得る。すなわち、
-遷移領域を再メッシュ化するステップは、ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数(topology valence)が偶数である場合、以下を実行するステップを含む。すなわち、
〇N=0のカットについて、経路における二端点のうちの少なくとも一つに接続された頂点の一つを収束頂点(convergence vertex)として指定するステップ、
〇後続の各カットについて、遷移領域に位置する遷移頂点を取得し、後続のカットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算するステップ、および
〇ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないまま維持し、それによって2N個の四角形面(quadrangular faces)および三角形面(triangular faces)を含む再メッシュ化された遷移領域を取得するステップ。
-遷移領域を再メッシュ化するステップは、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が偶数である場合、以下を実行するステップを含む。すなわち、
〇N=0のカットについて、経路における二端点のうちの少なくとも一つに接続された頂点の一つを収束頂点として指定するステップ、
〇後続の各カットについて、遷移領域に位置する遷移頂点を取得し、後続のカットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算するステップ、および
〇ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないまま維持し、それによって2N個の四角形面および三角形面を含む再メッシュ化された遷移領域を取得するステップ。
-遷移領域を再メッシュ化するステップは、ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュの各識別された面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、以下を実行するステップを含む。すなわち、
〇N=0カットについて、
■経路における二端点のうちの少なくとも一つに接続される、遷移領域における第一の頂点および第三の頂点と、第一の頂点および第三の頂点に接続される第二の頂点であって、第二の頂点は収束頂点である、第二の頂点とを識別するステップ、および
■遷移領域に位置する第一の遷移頂点を取得し、生成された第一の遷移頂点と第二の頂点とを接続する辺を計算するステップ、ならびに
〇後続の各カットについて、遷移領域に位置する遷移頂点を取得し、後続のカットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算するステップ、および
〇ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないまま維持し、それによって少なくとも2N個の四角形面および三角形面を含む再メッシュ化された遷移領域を取得するステップ。
-遷移領域を再メッシュ化するステップは、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、以下を実行するステップを含む。すなわち、
〇N=0のカットについて、
■経路における二端点のうちの少なくとも一つに接続される、遷移領域における第一の頂点および第三の頂点と、第一の頂点および第三の頂点に接続される第二の頂点であって、第二の頂点が収束頂点である、第二の頂点とを識別するステップ、および
■遷移領域に位置する第一の遷移頂点を取得し、生成された第一の遷移頂点と第二の頂点とを接続する辺を計算するステップ、ならびに
〇後続の各カットについて、遷移領域に位置する遷移頂点を取得し、後続のカットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算するステップ、および
〇ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないまま維持し、それによって少なくとも2N個の四角形面および三角形面を含む再メッシュ化された遷移領域を取得するステップ。
-遷移領域に位置する遷移頂点を取得するステップは、以下を含む。すなわち、
〇以下の間に伸びる架空の線(fictive line)を計算するステップ、すなわち、
■ベベルパターン領域および遷移領域の両方によって共有される辺上に位置する架空の頂点(fictive vertex)、および
■遷移領域の辺のうちの一つ上に位置する収束頂点。
〇遷移領域上に位置する遷移頂点を架空の線上に配置するステップ。
-架空の頂点は以下として構成される。すなわち、
〇偶数2N個のカットに達した場合、カットの頂点対間の平均距離、または
〇奇数2N+1個のカットに達した場合、カットの中で中央のカットの位置。
-遷移領域上に位置する遷移頂点を架空の線上に配置するステップは、遷移頂点を架空の線上に均等に配置するステップを含む。
-各カットについて、以下をさらに備える。すなわち、
〇架空の頂点を以下として構成するステップ、すなわち、
■カットの頂点対間の平均距離、または
■頂点対を有しない奇数個のカットの位置、
〇カットにおける架空の頂点と収束頂点との間に延びる架空の線を計算するステップ、および
〇計算された架空の線上に遷移頂点を配置するステップ。
-各カットについて、計算された架空線上に遷移頂点を配置するステップは、カットにおける頂点の各対(k,N-k-1)について、架空の線上に遷移頂点(Tk,N-k-1)を比率k/(INT(N/2)+1)で配置するステップを含む。ここで、INTは整数部である。
-遷移領域を再メッシュ化するステップは、一つまたは複数の取得された遷移頂点を接続するポリライン(polyline)を計算するステップをさらに含む。
-ベースメッシュは、四角形のベースメッシュである。
【0017】
さらに、プログラムがコンピュータによって実行されると、コンピュータに本方法を実行させる命令を含むコンピュータプログラムを提供する。
【0018】
さらに、このコンピュータプログラムをそこに記録しているコンピュータ可読記録媒体を提供する。
【0019】
さらに、メモリに通信可能に結合されたプロセッサを含むシステムであって、メモリはコンピュータプログラムをそこに記録している、システムを提供する。
【図面の簡単な説明】
【0020】
ここで、添付図面を参照して非限定的な実施例を説明することになる。
図1A】先行技術の例を示す図である。
図1B】先行技術の例を示す図である。
図1C】先行技術の例を示す図である。
図1D】先行技術の例を示す図である。
図1E】先行技術の例を示す図である。
図2】本方法の例を示すフローチャートである。
図3】本システムの例を示す図である。
図4】本方法の例を例証する図である。
図5】本方法の例を例証する図である。
図6】本方法の例を例証する図である。
図7A】本方法の例を例証する図である。
図7B】本方法の例を例証する図である。
図7C】本方法の例を例証する図である。
図8A】本方法の例を例証する図である。
図8B】本方法の例を例証する図である。
図8C】本方法の例を例証する図である。
図9】本方法の例を例証する図である。
図10】本方法の例を例証する図である。
図11】本方法の例を例証する図である。
図12】本方法の例を例証する図である。
図13】本方法の例を例証する図である。
図14】本方法の例を例証する図である。
図15】本方法の例を例証する図である。
図16】本方法の例を例証する図である。
図17】本方法の例を例証する図である。
図18】本方法の例を例証する図である。
図19】本方法の例を例証する図である。
図20】本方法の例を例証する図である。
図21】本方法の例を例証する図である。
【発明を実施するための形態】
【0021】
図2のフローチャートを参照して、製造製品を表す3Dモデル化オブジェクトを設計するためのコンピュータ実装方法を提案する。本方法は、3Dモデル化オブジェクトを表すベースメッシュを取得するステップS10を備える。また、本方法は、ベースメッシュにおける一つまたは複数の接続辺を選択し、これによって二端点から構成される接続辺の経路を取得するステップS20を備える。また、本方法は、選択された辺に基づいてベースメッシュを細分割するステップS30を備える。細分割するステップは、ステップS310、S320、およびS330を含む。
【0022】
本方法は、ステップS310では、選択された経路に亘るベベルパターン領域を取得する。ベベルパターン領域は、経路の辺を共有するベースメッシュの各面を識別することによって取得される。本方法は、ベースメッシュにおける識別された各面を、カットの数Nに到達するように細分割する。Nは非負の数である。Nは正の整数であり、整数の集合は、ゼロ(0)、正の自然数(1,2,3,…)によって構成される。
【0023】
本方法は、ステップS320では、経路における二端点のうちの少なくとも一つについて、遷移領域を取得する。本方法は、計算されたベベルパターン領域のものを除いて、経路における二端点のうちの少なくとも一つを共有する全ての面をグループ化することにより、遷移領域を取得す。
【0024】
本方法は、ステップS330では、頂点対を含む各カットについて、遷移領域に位置する遷移頂点を取得することにより、遷移領域を再メッシュ化する。本方法は、カットにおける頂点対の各頂点と取得された遷移頂点とを接続する辺を計算する。
【0025】
本方法は、ステップS40では、細分割されたベースメッシュを出力する。
【0026】
このような方法は、3Dモデル化オブジェクトの設計を改善する。実際、本方法は、ベースメッシュにおける選択された一つまたは複数の接続辺に基づいてメッシュを細分割し、その結果、この選択に基づいて(ベースメッシュによって表現される)3Dモデル化オブジェクトの設計を修正する。本方法は、選択された経路に亘るベベルパターン領域を取得するため、選択された経路の形状がベベルの形状と一致するようにベースメッシュの設計を修正し、その結果、CADの分野で知られているような、面取り(filet)、掃引(sweep)、ピンチ(pinches)、またはキャラクターライン(character lines)を表すために適している。さらに、本方法は、遷移領域を取得し、遷移領域を再メッシュ化するため、ベベルパターン領域の形状と3Dモデル化オブジェクトの残りの形状との間に連続的な遷移が存在することを保証することが可能である。このようにして、本方法は、所望のベベルの形状を提示し、3Dモデル化オブジェクトの残りの形状と一致する、3Dモデル化オブジェクトがユーザーに表示されるように、すなわち、意図された形状の精度に影響を与える幾何学的収差を誘発することなく、3Dモデル化オブジェクトの設計を修正する。
【0027】
本方法は、コンピュータ実装される。これは、本方法のステップ(または実質的に全てのステップ)が、少なくとも1台のコンピュータ、または任意の類似システムによって実行されることを意味する。そのため、本方法のステップは、コンピュータによって、場合によっては完全に自動的に、あるいは半自動的に実行される。実施例では、本方法のステップの少なくとも幾つかを誘発するステップは、ユーザーとコンピュータとの対話によって実行される。必要とされるユーザーとコンピュータとの対話のレベルは、予見される自動化のレベルに依存し、ユーザーの希望を実現する必要性とのバランスに置き得る。例においては、このレベルは、ユーザー定義および/または事前定義されることがある。
【0028】
コンピュータ実装方法の典型的な例は、この目的に適合したシステムを用いてその方法を実行することである。本システムは、メモリおよびグラフィカルユーザーインタフェース(GUI)に結合されたプロセッサを備え得るが、メモリは、本方法を実行するための命令を含むコンピュータプログラムをそこに記録している。また、メモリは、データベースを記憶し得る。メモリは、このような記憶用に適合された任意のハードウェアであり、場合によっては、複数の物理的に異なる部分(例えば、一つはプログラム用、場合によって一つはデータベース用など)から構成される。
【0029】
本方法は、一般にモデル化オブジェクトを操作する。モデル化オブジェクトとは、例えば、データベースなどに格納されたデータによって定義される任意のオブジェクトのことである。その拡張として、「モデル化オブジェクト(modeled object)」という表現は、データ自体を意味する。本システムの種類に応じて、モデル化オブジェクトは、様々な種類のデータによって定義される。本システムは、実際、CADシステム、および/またはPLMシステムの任意の組み合わせであってもよい。これらの様々なシステムでは、モデル化オブジェクトは、対応するデータによって定義される。従って、CADオブジェクト、PLMオブジェクト、CADデータ、PLMデータと呼ばれる場合がある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義される可能性があるため、これらのシステムは、その他のうちの一つで独占しているわけではない。従って、以下に提供されるシステムの定義から明らかになるように、システムは、CADシステムとPLMシステムの両方である可能性が十分にある。
【0030】
CADシステムとは、CATIAのような、モデル化オブジェクトのグラフィカルな表現に基づいて、少なくともモデル化オブジェクトを設計するために適合された任意のシステムをさらに意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは、例えば、辺または線を用いて、場合によっては面または曲面を用いて、CADモデル化オブジェクトの表現を提供し取得する。線、辺、または面は、例えば、非一様有理Bスプライン(NURBS)などの、種々の方法において表現され得る。具体的には、CADファイルには仕様が含まれており、そこから幾何学的形状が生成され得て、それによって表現を生成することを可能にする。モデル化オブジェクトの仕様は、単一のCADファイルに格納されることもあれば、複数のCADファイルに格納されることもある。CADシステムにおいてモデル化オブジェクトを表すファイルの典型的なサイズは、1部品当たり1メガバイトの範囲である。そして、モデル化オブジェクトは、通常、何千もの部品のアセンブリである場合がある。
【0031】
CADの関連では、モデル化オブジェクトは、通常、3Dモデル化オブジェクトであり、例えば、部品、または部品のアセンブリ、場合によっては製品のアセンブリなどの、製品を表している。「3Dモデル化オブジェクト(3D modeled object)」とは、その3D表現を可能にするデータによってモデル化されているオブジェクトを意味する。3D表現は、あらゆる角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトは、3D表現が行われる場合、その軸の何れかを中心に、または表現が表示されている画面における任意の軸を中心に、取り扱われたり、回転させたりすることを行え得る。これは、とりわけ、3Dモデル化されていない2Dアイコンを除いている。3D表現の表示は、設計を容易にする(すなわち、設計者が統計的に自身のタスクを達成する速度を向上させる)。製品の設計は製造プロセスの一部であるため、これにより、産業における製造プロセスが加速する。
【0032】
3Dモデル化オブジェクトは、例えば、(例えば、機械的な)部品、もしくは部品のアセンブリ(または部品のアセンブリは、本方法の観点から部品自体と見做され得るため、または本方法は、アセンブリの各部分に独立して適用され得るため、等価的に部品のアセンブリ)、またはより一般的には任意の剛体アセンブリ(rigid body assembly)(例えば、移動機構など)などの、CADソフトウェア・ソリューションまたはCADシステムを用いた、その仮想設計の完了後に、実世界において製造される製品の形状を表し得る。CADソフトウェア・ソリューションは、航空宇宙(aerospace)、建築(architecture)、建設(construction)、消費財(consumer goods)、先端技術機器(high-tech devices)、産業機器(industrial equipment)、輸送(transportation)、海洋(marine)、および/または海洋石油(offshore oil)/海洋ガス(offshore gas)の生産もしくは輸送を含む、種々の限り無い産業分野における製品の設計を可能にする。そのため、本方法によって設計される3Dモデル化オブジェクトは、陸上車両(terrestrial vehicle)(例えば、自動車機器および小型トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラックおよびバス、列車を含む)の部品、航空車両(aerial vehicle)(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器などを含む)の部品、海軍車両(naval vehicle)(例えば、艦艇機器、商船、海洋機器、ヨットおよび作業船、舶用機器などを含む)の部品、一般機械部品(general mechanical part)(例えば、工業用製造機械、移動式重機または移動式重機器、据付機器、工業用機器製品、金属加工製品、タイヤ製造製品などを含む)、電気機械部品または電子部品(electro-mechanical or electronic part)(例えば、家電製品、セキュリティおよび/または制御および/または計装製品、コンピュータおよび通信機器、半導体、医療機器および装置などを含む)、消費財(consumer goods)(例えば、家具、家庭用品および園芸用品、レジャー用品、ファッション製品、耐久消費材小売業者製品、非耐久消費材小売業者製品などを含む)、包装(packaging)(例えば、食品および飲料およびタバコ、美容医療および個人医療、家庭用製品包装などを含む)などの、任意の機械部品である可能性のある工業製品を表し得る。
【0033】
CADシステムは、履歴ベースであり取る。この場合、モデル化オブジェクトは、幾何学的特徴の履歴を含むデータによってさらに定義されている。モデル化オブジェクトは、標準的なモデル化機能(例えば、押し出し(extrude)、回転(revolute)、カット(cut)、および/または丸め(round)など)、および/または標準的な表面機能(例えば、掃引(sweep)、ブレンド(blend)、ロフト(loft)、充填(fill)、変形(deform)、および/または平滑化(smoothing)など)を使用して、実際に物理的な人物(すなわち、設計者/ユーザー)によって設計される場合がある。このようなモデル化機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計機能の作成履歴が、通常、入力リンクおよび出力リンクを通じて上述の幾何学的特徴を共に結び付ける非周期的データフロー(acyclic data flow)を通じて保存されることを意味する。履歴ベースのモデル化パラダイムは、1980年代初期からよく知られている。モデル化オブジェクトは、履歴およびB-rep(すなわち、境界表現)という二つの永続的なデータ表現によって記述される。B-repは、履歴に定義された計算の結果である。モデル化オブジェクトが表現される際に、コンピュータの画面に表示される部品の形状は、B-rep(例えば、B-repのモザイク細工(tessellation)など)となる。部品の履歴は、設計意図である。基本的に、履歴は、モデル化オブジェクトが受けている操作に関する情報を収集する。B-repは、複雑な部品を表示し易くするために、履歴と共に保存され得る。設計意図に従って部品の設計変更を可能にするために、履歴は、B-repと共に保存され得る。
【0034】
PLMシステムとは、物理的に製造された製品(または製造される製品)を表すモデル化オブジェクトの管理に適合したシステムをさらに意味する。そのため、PLMシステムでは、モデル化オブジェクトは、物理的なオブジェクトの製造に適したデータによって定義される。これらは通常、寸法値(dimension values)および/または公差値(tolerance values)である。オブジェクトを正しく製造するためには、実際、このような値を有することが、より良くなる。
【0035】
図3は、本システムの一例を示しているが、本システムは、クライアントコンピュータシステム、例えば、ユーザーのワークステーションなどである。
【0036】
本実施例のクライアントコンピュータは、内部通信BUS3000に接続された中央処理装置(CPU)3010と、同じBUSに接続されたランダムアクセスメモリ(RAM)3070とを備える。クライアントコンピュータは、BUSに接続されたビデオランダムアクセスメモリ3100に関連付けられているグラフィック処理ユニット(GPU)3110をさらに備える。ビデオRAM3100は、当技術分野ではフレームバッファ(frame buffer)としても知られている。大容量記憶装置コントローラ3020は、ハードドライブ3030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを有形的に具現化するために適した大容量記憶装置には、例として、EPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスクを含む、任意形態の不揮発性メモリが含まれる。上記の何れかは、特別に設計されたASIC(特定用途向け集積回路)によって補完されるか、または特別に設計されたASICに組み込まれてもよい。ネットワークアダプタ3050は、ネットワーク3060へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、またはキーボードなどの触覚デバイス3090を含み得る。カーソル制御装置は、ユーザーが表示装置3080上の任意の所望位置にカーソルを選択的に配置することを可能にするために、クライアントコンピュータにおいて使用される。さらに、カーソル制御装置は、ユーザーが種々のコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成デバイスを含む。典型的には、カーソル制御装置はマウスであり、マウスのボタンは、信号を生成するために使用されている。代替的または追加的に、クライアントコンピュータシステムは、感応パッド、および/または感応スクリーンを含み得る。
【0037】
コンピュータプログラムは、コンピュータによって実行可能な命令を含み得るが、この命令は、上記のシステムに本方法を実行させるための手段を含んでいる。このプログラムは、システムのメモリを含む、任意のデータ記憶媒体に記録可能であり得る。プログラムは、例えば、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装され得る。プログラムは、装置、例えば、プログラム可能プロセッサによる実行のために機械可読記憶装置に有形的に具現化された製品などとして実装され得る。方法のステップは、入力データを操作して出力を生成することにより、本方法の機能を実行するための命令のプログラムを実行するプログラム可能プロセッサによって実行され得る。そのため、プロセッサは、データ記憶システム、少なくとも一つの入力装置、および少なくとも一つの出力装置からデータおよび命令を受信し、それらの装置へデータおよび命令を送信するようにプログラム可能に結合され得る。アプリケーションプログラムは、高レベルの手続き型プログラミング言語もしくはオブジェクト指向プログラミング言語、または必要に応じてアセンブリ言語もしくは機械語において実装され得る。何れの場合も、言語は、コンパイル言語またはインタプリタ言語であり得る。プログラムは、完全インストール型プログラムであっても、更新型プログラムであってもよい。システム上でプログラムを適用すると、何れの場合でも、本方法を実行するための命令が取得される。コンピュータプログラムは、代わりに、クラウドコンピューティング環境のサーバに格納されて実行されることもあるが、サーバは、一つまたは複数のクライアントとネットワークを介して通信している。そのような場合、処理装置が、プログラムに含まれる命令を実行し、それによって本方法をクラウドコンピューティング環境上において実行するようにさせる。
【0038】
「3Dモデル化オブジェクトを設計すること(Designing a 3D modeled object)」とは、3Dモデル化オブジェクトを精緻化するプロセスのうちの少なくとも一部である、任意の行為、または一連の行為を指している。そのため、本方法は、3Dモデル化オブジェクトを最初から(from scratch)作成するステップを備え得る。あるいは、本方法は、以前に作成された3Dモデル化オブジェクトを取得し、次いでその3Dモデル化オブジェクトを修正するステップを備え得る。
【0039】
本方法は、製造工程に含まれ得るが、製造工程は、本方法を実行した後、モデル化オブジェクトに対応する物理的な製品を製造するステップを含み得る。何れの場合でも、本方法によって設計されるモデル化オブジェクトは、製造オブジェクトを表すことがある。そのため、モデル化オブジェクトは、モデル化された立体(solid)(すなわち、立体を表すモデル化オブジェクト)であり得る。製造オブジェクトは、部品、または部品のアセンブリなどの製品であり得る。本方法は、モデル化オブジェクトの設計を改善するため、製品の製造も改善し、製造プロセスの生産性も向上させる。
【0040】
「取得すること(obtaining)」とは、本方法によるベースメッシュの検索または取得を可能にする、任意種類のデータ取得を意味する。
【0041】
ベースメッシュを取得するステップS10は、例えば、(例えば、遠隔の)メモリもしくはサーバ、またはこれらのデータが保存されている任意の不揮発性ストレージから当該ベースメッシュを(例えば、ネットワークを介して)ダウンロードする/検索するステップを含み得る。あるいは、本方法は、例えば、ユーザーがベースメッシュを定義する(すなわち、設計する)などの、設計プロセスからベースメッシュを取得し得る。
【0042】
ベースメッシュは、3Dモデル化オブジェクトを表す。ベースメッシュは、製造製品を表す3Dモデル化オブジェクトを取得するための出発点として使用され得る3Dモデルである。設計者は、細部に取り組み、最終的にメッシュをより高解像度のものに変換し、より滑らかなモデルを形成することになる。換言すると、ベースメッシュは、3Dモデル化オブジェクトの空間分布(spatial distribution)を定義する幾何学的データ(geometrical data)のうちの少なくとも一部(例えば、全てなど)から構成されている。ベースメッシュは、頂点(3Dの位置)と頂点を二つずつ結び付ける辺(例えば、セグメントなど)とが、メッシュのいわゆる面(すなわち、辺の最小サイクル)を形成している、任意のグラフ構造を指定する。
【0043】
面は、少なくとも三つの頂点(例えば、四つのように三つ以上など)から形成され得る。ベースメッシュは、三角形ベースメッシュから構成され得る。すなわち、三角形ベースメッシュの面は、三つの頂点によって形成され得る。追加的および/または代替的に、ベースメッシュは、四角形ベースメッシュから構成されることもある。すなわち、四角形ベースメッシュの面は、四つの頂点によって形成され得る。
【0044】
本方法は、ステップS20では、ベースメッシュにおける一つまたは複数の接続辺を選択する。「選択する(select)」とは、ベースメッシュの残りの部分から一つまたは複数の接続辺を区別する結果となる、任意の動作または一連の動作を意味する。選択は、ユーザーによって、例えば、ベースメッシュ上でユーザーによる選択を可能にするように適合されたグラフィカルユーザーインタフェースを通じて、またはCADシステムを通じて自動的または半自動的に、任意の方法において実行され得る。"接続される(connected)"とは、一つまたは複数の辺のうちの少なくとも一つが共通の(すなわち、同じ)頂点を結び付けていることを意味する。
【0045】
これにより、選択するステップS20は、二端点、すなわち一つまたは複数の接続辺のうちの最大一つ(例えば、接続辺が一つのみの場合には同じ接続辺など)を共有する二つの異なる頂点を含む(一つまたは複数の、例えば、一つの)接続辺の経路を取得する。
【0046】
経路は、接続辺のうちの少なくとも一つのセットから構成されており、それによってポリラインを形成する。ポリラインは、一回または複数回だけ自己交差し得る。ポリラインは、二端点から構成されており、端点は、接続辺のセットにおける一つの辺と共有される点である。端点は、通常、ポリラインに沿って移動する際におけるポリラインの最初の点または最後の点を表している。
【0047】
本方法は、ステップS30では、選択された辺に基づいてベースメッシュを細分割する。「細分割すること(subdividing)」とは、ベースメッシュの一部(すなわち、辺および頂点のセット)を、新たな追加の頂点、辺、および/または面によって置換する、任意のプロセスを意味する。換言すると、細分割は、入力としてメッシュの一部を受け取り、既存の頂点、辺、および/または面の微調整(refinement)、すなわちより大きいか等しい(例えば、厳密により大きいなど)数の頂点、辺、および/または面が、既存の頂点、辺、および/または面を置換することを出力する任意のプロセスである。
【0048】
細分割は、選択された辺に基づいて行われる。すなわち、細分割は、選択された辺および/またはその共有される頂点の位置に基づいて(例えば、端点のうちの少なくとも一つにも基づいて)行われており、選択された辺および/またはその共有される頂点に隣接する既存の面(すなわち、ベースメッシュの面)のセットを、新たな共通の辺または頂点を有する新しい面の集合に分解し得る。「隣接する(neighboring)」とは、既存の面のセットが、一つまたは複数の接続辺および/またはその共有される頂点のうちの少なくとも一つをそれぞれ共有する、ベースメッシュにおける一つまたは複数の面を含む(例えば、から構成される)ことを意味する。既存の面のセットにおける面の数は、選択された辺に基づいて細分割の程度を変更するように、任意の方法において設定され得る。
【0049】
ここで、細分割するステップS30について、さらに詳しく説明する。
【0050】
本方法は、ステップS310では、選択された経路に亘るベベルパターン領域を取得する。ベベルパターン領域とは、一つまたは複数の接続辺に沿って掃引される、一つまたは複数の面のセットを意味する。一つまたは複数の面のセットは、選択された経路に含まれる一つまたは複数の接続辺に沿って傾斜した形状(いわゆる「ベベル(bevel)」)を形成し得る。ベベルパターン領域は、選択された経路に亘って取得されるため、ベベルパターン領域は、実質的に、選択された経路に含まれる接続辺の位置に配置されている。
【0051】
取得するステップS310は、接続辺の経路における辺を共有するベースメッシュの各面を識別するステップを含む。
【0052】
また、取得するステップS310は、カットの数Nに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む。カットは、ベースメッシュにおける識別された面を細分割する面であって、識別された面を共有する一つまたは複数の接続辺のうちの少なくとも一つ(例えば、全てなど)に沿って掃引される面である。換言すると、カットにおける少なくとも二つ(例えば、正確に二つ)の辺は、一つまたは複数の接続辺のうちの少なくとも一つに沿って識別された面を細分割する(または、細分割モデル化(subdivision modeling)の分野で知られているように、掃引する)。カットの数Nは、一つまたは複数の接続辺のうちの少なくとも一つを掃引する、カットにおける辺の数である。Nは非負の整数であり、さもなければ、Nはゼロ(0)、正の自然数(1,2,3.…)からなる整数の集合における正の整数である。慣例により、N=0(すなわち、0カットを実行する細分割するステップ)の場合、本方法は、識別された面を共有する少なくとも一つまたは複数の接続辺に沿った一つの面掃引(face sweeping)によって、識別された各面を細分割し得る。この慣例の範囲内では、カットの数Nが0より大きいということは、N=0において作成される面(0カット面とも呼ばれる)が、N=0において作成された面に沿って掃引されるN個の辺に囲まれた面によって細分される(または分割される)ことを意味する。
【0053】
本方法は、所与のカットの数(例えば、Nなど)に到達するように、各識別されたベースメッシュを細分割し得る。「到達するように(for reaching)」とは、本方法が識別された各面に反復的な細分割を実行することを意味し、各細分割は、その後に実行されてもよい。慣例により、本方法は、0カット面を作成することによって反復プロセスを開始し得る、すなわち、本方法は、識別された各面が、識別された面を共有する少なくとも一つまたは複数の接続辺に沿った一つの面掃引によって細分割されるように、N=0について細分割する。
【0054】
本方法は、反復的な細分割を継続し得る。すなわち、カットは、その後に追加されており、例えば、数Nに到達するまで、0カット面(0-cut face)の細分割(すなわち、対応するカットの作成)を示す、N未満の順序付けられた正の整数である、p個の値またはpカットが存在する。例えば、一つのカットのみが追加される、すなわちN=1の場合、pは、少なくともp=1の値を有している。換言すると、本方法は、0カット面を、0カット面に沿って掃引する一つの辺によって囲まれる二つの面によって細分割する。第二のカットは、p=2について作成されており、換言すると、本方法は、二つの辺によって囲まれる面(すなわち、二つの辺に囲まれた三つの面)によって0カット面を細分割する。第三のカットは、p=3について作成されており、…と続き、N番目のカット面は、p=Nについて追加されている。本方法は、各カットの辺に関する情報を保持し得るが、例えば、本方法は、p=1、p=2、および…などについて、0カット面上に追加された辺に関する情報を保持し得る。このようにして、本方法は、上述の情報(例えば、識別子(identifier)など)に従ってベベルパターンの辺を識別し得る。
【0055】
本方法は、ステップS320では、経路における二端点のうちの少なくとも一つについて、遷移領域を取得する。「遷移領域(transition area)」とは、ベベルパターン領域とベースメッシュの残りの幾何学的形状との間の幾何学的遷移(geometrical transition)を作成する面のセットを意味する。本方法は、計算されたベベルパターン領域のものを除いて、経路における二端点のうちの少なくとも一つを共有する、全ての面をグループ化することによって遷移領域を取得する。「グループ化する(grouping)」とは、本方法が、経路における二端点のうちの少なくとも一つを共有する面、二端点のうちの少なくとも一つを共有しない面、および二端点のうちの少なくとも一つの位置において辺を共有するベベルパターン領域の面を識別することを可能にする任意の操作を意味する。
【0056】
本方法は、ステップS330では、遷移領域を再メッシュ化する。換言する、本方法は、ステップS320においてグループ化された面の辺および/または頂点のセットにおける一つまたは複数の辺を、新しい(または追加の)辺および/または頂点によって置換する(または追加または削除する)。それにより、本方法は、遷移領域のメッシュトポロジー(mesh topology)を修正し得る。再メッシュ化するステップS330は、頂点対を含む(ベベルパターン領域における)各カットについて、遷移領域に位置する遷移頂点を取得する。「遷移頂点(transition vertex)」とは、遷移領域の位置、すなわちステップS320においてグループ化された面に以前は含まれていなかった位置に、本方法によって追加された頂点を意味する。遷移頂点は、(本方法によって)任意の方法において(すなわち、ステップS320においてグループ化された面内に)配置されてもよく、カットに対して任意の距離内に配置されてもよい。
【0057】
再メッシュ化するステップS330は、カットの頂点対の各頂点と取得された遷移頂点とを接続する辺を計算する。換言すると、本方法は、辺を介して遷移頂点を各頂点対のそれぞれの頂点に接続する、遷移領域への新たな辺を作成することにより、遷移頂点とそれぞれのカットの頂点対との関連付けを確立する。
【0058】
本方法は、ステップS40では、細分割されたメッシュを出力する。換言すると、本方法は、ステップS30における細分割の結果、すなわちベースメッシュの細分割を提供する。「出力すること(outputting)」とは、細分割されたメッシュが、その後処理、またはさらなる設計のために、相互作用、保存、および/または(例えば、遠隔の)メモリまたはサーバへの伝送(transmittal)のために利用可能であるように、本方法は、任意種類のデータ処理を実行し得ることを意味する。
【0059】
これにより、本方法は、3Dモデル化オブジェクトの設計を改善する。実際、ベースメッシュの細分割は、選択された一つまたは複数の接続辺上の設計意図を維持しながらも、細分割とベースメッシュの残りの幾何学的形状との間の幾何学的な一貫性(geometrical coherence)を維持する。実際、本方法は、辺のリストに沿ってベースメッシュのトポロジーを緻密化する、ベベルパターン領域を取得する。本方法は、ベベルパターン領域の幾何学的形状がベースメッシュの幾何学的形状を考慮することを確実にするように遷移領域を取得する。これは、全て再メッシュ化のため、(ベベルの)カットの頂点に接続する遷移頂点を取得し、その結果、カットの頂点と遷移領域との間に(計算された辺を通して)幾何学的な一貫性を強制する。これにより、本方法は、予測可能な解を出力するので(本方法は設計意図を考慮するため)、これは、ユーザーにとって非常に十分なものになる。実際、そのため、ユーザーは、設計の結果を予測し、設計プロセスのさらなるステップにおいてその妥当性および品質を確認することができる。
【0060】
所与の頂点の「トポロジー価数(topology valence)」は、所与の頂点に接続される辺の数として定義される。そのため、トポロジー価は、非負の数であり、例えば、頂点が何れの辺とも共有されない場合はゼロであり、偶数または奇数である。頂点が経路における二端点のうちの少なくとも一つである場合には、例えば、経路における少なくとも一つの辺と遷移領域における少なくとも一つの辺とを含む、当該端点に接続される辺の数から構成される。
【0061】
遷移領域を再メッシュ化するステップS330は、ベースメッシュにおける識別された各面を細分割するステップが、偶数2Nのカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合には、および、(一つまたは複数の接続辺の)経路における二端点のうちの少なくとも一つのトポロジー価数が偶数である(すなわち、当該端点のトポロジー価数が組数(pair number)である)場合には、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続される(遷移領域の)頂点のうちの一つを、収束頂点として指定するステップを実行するステップを含み得る。
【0062】
頂点の一つを収束頂点として指定することとは、本方法が、ステップS320において取得された遷移領域に含まれる面のグループから、再メッシュ化するステップS330のための基準として頂点を選択することを意味する。この指定は、任意の方法において、任意の手段によって、任意の基準の下でも実行され得る。例えば、本方法は、少なくとも一つの端点、例えば、経路における一つまたは複数の接続辺における頂点のうちの最大一つを共有する頂点のうちの一つ(「端点頂点(endpoint vertex)」とも呼ばれる)に対する(例えば、相対寸法(relative dimensions)における、またはグラフ距離(graph distance)を介する)最小の距離を有する遷移領域に含まれる頂点として、その頂点を指定してもよい。追加的または代替的に、本方法は、少なくとも一つの端点に対する角度の整合性(consistency)を最大化することに基づいて、遷移領域の頂点を指定し得る。例えば、本方法は、少なくとも一つの端点に対して180度に最も近い(何らかの数値公差(numerical tolerance)までの)角度を有する頂点を指定してもよい。追加的または代替的に、本方法は、ユーザーの設計意図に基づいて遷移領域の頂点を指定し得るが、ここで、経路を形成する辺を選択するためにユーザーによって実行されるジェスチャ(gesture)は、遷移頂点を推測するために使用されてもよい。これは実装の問題である。
【0063】
また、再メッシュ化するステップS330は、(細分割において追加された)後続の各カットについて、遷移頂点を取得するステップを実行し得る。そのため、再メッシュ化は、ステップS320における遷移領域に位置する遷移領域にグループ化された面に以前には含まれていない新たな頂点を作成する。本方法は、遷移頂点が遷移領域に位置するように、任意の方法において遷移頂点を取得し得る。例えば、本方法は、後続のカットの頂点および収束頂点の位置を考慮して、遷移頂点を配置してもよい。細分割が偶数2N個のカットに到達すると、再メッシュ化するステップS330は、N個の遷移頂点を取得する。
【0064】
また、再メッシュ化するステップS330は、後続のカットの頂点対の各頂点と、取得された遷移頂点とを接続する辺を計算し得る。
【0065】
また、再メッシュ化するステップS330は、ベベルパターン領域におけるその他の面のトポロジーを変更しないままに維持し得る。換言すると、再メッシュ化は、取得された遷移頂点に関して遷移領域のトポロジーを修正し、ベベルパターン領域のトポロジー(すなわち、頂点および辺の接続性)を考慮する。
【0066】
これにより、再メッシュ化するステップS330は、2N個の四角形面および三角形面から構成される再メッシュ化された遷移領域を取得し得る。すなわち、細分割が偶数2N個のカットに達し、トポロジーの価数が偶数であるため、再メッシュ化するステップS330は、カットにおける偶数2N個の頂点を考慮しつつ、取得されたN個の遷移頂点を考慮し得る。そのため、偶数2N個のカット対(例えば、細分割の最後に追加されたカットであって、中心に見出され得るカット)を接続する、(取得されたN個の頂点のうちの)遷移頂点のうちの一つから作成される一つの三角形面が存在する。残りのN-1個の頂点は、それに続くそれぞれの2N-1個のカットに接続されており、それぞれのカットに対して四角形面を形成している。
【0067】
これは、メッシュの残りの形状に関して、ベベルパターン領域と再メッシュ化された遷移領域と含む、メッシュの細分割間における幾何学的整合性(geometrical consistency)を改善する。実際、本方法は、ベベルパターンの面の幾何学的形状を辿るゾーン(すなわち、遷移領域)を生成するように、(偶数2N個のカットの形式における)ベベルパターンの面の幾何学的配置を考慮する。幾何学的な整合性が改善されると、3Dモデル化オブジェクトの設計も改善される。実際、再メッシュ化のため、ユーザーは、例えば、物理的な入力に関して、より良くシミュレーションが行われ得る3Dモデル化オブジェクトを提示される。
【0068】
遷移領域を再メッシュ化するステップS330は、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合には、および、経路における二端点のうちの少なくとも一つのトポロジー価数が偶数である場合には、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続される頂点のうちの一つを収束頂点として指定するステップを実行するステップを含み得る。再メッシュ化するステップS330は、上記と同様の原理を使用して指定するステップを実行する。
【0069】
また、再メッシュ化するステップS330は、後続の各カットについて、遷移領域に位置する遷移頂点を取得するステップを実行し得る。再メッシュ化は、上述されるものと同じ原理によって遷移頂点を取得し得る(偶数2N個のカットに到達することを参照のこと)。
【0070】
また、再メッシュ化するステップS330は、後続のカットの頂点対の各頂点と、取得された遷移頂点とを接続する辺を計算し得る。再メッシュ化するステップS330は、ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないままに維持し得る。
【0071】
再メッシュ化するステップS330は、上述される原理に従って上記のステップを実行し得る。これにより、再メッシュ化するステップS330は、2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得し得る。2N+1個のカットが存在し、再メッシュ化は後続のカットについての遷移頂点を取得するため、遷移頂点に接続されていないベベルパターン領域のカットが存在する。そのため、偶数2N個のカット(奇数2N+1個のカット)のカット対(例えば、細分割において最後に追加されたカットであって、中心に見出される可能性がある)を結び付ける、(取得されたN個の頂点のうち)一つの遷移頂点から作成される一つの三角形面が存在する。残りのN-1個の頂点は、それぞれ後続の2N-1個のカットに接続されており、それぞれのカットについて四角形面を形成している。
【0072】
これは、メッシュにおける残りの幾何学的形状に関して、ベベルパターン領域と再メッシュ化された遷移領域とを含む、メッシュの細分割間の幾何学的整合性を改善する。実際、本方法は、そこの幾何学的形状を辿るゾーン(すなわち、遷移領域)を生成するように、ベベルパターンの面の幾何学的配置(奇数2N+1個のカットの形式)を考慮する。幾何学的な整合性が改善されると、3Dモデル化オブジェクトの設計も改善される。実際、再メッシュ化のため、ユーザーは、例えば、物理的な入力に関して、より良くシミュレーションが行われ得る3Dモデル化オブジェクトを提示される。
【0073】
遷移領域を再メッシュするステップS330は、ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合には、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合には、N=0のカットについて、遷移領域における第一の頂点および第三の頂点を識別するステップを実行するステップを含み得る。第一の頂点および第三の頂点は、ステップS320において取得された遷移領域、例えば、遷移領域の境界またはその内部に含まれる任意の頂点であってよい。第一の頂点および第三の頂点は、経路における二端点のうちの少なくとも一つに接続されており、そのため、二端点のうちの少なくとも一つとリンクを共有する。また、再メッシュするステップS330は、第二の頂点を識別し得る。第二の頂点は、(例えば、少なくとも一つの辺を介して)第一の頂点および第三の頂点に接続され得る。第二の頂点は、収束頂点であり得る。換言すると、本方法は、第二の頂点を収束頂点として指定し得る。
【0074】
また、再メッシュするステップS330は、N=0のカットについて、第一の遷移頂点を取得するステップを実行し得る。第一の遷移頂点は、上述されるものと同じ原理から取得され得る。第一の遷移頂点は、遷移領域に配置され得る。また、再メッシュするステップS330は、依然としてN=0のカットについて、辺を計算するステップを実行し得る。辺は、生成された第一の遷移頂点を第二の頂点に接続し得る。
【0075】
また、再メッシュ化するステップS330は、後続の各カットについて、遷移領域に位置する遷移頂点を取得するステップを実行し得る。また、再メッシュ化するステップS330は、後続のカットの頂点対の各頂点と、取得された遷移頂点とを接続する辺を計算し得る。
【0076】
また、再メッシュ化するステップS330は、後続のカットについて、ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないままに維持するステップを実行し得る。これにより、再メッシュ化するステップS330は、少なくとも2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得し得る。すなわち、本方法は、2N個未満の四角形面および三角形面から構成されることはなく、再メッシュ化の一貫性を維持するためにさらに面を追加し得るが、これは、実装上の問題に過ぎない。
【0077】
これは、メッシュにおける残りの幾何学的形状に関して、ベベルパターン領域と再メッシュ化された遷移領域とを含む、メッシュの細分割間の幾何学的整合性を改善する。実際、本方法は、そこの幾何学的形状を辿るゾーン(すなわち、遷移領域)を生成するように、(偶数2N個のカットと奇数であるトポロジーの価数との形式における)ベベルパターンの面の幾何学的配置を考慮する。幾何学的な整合性が改善されると、3Dモデル化オブジェクトの設計も改善される。実際、再メッシュ化のため、ユーザーは、例えば、物理的入力に関して、より良くシミュレーションが行われる3Dモデル化オブジェクトを提示される。
【0078】
遷移領域を再メッシュ化するステップS330は、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合には、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合には、N=0のカットについて、経路における二端点のうちの少なくとも一つの端点に接続される、遷移領域の第一の頂点および第三の頂点と、経路における二端点のうちの少なくとも一つの端点に接続される遷移領域の第二の頂点とを識別するステップを実行するステップを含み得るが、第二の頂点は収束頂点である。
【0079】
また、再メッシュ化するステップS330は、N=0のカットについて、遷移領域に位置する第一の遷移頂点を取得し、生成された第一の遷移頂点および第二の頂点を接続する辺を計算することができる。
【0080】
また、再メッシュ化するステップS330は、後続の各カットについて、遷移領域に位置する遷移頂点を取得し、後続のカットの頂点対の各頂点と取得された遷移頂点とを接続する辺を計算するステップを取得し得る。
【0081】
また、再メッシュ化するステップS330は、後続のカットについて、ベベルパターン領域および遷移領域におけるその他の面のトポロジーを変更しないままに維持し得る。これにより、再メッシュ化するステップS330は、少なくとも2N個の四角形面および三角形面から構成される、再メッシュ化された遷移領域を取得する。すなわち、本方法は、2N個未満の四角形面および三角形面から構成されることはなく、再メッシュ化の一貫性を維持するためにさらに面を追加し得る。
【0082】
これは、メッシュにおける残りの幾何学的形状に関して、ベベルパターン領域と再メッシュ化された遷移領域とを含む、メッシュの細分割間の幾何学的整合性を改善する。実際、本方法は、そこの形状を辿るゾーン(すなわち、遷移領域)を生成するように、(奇数2N+1個のカットと奇数であるトポロジーの価数との形式における)ベベルパターンの面の幾何学的配置を考慮する。幾何学的な整合性が改善されると、3Dモデル化オブジェクトの設計も改善される。実際、再メッシュ化のため、ユーザーは、例えば、物理的入力に関して、より良くシミュレーションが行われ得る3Dモデル化オブジェクトを提示される。
【0083】
遷移領域に位置する遷移頂点を取得するステップは、架空の線を計算するステップを含む場合がある。「架空の線(fictive line)」とは、本方法によって計算され得る、任意の理論的な線を意味する。換言すると、架空の線は、本方法によって使用されるが、再メッシュ化または出力には直接適用されない。
【0084】
架空の線は、架空の頂点および収束頂点の間に(長さなどのその寸法だけ)伸び得る。架空の頂点は、架空の線と同様な理論上の点である。架空の頂点は、ベベルパターン領域および遷移領域の両方によって共有される辺上に(例えば、本方法によって)配置され得る。収束頂点は、遷移領域の辺の一つに位置し得る。収束頂点は、例えば、ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が偶数である場合、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続された頂点のうちの指定された一つであり得る。
【0085】
収束頂点は、別の例では、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が偶数である場合、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続された頂点のうちの指定された一つとし得る。
【0086】
収束頂点は、別の例では、ベースメッシュにおける識別された各面を細分割するステップが、偶数2N個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続される、遷移領域上で識別される第一の頂点および第三の頂点に接続される、識別された第二の頂点であり得る。
【0087】
収束頂点は、別の例では、ベースメッシュにおける識別された各面を細分割するステップが、奇数2N+1個のカットに到達するようにベースメッシュにおける識別された各面を細分割するステップを含む場合、および経路における二端点のうちの少なくとも一つのトポロジー価数が奇数である場合、識別された第二の頂点は、N=0のカットについて、経路における二端点のうちの少なくとも一つに接続される遷移領域上で識別された第一および第三の頂点に接続される、識別された第二の頂点であり得る。
【0088】
本方法は、遷移領域上に位置する遷移頂点を架空の線上に配置し得る。すなわち、本方法は、ステップS330における再メッシュのために、架空の線(およびそれぞれのカット)の延長を考慮に入れて、遷移頂点を配置する。
【0089】
これは、なおも幾何学的な精度(geometrical accuracy)を改善する。実際、本方法は、ベベルパターン領域とメッシュの残りの形状との間の幾何学的な収差を回避し得る。これは、全て架空の線に沿った頂点の配置のためである。実際、架空の線は、メッシュにおける残りの幾何学的形状に対する遷移領域の一貫性を維持するための全体的な方向を指示する。このようにして、ユーザーは、意図された設計を正確に提示する、モデル化オブジェクトを提供される。
【0090】
架空の頂点は、偶数2N個のカットに到達する場合に、カットの頂点対間の平均距離として構築され得る。換言すると、本方法は、平均距離に対応する位置に架空の頂点を作成し得る。あるいは、奇数2N+1個のカットに到達する場合、カットからの中間カットの位置として、架空の頂点を構築し得る。例えば、カットがベベルパターン領域において等間隔に配置されている場合、本方法は、中間カットの位置に架空の頂点を構築してもよい。
【0091】
このようにして、本方法は、カットの数に応じて幾何学的な一貫性を維持し得る。カットが偶数個である場合、本方法は、カットの中間領域に沿って伸びる線の平均的な方向を設定するステップに注目するが、カットの数が奇数である場合、本方法は、(中央のカットの位置という形式における)幾何学的な中央に沿った方向を設定する。本手法は、カットの数に関する二つのケースに遷移領域を適合させることが可能であるため、幾何学的な一貫性は、確かに維持される。
【0092】
遷移上に位置する遷移頂点を架空の線上に配置するステップは、遷移頂点(それぞれ遷移頂点)を架空の線上に均等に配置するステップを含み得る。例えば、本方法は、架空の線の寸法を考慮して、遷移頂点の配置を均質化するステップを含む場合がある。
【0093】
これにより、本方法は、面が均一な間隔で配置されている、規則的な形状を取得するという結果をもたらす。これは、再メッシュ化の精度および平滑さの間の良いトレードオフ(tradeoff)を達成する。実際、遷移頂点の配置のため、本方法は、ベベルの入射面(incident faces)と主要形状本体(main shape body)との間において均整の取れた曲率遷移(curvature transition)を保証する。
【0094】
さらに、本方法は、各カットについて、カットの頂点対間の平均距離として架空の頂点を構築するステップを含み得る。例えば、本方法は、平均距離を計算するために、頂点対の各頂点に重みを設定する場合がある。あるいは、本方法は、頂点対を有しない奇数個のカットの位置として架空の頂点を構築する場合がある。すなわち、本方法は、頂点対を共有しない奇数個のカットにおける任意の位置を選択し得る。また、本方法は、カットの架空の頂点と収束頂点との間に延びる、架空の線を計算し得る。また、本方法は、計算された架空の線上に遷移頂点を配置し得る。
【0095】
このようにして、本方法は、カットの種類に対応する架空の頂点の設定を分離する。そのため、本方法は、遷移領域の作成に関する柔軟性(flexibility)を改善する。
【0096】
本方法は、(カットの数は、奇数でも偶数でもよいN個であると仮定する)各カットについて、計算された架空の線上に遷移頂点を配置し得て、カットの各頂点対(k,N-k-1)(0<k<N)について、架空の線上に遷移頂点(Tk,N-k-1)を配置するステップを備える。遷移頂点は、比率(位置)k/(INT(N/2)+1)で配置され得る。ここで、INT(X)は、(数Xの)整数部である(に相当する)。
【0097】
したがって、本方法は、比率に応じて遷移頂点を均質に配置して、これによって均質な(かつ滑らかな)遷移領域を実現する。
【0098】
遷移領域を再メッシュ化するステップS330は、ポリラインを計算するステップをさらに含み得る。ポリラインとは、相互に接続された辺のセットを意味する。ポリラインは、一つまたは複数の取得された遷移頂点を接続し得る。換言すると、ポリラインの辺間の接続は、一つまたは複数の遷移頂点に対応している。
【0099】
これは、一つまたは複数の遷移頂点に沿って遷移領域を分割する、「分割形状(dividing shape)」をもたらす。この分割形状は、(細分割のモデル化(subdivision modeling)から知られているように、再メッシュ化がポリラインに深さ(depth)を追加する可能性があるため)幾何学的な収差を有することなく、幾何学的形状を滑らかに維持する、吸引力のある領域(region of attraction)として機能するということが理解されている。
【0100】
次に、図4ないし21を参照して実施例を説明する。
【0101】
ここで、細分割のモデル化に関する幾つかの態様について説明する。
【0102】
細分割のモデル化の関連では、ベベルは、辺のリストに沿って細分割ベースメッシュにおけるトポロジーを緻密化するステップからなる操作である。
【0103】
緻密化(densification)は、ベベルの領域において、所与の形状に対して、局所的な吸引力を引き起こす。ベベルは、フィレットもしくはスイープ、ピンチもしくはキャラクターライン(特徴線(feature lines)、またはフェージング辺(fading edges)とも呼ばれる)の設計に使用され得る。
【0104】
図4は、フィレット410またはスイープ420を設計するために、ベベルの使用を例証している。
【0105】
図5は、モデル化オブジェクトにおけるピンチを設計するために、ベベルの使用を例証している。ベベル演算子は、モデル化オブジェクトにおける境界(border)510にベベル520を追加する。
【0106】
図6は、キャラクターライン610のスクリーンショット(screenshot)を例証している。
【0107】
上述されるように、「細分割ベベル(subdivision bevel)」とも呼ばれるベベルは、ベースメッシュのトポロジーを接続辺のセットに沿って局所的に緻密化するために使用される機能である。
【0108】
図7A、7B、および7Cは、ベベルの機能/操作のための入力を例証している。すなわち、
●四角形面または三角形面を有する細分割ベースメッシュ700、
●(頂点において自己交差する可能性がある)辺の経路を記述する、個別の接続辺710のセット、
●初期の辺に沿って掃引されることになるパターン720。パターンの複雑さは、「カット(cuts)」(曲線を表すポリラインを記述する内部自由度(internal degree of freedom)、カットの数は0以上である)の数を定義する。
【0109】
図7Cは、ベースメッシュ730と、四個のカットの凹パターン(concave pattern)を有する(ベベル操作の適用時にベースメッシュから生じる)ベベル740のトポロジーとを例証している。
●内部部(interior part)750:トポロジーはよく知られており、入力辺(input edge)は、より多くの辺および面によって置き換えられる。
●交差部(intersection parts)760:フィル技術は、適切なトポロジーを作成するために使用することができるが、このトピックは、ここでは取り扱われない。
●先端部(extremity part)770:ベベルが境界上で停止する場合、トポロジーは作成されず、考慮すべき唯一のケースは、ベベルが内部頂点(internal vertex)において終了する場合である。端点頂点(end vertex)の周りの面は取り除かれ、フロー(flows)(またはメッシュライン(mesh lines))が自然なままであって、設計者の意図を保つように、この遷移領域は再メッシュ化される。
【0110】
実装は、三つのステップにおいて説明され得る。すなわち、(1)規則的頂点(regular vertices)のための端点トポロジー(end topology)、(2)異常頂点(extraordinary vertices)のための端点トポロジー、および(3)遷移頂点(transition vertices)の位置(location)。
【0111】
[(1)規則的頂点のための端点トポロジー]
注意点として、四辺が正確に交差する内部頂点は、規則的であると言われている。
【0112】
図8Aは、本方法の基本原理(basic principle)を示している。本方法は、ベベル演算子と同じ入力、例えば、端点頂点820を有するベースメッシュと選択された辺810とを受け取る。本方法は、ベベルおよび遷移領域820を出力する。本方法では、(ベベルおよび遷移領域における)生成されるトポロジーは、ベベルにおけるカットの数に関する偶奇性(parity)に応じて、わずかに異なることになる。
【0113】
図8Aは、規則的頂点の場合における偶数個のカットのためのトポロジーを示している。すなわち、偶数2N個のカットは、N個の遷移頂点(N-1個が規則的である)、2N+2個の四角形面、および1個の三角形面を生成する。
【0114】
図8Bは、規則的頂点の場合における奇数個のカットのためのトポロジーを示している。すなわち、奇数2N+1個のカットは、N個の遷移頂点(N-1個は規則的である)、2N+3個の四角形面を生成することになる。
【0115】
[(2)内部の異常頂点のための端点トポロジー]
より一般的なこの状況では、トポロジーは、カットの数および頂点の価数に関する偶奇性に依存することになるが、その挙動は、規則的頂点を有するものと類似することになる。
【0116】
(2.1.偶数価数の頂点のためのトポロジー)
図9は、入力構成(input configuration)900を例証している。この入力構成は、(ベベルが適用されることになる)選択された辺の端点(endpoint)からなる頂点910を例証している。図9は、(偶数の価数における)頂点910の入力トポロジー(input topology)を示している。すなわち、
図9の例は、頂点910の周りに偶数個の面がある場合を例証している。すなわち、2個の面がベベルにおける最後の辺を共有し、2*k個の他の面が遷移領域920に存在する。
【0117】
図10は、偶数価数の頂点および偶数個のカットに関する出力トポロジーを例証している。本方法は、規則的頂点の場合に対するのと同じパターンを適用する。図10から理解されるように、偶数2N個のカットは、N個の遷移頂点(そのうちのN-1個は規則的である)、2N個の四角形面、および1個の三角形面を生成する。他の面のトポロジーは変わらない。
【0118】
図11は、偶数価数の頂点および奇数個のカットに関する出力トポロジーを例証している。本方法は、規則的頂点の場合に対するのと同じパターンを適用する。図11から理解されるように、奇数2N+1個のカットは、N個の遷移頂点(N-1個は規則的である)、および2N+1個の四角形面を生成する。他の面のトポロジーは変わらない。
【0119】
図12は、価数6の頂点に関する場合を例証しており、これによって本方法の拡張性(scalability)を示している。
【0120】
(2.2.奇数価数の頂点のためのトポロジー)
図13は、奇数価数の頂点1310の周りの入力構成1300を例証している。入力構成1300は、頂点1310の周りに奇数個の面を示している。すなわち、2個の面がベベルにおける最後の辺を共有し、2*K+1個の他の面が遷移領域1320に存在している。奇数価数の場合、デフォルトのトポロジー(default topology)は、1個の余分な収束頂点を必要とすることになる。
【0121】
図14は、奇数価数の頂点および偶数個のカットに関するトポロジーを例証している。偶数価数に対するものと同様のパターンが提案されている(図14では、0個のカット、2個のカット、4個のカットに関する)。偶数2N個のカットは、1+N個の遷移頂点(N-1個は規則的である)、2N+2個の四角形面、および1個の三角形面を生成する。他の面のトポロジーは変わらない。
【0122】
図15は、奇数価数の頂点および奇数個のカットに関するトポロジーを例証している。偶数価数に対するものと同様のパターンが提案されている。すなわち、奇数2N+1個のカットは、1+N個の遷移頂点(N-1個は規則的である)、および2N+3個の四角形面を生成する。他の面のトポロジーは変わらない。
【0123】
図16は、価数5の頂点に関する場合を例証しており、これによって本方法の拡張性を示している。
【0124】
[(3)遷移頂点の位置]
遷移頂点は、良いトポロジーへの鍵(四角形面、異常な頂点数の少なさ)であるだけでなく、それらの位置によって設計者により多くの自由度(degrees of freedom)も提供する。遷移頂点は、ベベルの遷移品質(transition quality)に大きな影響を与える。すなわち、
-遷移頂点は、全てのメッシュライン(mesh-lines)が一つの頂点のみに収束することを回避する。
-遷移頂点は、ベベルの入射面と主要形状本体との間において均整の取れた曲率遷移を保証する。
【0125】
ベベルは、辺に沿って掃引されることになる輪郭を提供することによってカスタマイズすることができる。幾つかの場合によっては、ベベルが最初の本体に併合される必要があるため、遷移領域に大きな影響を与える可能性がある。本方法は、設計者が形状に対して局所的な制御または大域的な制御を所望する場合、二つの方策を提供する。また、必要であれば、設計者は、手作業で頂点を編集し得る。
【0126】
遷移頂点の位置決めは、以下を位置決めすることが必要になる。すなわち、
-架空の頂点:大域的でもまたは局所的でもよい。
-収束頂点および架空の頂点によって定義される架空の線。
【0127】
図17は、遷移頂点および架空の線の位置を示す、メッシュの横断面図(transversal view)を示している。
【0128】
図18は、遷移頂点および架空の線の配置に関する上面図(upper view)を示している。
【0129】
次に、架空の頂点を配置するための二つの方策(strategies)について説明する。
【0130】
(3.1.大域的な方策(global strategy))
図19および20は、大域的な方策を示している。この方策は、遷移頂点の安定した位置を可能にし、ベベルの形状に結び付けられておらず、この方策では、収束頂点に架空の線によって結び付けられることになる、一つの架空の頂点を計算する必要がある。その後、全ての遷移頂点は、この線上に位置するように制約されることになる。
【0131】
図19に示されるように、架空の頂点は、以下として構成される。すなわち、
-カット数が偶数の場合、二つの中間カットの平均、
- カット数が奇数の場合、中間カットの位置。
【0132】
図20に示されるように、その後、遷移頂点は、架空の辺に沿って均等に配置される。
【0133】
(3.2.局所的な方策(local strategy))
この場合、全ての遷移頂点に対して、架空の辺が計算される。
【0134】
説明の便宜上、カットの数がN個であると仮定すると、挿入される頂点には1からNまでの番号を付けることができる。
【0135】
遷移頂点は、ベベルの両側における頂点、すなわちk個の頂点とN-k-1個の頂点に接続されることになる。
【0136】
各頂点対(k,N-k-1)について、架空の頂点Fk,N-k-1は、大域的な規則を用いて計算される。すなわち、k≠N-k-1の場合、平均であり、点が同じ場合、kである。
【0137】
遷移頂点Tk,N-k-1は、セグメント(segment)[Fk,N-k-1,収束頂点]上に比率
【0138】
【数1】
【0139】
で構築される。ここで、INTは、整数部である。
【0140】
図21は、セグメントに沿った遷移頂点の配置を例証している。
図1A
図1B
図1C
図1D
図1E
図2
図3
図4
図5
図6
図7A
図7B
図7C
図8A
図8B
図8C
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
【外国語明細書】