這是用戶在 2024-6-22 13:12 為 https://stackedit.io/app# 保存的雙語快照頁面,由 沉浸式翻譯 提供雙語支持。了解如何保存?

風など、普段は視覚的に見ることができないカの流れの1つに、磁力によ
って生まれる磁場があります。磁場とは、空間における各点において磁力
の大きさと向きを表すべクトル場のことで、通常はN極からS極へ流れる
線としてよく表現されます。磁場は、よく本などでは2次元で表琴されて
いるため、2次元の力場であると讙解されることもあります。しかし、実際
は3次元に存在していて、それを可視化するととても面白い形状を見るこ
とができます。
この章では、3次元に存在している磁場を可視化する方法を解説します。

\section*{Magnetic Fieldのアルゴリズム}

\section*{磁場と磁力線}

磁場とは、磁気の力がおよぶ空間のことを言います。磁場の大きさは通常ベクトルとして表現され、 その大きさと向きは磁気量 (1 W b) (ウェーバ)の (N) 極を置いたときに受ける力とその向きとして定義 されます。

このベクトルは、空間に置かれた磁極の大きさに応じて変化することになります。それぞれの磁極 は正か負の磁気量を持っていて、正の場合は (N) 極、負の場合は (S) 極となり、磁場は (N) 極から (S) 極に 流れるような形でベクトル場として形成されます。まずはよく見る例として、N 極と (\mathrm{S}) 極の 2 つの 磁極が空間に置かれている状況下で磁場を見てみましょう。

空間上の任意の点における磁場 (H) のベクトルの大きさは、磁極との距離に反比例します。つまり、点 が磁極から近ければ近いほどその磁極の影響を受けやすいということになります。また磁場 (H) のべ クトルの向きは、各磁極から点に向かう方向ベクトルに磁場 (H) の大きさを掛け、それを磁極分足し 合わせることで得ることができます。 (\mathrm{N}) 極(磁気量 (c_{2}=1) とした場合)から任意の点に向かうべクト ルを (v_{1} 、 \mathrm{~S}) 極(磁気量 (=-1) とした場合)から任意の点に向かうベクトルを (v_{2}) としたとき、磁場 (H) は 次のような式で表すことができます(ネ1)。

[
\begin{aligned}
& H=\frac{v_{1}}{\left|v_{1}\right|^{2}} c_{1}+\frac{v_{2}}{\left|v_{2}\right|^{2}} c_{2} \
& c_{1}=1 \
& c_{2}=-1
\end{aligned}
]

空間上に無数の点をプロットして、各点においてこの式を使って磁場 (H) を計算すると、次のような (\mathrm{N}) 極から (\mathrm{S}) 極に向かうようなべクトル場を得ることができます。

このベクトル場の流れから、次のような特徴を見ることができます。

流れは正極から負極に向かっている

流れが途中で途切れたり、急に始まったりしない

流れは交わったり枝分かれしたりしない

このような特徴を持ったものに磁力線と呼ばれるものがあり、たいていは次のような図で表現され ます。

では、磁極の数が2つより多いとき、また各磁極の磁気量が異なるときの磁場 (H) は、どのように計算できるでしょうか。例えば、次の図のような磁極が複数ある場合を見てみます。

この場合も、計算式自体は磁極が2つのときとあまり変わらず、次のように数列の足し合わせとし て考えることで磁場 (H) を求めることができます(*2)。

[
\begin{aligned}
& H=\frac{v_{1}}{\left|v_{1}\right|^{2}} c_{1}+\frac{v_{2}}{\left|v_{2}\right|^{2}} c_{2}+\frac{v_{3}}{\left|v_{3}\right|^{2}} c_{3}+\frac{v_{4}}{\left|v_{4}\right|^{2}} c_{4}+\cdots+\frac{v_{m}}{\left|v_{m}\right|^{2}} c_{m} \
& H=\sum_{n=1}^{m} \frac{v_{n}}{\left|v_{n}\right|^{2}} c_{n}
\end{aligned}
]

Houdini を使ったレシピでは、この計算式をベースに磁場を計算し、その情報を利用してビジュアル を生成したいと思います。

\section*{Magnetic Field のレシピ}

このレシピでは、プラスとマイナスにチャージされたポイントを複数空間に置くことで、磁場の流れと、空間上の磁力の分布を両方可視化したいと思います。アルゴリズムの項で説明した計算式を利用すれば、ボリュームの密度をプラスからマイナスにかけて層状に可視化することができます。

\section*{ネットワーク図}

メインパラメータ

\begin{tabular}{llrrl}
\hline 名前 & タイプ & 範囲 & デフォルト値 & 説明 \
\hline box_size & Float & (0-400) & 400 & 境界ボックスのサイズ \
\hline pt_num & Integer & (0-10) & 6 & チャージされたポイントの数 \
\hline spiral_step_size & Float & (0-100) & 30 & スパイラルのステップサイズ \
\hline spiral_step_angle & Float & (0-180) & 137.5 & スパイラルのステップ角度 \
\hline spiral_step_charge & Float & (0-1) & 2 & スパイラルのステップチャージ量 \
\hline charge_dist_ratio & Float & (0-1) & 0.1 & 距離に応じた影響チャージ量の係数 \
\hline vector_field_num & Float & (0-1000) & 200 & ベクトル場(磁場)のポイントの数 \
\hline layer_num & Integer & (0-50) & 20 & 可視化する磁カ層の数 \
\hline vector_field_rad & Float & (0-20) & 20 & ベクトル場(磁場)の半径 \
\hline
\end{tabular}

