UnityでVisual C#用の数値計算ライブラリMath.NET numericsを使う(3) 3D画面に補間(Interpolate) を行って表示する。リニア、3次スプライン、有理関数などいろいろ使える。
今回は
Visual C# (C_sharp)の数学ライブラリ Math.NET Numericsを使う(2) 補間を行う(Interpolate) リニア、3次スプライン、有理関数などいろいろ使える。
でやったことをUnityでもやってみる。
計算部分は同じだが、線を引くのはLineRendererを使い、点を打つのはSphereのPrefabを使っている。なのでこっちの方が簡単。
コードはこんな感じ。MathNET.numericsは倍精度しかないメソッドが多いがUnityは単精度なので線を描くときに明示的に変換している。
using UnityEngine;
using MathNet.Numerics;
using System;
public class MathNET : MonoBehaviour
{
public GameObject PointsPrefab;
void Start()
{
// 有理関数補間用
GameObject linesObject = GameObject.Find("Lines");
LineRenderer lines = linesObject.GetComponent<LineRenderer>();
// 線形補間用
GameObject linesObject2 = GameObject.Find("Lines2");
LineRenderer lines2 = linesObject2.GetComponent<LineRenderer>();
int n = 50, // 補間後
m = 10; // 元々の点数
Vector3[] points = new Vector3[n];
Vector3[] points2 = new Vector3[n];
lines.positionCount = n;
lines.widthMultiplier = 0.02f;
lines.startColor = Color.blue;
lines.endColor = Color.blue;
lines2.positionCount = n;
lines2.widthMultiplier = 0.02f;
lines2.startColor = Color.red;
lines2.endColor = Color.red;
double[] x = Generate.LinearSpaced(m, 0.0, 2.0 * Math.PI);
double[] y = Generate.Map(x, Math.Sin);
var InterpFunction = Interpolate.RationalWithoutPoles(x, y);
var InterpFunction2 = Interpolate.Linear(x, y);
double[] xval = Generate.LinearSpaced(n, 0.0, 2.0 * Math.PI);
double[] yinterp = new double[xval.Length];
double[] yinterp2 = new double[xval.Length];
for (int i = 0; i < xval.Length; i++)
{
yinterp[i] = InterpFunction.Interpolate(xval[i]);
yinterp2[i] = InterpFunction2.Interpolate(xval[i]);
points[i] = new Vector3((float)xval[i], (float)yinterp[i], 0);
points2[i] = new Vector3((float)xval[i], (float)yinterp2[i], 0);
}
for (int i = 0; i < m; i++) {
GameObject originalpoint = Instantiate(PointsPrefab);
originalpoint.transform.position = new Vector3((float)x[i], (float)y[i], 0);
}
lines.SetPositions(points);
lines2.SetPositions(points2);
}
}
|
結果はこちら。なかなかシュールな絵柄。
« 高周波・RFニュース 2025年1月23日 5G Americasの新ホワイトペーパー「AI時代のセルラーネットワークの信頼性とセキュリティ」、KyoceraAVXの新薄膜フィルタ、TDKの車載/一般用C0G特性1,250V 3225サイズMLCC、Semtechの5G LPWAモジュール | トップページ | 歌川国芳展 ―奇才絵師の魔力@大阪中之島美術館へ行ってきた。今にも動き出しそうなかっこいいものから、恐ろしい怪物、かわいい動物(特に猫)やその擬人化、見て笑えるもの、複数の人間で顔を表現したものなど一人の人間が生み出したとは思えないほどバラエティーに富んでる。 »
「パソコン・インターネット」カテゴリの記事
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(2) FFT(高速フーリエ変換)を実行する。getValues, setValuesで2次元と1次元の配列の相互変換が必要。(2026.04.23)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/12-4/19(2026.04.19)
- Qwen3.6-35B-A3Bが発表され、Ollamaでも使える。そこで電子レンジの動作原理(2.45GHzは水分子の共振周波数でない)と隕石が大気圏突入で燃える原理(摩擦熱ではない)を聞くと、誘電緩和と断熱圧縮について正しく答えられた。今までのローカルLLMで一番賢い回答と思う。(2026.04.17)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(1) Officeスクリプトは外部API呼び出せるし、math.jsは RESTful APIで呼び出せることがわかった。まずは選択したセルのデータを読み、行列演算。LU分解で一次方程式を解き、逆行列と行列式を求める。(2026.04.17)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/5-4/12(2026.04.12)
「学問・資格」カテゴリの記事
- 高周波・RFニュース 2026年4月23日 Qualcommへの6G周波数割り当てインタビュー動画、5Gミリ波向け基板材料・技術のレビュー論文発行、車内センシングレーダ解説、Amphenol RFの18GHzまで使えるSMAピッグテイルアセンブリ(2026.04.23)
- 高周波・RFニュース 2026年4月22日 QualcommのAIネイティブ6Gインタビュー動画、LGイノテックが車載Wi-Fi7モジュール1,000億ウォン受注、GSAが無線市場の現状をレポート、AppleのCEOがTim CookからJohn Ternusへ、など(2026.04.22)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(2) FFT(高速フーリエ変換)を実行する。getValues, setValuesで2次元と1次元の配列の相互変換が必要。(2026.04.23)
- 高周波・RFニュース 2026年4月21日 Qorvoが電子戦でのワイドバンドRF解説、SkyworksがIC-MAMでSAW・BAW技術を複数発表、6G WorldとKeysightが6G PHYについて解説とウェビナー開催、Analog DevicesがMEMS SP4T発表など(2026.04.21)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/12-4/19(2026.04.19)
「日記・コラム・つぶやき」カテゴリの記事
- 高周波・RFニュース 2026年4月23日 Qualcommへの6G周波数割り当てインタビュー動画、5Gミリ波向け基板材料・技術のレビュー論文発行、車内センシングレーダ解説、Amphenol RFの18GHzまで使えるSMAピッグテイルアセンブリ(2026.04.23)
- 高周波・RFニュース 2026年4月22日 QualcommのAIネイティブ6Gインタビュー動画、LGイノテックが車載Wi-Fi7モジュール1,000億ウォン受注、GSAが無線市場の現状をレポート、AppleのCEOがTim CookからJohn Ternusへ、など(2026.04.22)
- ExcelのOfficeスクリプト(TypeScript)で数値計算ライブラリmath.jsを使う(2) FFT(高速フーリエ変換)を実行する。getValues, setValuesで2次元と1次元の配列の相互変換が必要。(2026.04.23)
- 高周波・RFニュース 2026年4月21日 Qorvoが電子戦でのワイドバンドRF解説、SkyworksがIC-MAMでSAW・BAW技術を複数発表、6G WorldとKeysightが6G PHYについて解説とウェビナー開催、Analog DevicesがMEMS SP4T発表など(2026.04.21)
- RF Weekly Digest (Gemini 3.1 Pro・Google AI Studio BuildによるAIで高周波・RF情報の週刊まとめアプリ)2026/4/12-4/19(2026.04.19)
« 高周波・RFニュース 2025年1月23日 5G Americasの新ホワイトペーパー「AI時代のセルラーネットワークの信頼性とセキュリティ」、KyoceraAVXの新薄膜フィルタ、TDKの車載/一般用C0G特性1,250V 3225サイズMLCC、Semtechの5G LPWAモジュール | トップページ | 歌川国芳展 ―奇才絵師の魔力@大阪中之島美術館へ行ってきた。今にも動き出しそうなかっこいいものから、恐ろしい怪物、かわいい動物(特に猫)やその擬人化、見て笑えるもの、複数の人間で顔を表現したものなど一人の人間が生み出したとは思えないほどバラエティーに富んでる。 »



コメント