JP EN
(2)陰関数モデリングをやってみよう

(2)陰関数モデリングをやってみよう

(2)Let's try implicit function modeling.

弊社は、形状処理技術、機能計算技術、設計技術を活用して様々なプロダクト開発を行っています。 本記事では形状をモデリングする手段の一つである、陰関数モデリングについて説明をします。

Our company develops various products utilizing shape processing, function calculation, and design technologies. In this article, we explain Implicit Function Modeling, one of the means of modeling geometry.

新谷国隆

Kunitaka Shintani

2023,05,24 2023,05,24

はじめに

本記事は陰関数モデリング(Implicit Modeling)の説明・実演の第2部です。

  1. 陰関数モデリングに関する説明、TPMS(Triply Periodic Minimal Surface、三重周期極小曲面)によるモデリング
    https://nature-architects.com/blog/1115/
  2. 形状を引数とした陰関数によるモデリング

第2部では形状を引数とした陰関数によるモデリングについて説明と実演を行います。

以下のyoutubeの動画で紹介している熱交換構造は、流路の特徴形状から隔壁構造を設計する手法(弊社特許取得済み、特許第7207640号)により陰関数を用いてモデリングをしています。

形状を引数とした陰関数によるモデリング

第1章で示した波状の板の陰関数は、k_x,k_y,k_z,\phi_x,\phi_y,tを関数を決める引数として持っていました。

F(x,y,z|k_x,k_y,k_z,\phi_x,\phi_y,t)=|\cos (k_xx+\phi_x)+\cos (k_yy+\phi_y) +k_zz|-t<0

ここでは、k_x,k_y,k_z,\phi_x,\phi_yはスカラー量でしたが、この引数を形状にして陰関数を定義することもできます。

例えば、形状g_1を引数として以下のような陰関数による形状表現を考えます。

F(x,y,z|g_1,t)=\text{Distance}(p_1,g_1)-t<0
\\
p_1=\text{Point}(x,y,z)

\text{Point}(x,y,z)(x,y,z)を座標にもつ点、\text{Distance}(p_1,g_1)は点p_1と形状g_1の距離を表す関数と定義すれば、この陰関数表現により形状g_1に厚さを持たせた構造が生成されます。

また、第1章の最後にgifで載せていたGyroidにNの形のSchwarz Dを埋め込んだものも、以下のように形状g_1をもとにした陰関数でモデリングしていました。