\section*{(1-1) 磁場と磁力の境界を作る}

まず、磁場と磁力が計算・描写される空間を立方体を使って作ります。

Boxノート Uniform Scale のパラメータに、先に登録したパラメータとリン クするためにエクスプレッションを設定します。また、作った立方体は「BASE」 という名前で作ったNull ノードにつなげておきます。

Uniform Scale: ch("…/CONTROLLER/box_size")

Boxノードのパラメータ

Transformノートこのノードでは、後ほど磁場と磁力の断面を切るために、今作ったボックスの Z軸に半分 のサイズのジオメトリを作り、ボックスを切り取れる位置に移動しておきます。また断面を切り取ったときに 境界の切り残しがないように、すべての軸に対してscale の値を原寸よりわずかに小さくしておきます。こち らのジオメトリは「HALF_BASE」という名前をつけたNull ノードにつなげておきます。

Translate(Z): $SIZEZ/2*ch(“sz”)

Transform ノードのパラメータ

\section*{1-2 磁場と磁力の境界を作る}

立方体を作ったら、そこからボリュームを作ります。今回のように空間 のすべての箇所において計算を行いたい場合は、ボリュームを使えば 計算が速く、便利な関数も用意されているので何かと便利です。

Volumeノート このノードを2つ配置し、それぞれのインプットに「BASE」 という名前の Null ノードのアウトプットをつなげて、それぞれのボリューム のパラメータを設定していきます。

1つ目のボリュームは磁力用に作ります。プラスやマイナスにチャージされ たポイントに影響された磁力の情報を格納するボリュームになるので、タイ プ (Rank) はScalar で、名前は「density」としておきます。

Volumeノード(density) のパラメータ

2つ目のボリュームは磁場用に作ります。磁場はプラス(N 極)からマイナス(S 極)へ向かう方向を示すも のなので、こちらのボリュームのタイプ (Rank) は「Vector」にしておき、名前は「vel」としておきます。

Volumeノード(vel) のパラメータ

細かく描写するためには解像度を比較的高めに設定しておく必要があります。なので、どちらの Volume / ードの Uniform Sampling Divs も 100 に設定しています。2つ目のVolumeノードは、Mergeノードでまとめ ておきます。

\section*{2-1 チャージされたポイントを作る}

次に、空間に磁場と磁力の層を発生させるために、プラスとマイナス にチャージされたポイントを作ります。マニュアルで好きな位置に配置するという方法も考えられますが、ここではプロシージャルに、プラ スとマイナスにチャージされたポイントを交互に任意の数だけスパイ ラル状に配置したいと思います。ここでは Attribute Wrangle を使って、必要なアトリビュートが格納されたポイントを 1 から作ります。

Attribute Wrangle ノート Run Over のパラメータを「Detail (only once)」にして、VEXコードを記述していき ます。

Attribute Wrangle ノードのパラメータ

まずはchf 関数で定義している変数をプロモートし、エクスプレッションでメインパラメータとリンクします。

HTML 3924 characters 326 words 74 paragraphs
了解,以下是您所提供文本的繁體中文翻譯: **HTML 101** **簡介** HTML 是一種用於創建網頁的標記語言。它代表超文本標記語言,它是構建網頁的基礎。HTML 文件包含使用標記定義的結構化文本,瀏覽器使用這些標記來顯示網頁。 **HTML 文档结构** HTML 文档由一系列元素组成,这些元素使用标签定义。标签以尖括号(< 和 >)括起来,并包含定义元素内容和属性的名称。例如,`<p>` 标签定义一个段落,`<h1>` 标签定义一个一级标题。 HTML 文档由以下主要部分组成: * **DOCTYPE 声明:** 声明文档类型。 * **html 元素:** 根元素,包含文档的所有内容。 * **head 元素:** 包含文档的元数据,例如标题、字符集和样式表链接。 * **body 元素:** 包含文档的可见内容,例如文本、图像和表格。 **HTML 元素** HTML 元素是构建网页内容的基本构建块。有许多不同的 HTML 元素,每个元素都有其特定的用途。一些最常见的 HTML 元素包括: * `<p>`:段落 * `<h1>` 到 `<h6>`:标题 * `<a>`:链接 * `<img>`:图像 * `<ul>` 和 `<ol>`:列表 * `<table>`:表格 * `<form>`:表单 **HTML 属性** HTML 属性用于向元素添加附加信息。属性以名称-值对的形式出现在开始标签中。例如,`<img src="image.jpg" alt="图像替代文本">` 标签中的 `src` 属性指定图像的源文件,`alt` 属性指定图像的替代文本。 **HTML 样式** HTML 使用级联样式表 (CSS) 来样式化网页。CSS 允许您控制元素的外观,例如颜色、字体和大小。您可以使用内联样式、嵌入式样式表或外部样式表将样式添加到 HTML 文档中。 **结论** HTML 是用于创建网页的基础语言。了解 HTML 的基础知识对于任何想要创建网站的人来说都是必不可少的。通过学习 HTML,您可以创建结构化良好的网页,这些网页在所有浏览器中都能很好地显示