\begin{aligned}
F(x,y,z|g_1,t)&=|a(x,y,z|g_1)F_{Gyroid}+(1-a(x,y,z|g_1))F_{SchwarzD}+s|-t<0
\\
a(x,y,z|g_1)&=\frac{a_0}{1+\exp(-\alpha d(x,y,z|g_1))}
\\
d(x,y,z|g_1)&=\text{Distance}(p_1,{g_1}_{boundary})\text{sign}(x,y,z|g_1)
\\
p_1&=\text{Point}(x,y,z)
\\
\text{sign}(x,y,z|g_1)&=
\left\{
\begin{matrix}
1 & (\text{if point }(x,y,z) \text{ is contained in } g_1)
\\
-1 &(\text{else})
\end{matrix}
\right.
\end{aligned}

このように形状を引数とした陰関数を用いることで、より複雑なモデリングができます。

ここまでで示した形状を引数とした陰関数は、値の評価に形状と点の距離の見積りを含んでおり、比較的重い演算が必要となります。 そのため複雑な陰関数では構造の生成に時間がかかる可能性があります。 形状をもとにした陰関数モデリングを試してみたい方は、まずは簡単な陰関数を用いて、または構造生成の解像度を落として行うことをおすすめします。

複数の形状を組み合わせた陰関数モデリング

複数の形状を組み合わせた陰関数によりモデリングをすることもできます。

以下の二つに区分された形状の集合G_1,G_2により定義された陰関数を例にして、実演します。

F(x,y,z|G_1,G_2,t)=|\text{Distance}(p_1,G_1)-\text{Distance}(p_1,G_2)+s|-t<0
\\
p_1=\text{Point}(x,y,z)

ここで、\text{Distance}(p_1,G_1)は形状の集合G_1の中で点p_1と最も近い形状とp_1との距離と定義します。

この陰関数は、形状の集合G_1,G_2の間に隔壁構造を生成するものとなります。

二つの直線によるモデリング

二つの形状を並行な直線で定義すると、直線の間を隔てる構造が生成されます。

G_1:直線(青線)

G_2:直線(緑線)

二つの螺旋によるモデリング

二つの形状を軸が同じで半周期ずれた螺旋で定義すると、螺旋状の隔壁構造が生成されます。

G_1:螺旋(青線)

G_2:螺旋(緑線)

正方格子によるモデリング

二つの形状の集合を正方格子のスケルトンをもと定義すると、Schwarz Pに似た形状が生成されます。

G_1:正方格子のスケルトン(青線)

G_2G_1を各方向に半周期ずらしたもの(緑線)

K4格子によるモデリング

二つの形状の集合をK4格子のスケルトンをもと定義すると、Gyroidに似た形状が生成されます。

G_1:K4格子のスケルトン(青線)

G_2G_1を鏡映反転させたもの(緑線)

陰関数による熱交換器のモデリング

「複数の形状を組み合わせた陰関数モデリング」で紹介した陰関数は形状の集合G_1,G_2の間に隔壁構造を生成するものでした。

この特徴を利用して、流路の特徴形状として二つの形状の集合を定義すれば、前述した陰関数を用いて2流体の熱交換器(2流体の間で熱を交換する構造)をモデリングすることができます。

実際にモデリングしたものが以下となります。

最後に

第1章では陰関数モデリングの説明とTPMSによるモデリングの実演を、第2章では形状を引数とした陰関数モデリングの説明と実演をしてきました。

陰関数を用いることで数式をもとに複雑なモデリングが可能となり、形状と組み合わせて陰関数を定義することでよりモデリングの幅を広げることができます。

3Dプリント技術の発展により複雑な形状の作成が可能になり、熱交換器をはじめとして産業的にも陰関数を用いたモデリングが利用されています。

本記事を通して、少しでも陰関数モデリングに興味を持ってもらえたらうれしいです。

Writer

エンジニア

Engineer

新谷国隆Kunitaka Shintani Kunitaka Shintani

名古屋大学大学院工学研究科マテリアル理工学専攻卒業(修士)。精密機器メーカー研究開発部門において解析業務に従事。2020年にNature Architectsに参画。数式が好き。

Graduated from the Graduate Schoool of Engineering, Nagoya University (Master of Engineering). Joined Nature Architects in 2020. He loves mathematical formulas.

Kunitaka Shintani

Nature Architects株式会社

Nature Architects, Inc.

代表取締役:大嶋 泰介

CEO:Taisuke Ohsima

所在地:東京都港区赤坂8-4-7 アパートメントカーム3D

ADDRESS:Apartment Calm 3D, 8-4-7, Akasaka, Tokyo, 107-0052, Japan

設立:2017年5月

Funded:May, 2017

URL:https://nature-architects.com/

お問い合わせ:https://nature-architects.com/contact/

CONTACT:https://nature-architects.com/contact/

Related Topics

Up Next

(1)陰関数モデリングをやってみよう

(1)陰関数モデリングをやってみよう

(1)Let's try implicit function modeling.

弊社は、形状処理技術、機能計算技術、設計技術を活用して様々なプロダクト開発を行っています。 本記事では形状をモデリングする手段の一つである、陰関数モデリングについて説明をします。

Our company develops various products utilizing shape processing, function calculation, and design technologies. In this article, we explain Implicit Function Modeling, one of the means of modeling geometry.

新谷国隆

Kunitaka Shintani

2023,05,12 2023,05,12
【Rhino+Grasshopperを理解して魔改造しよう】 ②Grasshopperをしっかりと理解する

【Rhino+Grasshopperを理解して魔改造しよう】 ②Grasshopperをしっかりと理解する

【Let's understand Rhino+Grasshopper and customize】Understanding Grasshopper

弊社では、独自の構造設計の高度化に向けて社内のソフトウェア環境を構築し続けています。 ソフトウェア環境の構成要素は多岐にわたりますが、その一つとして自由に拡張可能な形状処理-数値解析環境を構築するため、3DCADであるRhinocerosとそのプラグインであるGrasshopperを拡張して広く利用しています。 本記事では、Grasshopperのプラグインを開発して使っていくために重要だが言及されることの少ない部分を主として書いていければと考えています。 Rhino+Grasshopperに学生時代にハマって以来気づいたらこんな仕事をしている私としては、多くの方が触り始める手助けになれれば幸いです。

We continue to build our in-house software environment to advance our unique structural design. The components of the software environment are diverse, but one of them is the freely extensible geometry processing-numerical analysis environment, and we are extensively using Rhinoceros, a 3D CAD system, and its plug-in, Grasshopper, in an extended manner. In this article, I hope to write mainly about the important but rarely mentioned aspects of developing and using Grasshopper plug-ins. As someone who got hooked on Rhino+Grasshopper as a student and has been doing this kind of work ever since, I hope I can help a lot of people get started.

谷道鼓太朗

Kotaro Tanimichi

2023,04,08 2023,04,08