{"id":30740,"date":"2026-07-24T21:22:26","date_gmt":"2026-07-24T12:22:26","guid":{"rendered":"https:\/\/123210.net\/wordpress\/tatenaoshi\/?p=30740"},"modified":"2026-07-24T23:32:51","modified_gmt":"2026-07-24T14:32:51","slug":"%e5%85%ab%e5%85%83%e6%95%b0%e3%81%ae%e3%83%86%e3%82%b9%e3%83%886","status":"publish","type":"post","link":"https:\/\/123210.net\/wordpress\/tatenaoshi\/%e5%85%ab%e5%85%83%e6%95%b0%e3%81%ae%e3%83%86%e3%82%b9%e3%83%886\/","title":{"rendered":"\u516b\u5143\u6570\u306e\u30c6\u30b9\u30c8"},"content":{"rendered":"<p>\u5b9f\u884c\u7d50\u679c<br \/>\nDepth=0 Norm=1.0093 e0=1.0093 e1=0.0000<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0309 e0=1.0309 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=1 Norm=1.0308 e0=1.0302 e1=0.0000<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0307 e0=1.0307 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=2 Norm=1.0244 e0=1.0162 e1=0.1077<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9468 e0=0.9468 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=3 Norm=0.9498 e0=0.8883 e1=0.3196<br \/>\n\u2192 \u5e72\u6e09 Norm=0.6774 e0=0.6774 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.8027 e0=0.5329 e1=0.5868<br \/>\n\u2192 \u5e72\u6e09 Norm=0.1305 e0=0.1305 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1149 e0=0.1305 e1=1.0935<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1149 e0=0.1305 e1=-1.0935<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0178 e0=0.8219 e1=-0.5868<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0939 e0=1.0939 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1405 e0=1.0939 e1=-0.2969<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1405 e0=1.0939 e1=0.2969<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0601 e0=1.0054 e1=-0.3196<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0676 e0=1.0676 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0686 e0=1.0664 e1=0.0092<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9481 e0=0.9481 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1475 e0=0.9481 e1=0.6383<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1475 e0=0.9481 e1=-0.6383<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0710 e0=1.0688 e1=-0.0092<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9559 e0=0.9559 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1477 e0=0.9559 e1=0.6233<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1477 e0=0.9559 e1=-0.6233<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=2 Norm=1.0531 e0=1.0452 e1=-0.1077<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0434 e0=1.0434 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0309 e0=1.0241 e1=0.1132<br \/>\n\u2192 \u5e72\u6e09 Norm=0.8941 e0=0.8941 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.9000 e0=0.7897 e1=0.4296<br \/>\n\u2192 \u5e72\u6e09 Norm=0.4529 e0=0.4529 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1323 e0=0.4529 e1=1.0313<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1323 e0=0.4529 e1=-1.0313<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0878 e0=0.9985 e1=-0.4296<br \/>\n\u2192 \u5e72\u6e09 Norm=1.1489 e0=1.1489 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1506 e0=1.1489 e1=0.0235<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1506 e0=1.1489 e1=-0.0235<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0695 e0=1.0628 e1=-0.1132<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0234 e0=1.0234 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.9958 e0=0.9671 e1=0.2279<br \/>\n\u2192 \u5e72\u6e09 Norm=0.7257 e0=0.7257 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1431 e0=0.7257 e1=0.8758<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1431 e0=0.7257 e1=-0.8758<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.1055 e0=1.0797 e1=-0.2279<br \/>\n\u2192 \u5e72\u6e09 Norm=1.1013 e0=1.1013 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1529 e0=1.1013 e1=0.3331<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1529 e0=1.1013 e1=-0.3331<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=1 Norm=1.0323 e0=1.0317 e1=0.0000<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0356 e0=1.0356 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=2 Norm=1.0282 e0=1.0225 e1=0.1077<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9561 e0=0.9561 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=3 Norm=0.9549 e0=0.8988 e1=0.3201<br \/>\n\u2192 \u5e72\u6e09 Norm=0.6896 e0=0.6896 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.8061 e0=0.5456 e1=0.5887<br \/>\n\u2192 \u5e72\u6e09 Norm=0.1427 e0=0.1427 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1160 e0=0.1427 e1=1.0991<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1160 e0=0.1427 e1=-1.0991<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0233 e0=0.8337 e1=-0.5887<br \/>\n\u2192 \u5e72\u6e09 Norm=1.1030 e0=1.1030 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1415 e0=1.1030 e1=-0.2879<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1415 e0=1.1030 e1=0.2879<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0636 e0=1.0135 e1=-0.3201<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0720 e0=1.0720 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0690 e0=1.0689 e1=0.0132<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9455 e0=0.9455 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1480 e0=0.9455 e1=0.6495<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1480 e0=0.9455 e1=-0.6495<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0752 e0=1.0750 e1=-0.0132<br \/>\n\u2192 \u5e72\u6e09 Norm=0.9661 e0=0.9661 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1485 e0=0.9661 e1=0.6172<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1485 e0=0.9661 e1=-0.6172<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=2 Norm=1.0542 e0=1.0486 e1=-0.1077<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0433 e0=1.0433 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0294 e0=1.0223 e1=0.1147<br \/>\n\u2192 \u5e72\u6e09 Norm=0.8888 e0=0.8888 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.8967 e0=0.7827 e1=0.4325<br \/>\n\u2192 \u5e72\u6e09 Norm=0.4428 e0=0.4428 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1320 e0=0.4428 e1=1.0355<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1320 e0=0.4428 e1=-1.0355<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.0868 e0=0.9948 e1=-0.4325<br \/>\n\u2192 \u5e72\u6e09 Norm=1.1497 e0=1.1497 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1506 e0=1.1497 e1=0.0130<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1506 e0=1.1497 e1=-0.0130<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=3 Norm=1.0710 e0=1.0642 e1=-0.1147<br \/>\n\u2192 \u5e72\u6e09 Norm=1.0284 e0=1.0284 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=4 Norm=0.9996 e0=0.9738 e1=0.2249<br \/>\n\u2192 \u5e72\u6e09 Norm=0.7357 e0=0.7357 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1437 e0=0.7357 e1=0.8713<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1437 e0=0.7357 e1=-0.8713<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=4 Norm=1.1064 e0=1.0831 e1=-0.2249<br \/>\n\u2192 \u5e72\u6e09 Norm=1.1002 e0=1.1002 e1=0.0000<br \/>\n[\u901a\u5e38\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1532 e0=1.1002 e1=0.3436<br \/>\n[\u5171\u5f79\u306e\u5b50]<br \/>\nDepth=5 Norm=1.1532 e0=1.1002 e1=-0.3436<\/p>\n<hr \/>\n<p>C++Builder2007 \u30bd\u30fc\u30b9\u30b3\u30fc\u30c9<br \/>\n\/\/************************<br \/>\n\/\/****\u00a0 Unit1.h ***********<br \/>\n\/\/************************<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>#ifndef Unit1H<br \/>\n#define Unit1H<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#include &lt;Classes.hpp&gt;<br \/>\n#include &lt;Controls.hpp&gt;<br \/>\n#include &lt;StdCtrls.hpp&gt;<br \/>\n#include &lt;Forms.hpp&gt;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nstruct Octonion {<br \/>\ndouble e[8];<\/p>\n<p>Octonion(double a0=0.0, double a1=0.0, double a2=0.0, double a3=0.0,<br \/>\ndouble a4=0.0, double a5=0.0, double a6=0.0, double a7=0.0);<\/p>\n<p>Octonion operator+(const Octonion&amp; o) const;<br \/>\nOctonion operator*(const Octonion&amp; o) const; \/\/ \u2190 \u5909\u66f4\uff1a\u5b8c\u5168\u4e57\u7b97<br \/>\nOctonion operator*(double scalar) const; \/\/ \u30b9\u30ab\u30e9\u30fc\u4e57\u7b97\u306f\u6b8b\u3059<br \/>\ndouble Norm() const;<\/p>\n<p>Octonion Conjugate() const; \/\/ \u6a19\u6e96\u7684\u306a\u5171\u5f79<br \/>\nOctonion PhaseConjugate() const; \/\/ \u4f4d\u76f8\u5171\u5f79\u7528\uff08\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u62e1\u5f35\u53ef\u80fd\uff09<br \/>\n};<\/p>\n<p>class RecursiveOcto {<br \/>\npublic:<br \/>\nint depth;<br \/>\nOctonion value;<br \/>\nRecursiveOcto* child; \/\/ \u901a\u5e38\u306e\u5b50<br \/>\nRecursiveOcto* childConj; \/\/ \u5171\u5f79\u306e\u5b50\uff08\u8ffd\u52a0\uff09<br \/>\nOctonion interference; \/\/ \u5e72\u6e09\u7d50\u679c\u3092\u4fdd\u6301\u3059\u308b\u30e1\u30f3\u30d0\u30fc\u3092\u8ffd\u52a0<\/p>\n<p>RecursiveOcto(int d, Octonion init);<br \/>\n~RecursiveOcto();<br \/>\nvoid Generate(int maxDepth);<br \/>\nvoid Dump(TMemo* memo);<br \/>\n};<\/p>\n<p>class TForm1 : public TForm<br \/>\n{<br \/>\n__published: \/\/ IDE-managed Components<br \/>\nTButton *ButtonExit;<br \/>\nTButton *Button1;<br \/>\nTMemo *Memo1;<br \/>\nvoid __fastcall ButtonExitClick(TObject *Sender);<br \/>\nvoid __fastcall Button1Click(TObject *Sender);<br \/>\nprivate: \/\/ User declarations<br \/>\npublic: \/\/ User declarations<br \/>\n__fastcall TForm1(TComponent* Owner);<br \/>\n};<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nextern PACKAGE TForm1 *Form1;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#endif<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/************************<br \/>\n\/\/****\u00a0 Unit1.cpp *********<br \/>\n\/\/************************<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>#include &lt;vcl.h&gt;<br \/>\n#pragma hdrstop<\/p>\n<p>#include &lt;math.h&gt;<br \/>\n#include &#8220;Unit1.h&#8221;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n#pragma package(smart_init)<br \/>\n#pragma resource &#8220;*.dfm&#8221;<br \/>\nTForm1 *Form1;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n__fastcall TForm1::TForm1(TComponent* Owner)<br \/>\n: TForm(Owner)<br \/>\n{<br \/>\n}<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\nvoid __fastcall TForm1::ButtonExitClick(TObject *Sender)<br \/>\n{<br \/>\nClose();<br \/>\n}<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>Octonion::Octonion(double a0, double a1, double a2, double a3,<br \/>\ndouble a4, double a5, double a6, double a7) {<br \/>\ne[0]=a0; e[1]=a1; e[2]=a2; e[3]=a3;<br \/>\ne[4]=a4; e[5]=a5; e[6]=a6; e[7]=a7;<br \/>\n}<\/p>\n<p>Octonion Octonion::Conjugate() const {<br \/>\nreturn Octonion(<br \/>\ne[0],<br \/>\n-e[1], -e[2], -e[3], -e[4], -e[5], -e[6], -e[7]<br \/>\n);<br \/>\n}<\/p>\n<p>Octonion Octonion::PhaseConjugate() const {<br \/>\nreturn Conjugate();<br \/>\n}<\/p>\n<p>Octonion Octonion::operator+(const Octonion&amp; o) const {<br \/>\nOctonion res;<br \/>\nfor(int i=0; i&lt;8; i++) res.e[i] = e[i] + o.e[i];<br \/>\nreturn res;<br \/>\n}<\/p>\n<p>RecursiveOcto::RecursiveOcto(int d, Octonion init)<br \/>\n: depth(d), value(init), child(NULL), childConj(NULL), interference(Octonion()) {}<\/p>\n<p>RecursiveOcto::~RecursiveOcto() {<br \/>\ndelete child;<br \/>\ndelete childConj;<br \/>\n}<\/p>\n<p>\/\/ \u30b9\u30ab\u30e9\u30fc\u4e57\u7b97\u306f\u6b8b\u3059<br \/>\nOctonion Octonion::operator*(double scalar) const {<br \/>\nOctonion res;<br \/>\nfor(int i=0; i&lt;8; i++) res.e[i] = e[i] * scalar;<br \/>\nreturn res;<br \/>\n}<\/p>\n<p>\/\/ \u5b8c\u5168\u306a\u516b\u5143\u6570\u4e57\u7b97<br \/>\nOctonion Octonion::operator*(const Octonion&amp; o) const {<br \/>\nOctonion res;<\/p>\n<p>\/\/ e0\uff08\u5b9f\u90e8\uff09<br \/>\nres.e[0] = e[0]*o.e[0] &#8211; e[1]*o.e[1] &#8211; e[2]*o.e[2] &#8211; e[3]*o.e[3]<br \/>\n&#8211; e[4]*o.e[4] &#8211; e[5]*o.e[5] &#8211; e[6]*o.e[6] &#8211; e[7]*o.e[7];<\/p>\n<p>\/\/ e1<br \/>\nres.e[1] = e[0]*o.e[1] + e[1]*o.e[0] + e[2]*o.e[3] &#8211; e[3]*o.e[2]<br \/>\n+ e[4]*o.e[5] &#8211; e[5]*o.e[4] &#8211; e[6]*o.e[7] + e[7]*o.e[6];<\/p>\n<p>\/\/ e2<br \/>\nres.e[2] = e[0]*o.e[2] &#8211; e[1]*o.e[3] + e[2]*o.e[0] + e[3]*o.e[1]<br \/>\n+ e[4]*o.e[6] + e[5]*o.e[7] &#8211; e[6]*o.e[4] &#8211; e[7]*o.e[5];<\/p>\n<p>\/\/ e3<br \/>\nres.e[3] = e[0]*o.e[3] + e[1]*o.e[2] &#8211; e[2]*o.e[1] + e[3]*o.e[0]<br \/>\n+ e[4]*o.e[7] &#8211; e[5]*o.e[6] + e[6]*o.e[5] &#8211; e[7]*o.e[4];<\/p>\n<p>\/\/ e4<br \/>\nres.e[4] = e[0]*o.e[4] &#8211; e[1]*o.e[5] &#8211; e[2]*o.e[6] &#8211; e[3]*o.e[7]<br \/>\n+ e[4]*o.e[0] + e[5]*o.e[1] + e[6]*o.e[2] + e[7]*o.e[3];<\/p>\n<p>\/\/ e5<br \/>\nres.e[5] = e[0]*o.e[5] + e[1]*o.e[4] &#8211; e[2]*o.e[7] + e[3]*o.e[6]<br \/>\n&#8211; e[4]*o.e[1] + e[5]*o.e[0] &#8211; e[6]*o.e[3] + e[7]*o.e[2];<\/p>\n<p>\/\/ e6<br \/>\nres.e[6] = e[0]*o.e[6] + e[1]*o.e[7] + e[2]*o.e[4] &#8211; e[3]*o.e[5]<br \/>\n&#8211; e[4]*o.e[2] + e[5]*o.e[3] + e[6]*o.e[0] &#8211; e[7]*o.e[1];<\/p>\n<p>\/\/ e7<br \/>\nres.e[7] = e[0]*o.e[7] &#8211; e[1]*o.e[6] + e[2]*o.e[5] + e[3]*o.e[4]<br \/>\n&#8211; e[4]*o.e[3] &#8211; e[5]*o.e[2] + e[6]*o.e[1] + e[7]*o.e[0];<\/p>\n<p>return res;<br \/>\n}<\/p>\n<p>double Octonion::Norm() const {<br \/>\ndouble sum = 0.0;<br \/>\nfor(int i=0; i&lt;8; i++) sum += e[i]*e[i];<br \/>\nreturn sqrt(sum);<br \/>\n}<\/p>\n<p>void RecursiveOcto::Generate(int maxDepth) {<br \/>\nif (depth &gt;= maxDepth) return;<\/p>\n<p>\/\/ \u901a\u5e38\u306e\u6b21\u30b9\u30c6\u30c3\u30d7<br \/>\nOctonion rotator(cos(depth * 0.15), sin(depth * 0.15), 0.05, 0, 0, 0, 0, 0);<br \/>\nOctonion next = value * rotator;<br \/>\nnext = next + Octonion(0.03, 0, 0, 0, 0, 0, 0, 0);<\/p>\n<p>\/\/ \u5171\u5f79\u7248<br \/>\nOctonion nextConj = next.PhaseConjugate();<\/p>\n<p>\/\/ \u5b50\u3092\u751f\u6210<br \/>\nchild = new RecursiveOcto(depth + 1, next);<br \/>\nchild-&gt;Generate(maxDepth);<\/p>\n<p>childConj = new RecursiveOcto(depth + 1, nextConj);<br \/>\nchildConj-&gt;Generate(maxDepth);<\/p>\n<p>\/\/ ===== \u5e72\u6e09\u8a08\u7b97 =====<br \/>\ninterference = (child-&gt;value + childConj-&gt;value) * 0.5;<\/p>\n<p>\/\/ ===== \u89aa\u3078\u306e\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\uff08\u3053\u3053\u304c\u8ffd\u52a0\uff09 =====<br \/>\n\/\/ \u5e72\u6e09\u7d50\u679c\u3092\u89aa\u306evalue\u306b\u5c11\u3057\u6df7\u305c\u308b\uff08\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u5f37\u5ea6\u306f\u8abf\u6574\u53ef\u80fd\uff09<br \/>\ndouble feedbackStrength = 0.3; \/\/ 0.1?0.5\u304f\u3089\u3044\u3067\u8a66\u3059\u3068\u826f\u3044<br \/>\nvalue = value * (1.0 &#8211; feedbackStrength) + interference * feedbackStrength;<br \/>\n}<\/p>\n<p>void RecursiveOcto::Dump(TMemo* memo)<br \/>\n{<br \/>\nif (!memo) return;<\/p>\n<p>&nbsp;<\/p>\n<p>Octonion conj = value.PhaseConjugate();<br \/>\nmemo-&gt;Lines-&gt;Add(Format(&#8220;Depth=%d Norm=%.4f e0=%.4f e1=%.4f&#8221;,<br \/>\nARRAYOFCONST((depth, value.Norm(), value.e[0], value.e[1]))));<\/p>\n<p>\/\/ \u5e72\u6e09\u7d50\u679c\u3092\u8868\u793a\uff08\u5b50\u304c\u3042\u308b\u5834\u5408\uff09<br \/>\nif (child &amp;&amp; childConj) {<br \/>\nmemo-&gt;Lines-&gt;Add(Format(&#8221; \u2192 \u5e72\u6e09 Norm=%.4f e0=%.4f e1=%.4f&#8221;,<br \/>\nARRAYOFCONST((interference.Norm(), interference.e[0], interference.e[1]))));<br \/>\n}<\/p>\n<p>if (child) {<br \/>\nmemo-&gt;Lines-&gt;Add(&#8221; [\u901a\u5e38\u306e\u5b50]&#8221;);<br \/>\nchild-&gt;Dump(memo);<br \/>\n}<br \/>\nif (childConj) {<br \/>\nmemo-&gt;Lines-&gt;Add(&#8221; [\u5171\u5f79\u306e\u5b50]&#8221;);<br \/>\nchildConj-&gt;Dump(memo);<br \/>\n}<br \/>\n}<\/p>\n<p>\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n<p>void __fastcall TForm1::Button1Click(TObject *Sender)<br \/>\n{<br \/>\nRecursiveOcto* root = new RecursiveOcto(0, Octonion(1.0));<br \/>\nroot-&gt;Generate(5); \/\/ \u2190 2\u5206\u5c90\u306a\u306e\u3067\u6df1\u3055\u306f\u6d45\u3081\u306b\uff085?6\u63a8\u5968\uff09<\/p>\n<p>Memo1-&gt;Clear();<br \/>\nroot-&gt;Dump(Memo1);<\/p>\n<p>delete root;<br \/>\n}<br \/>\n\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b9f\u884c\u7d50\u679c Depth=0 Norm=1.0093 e0=1.0093 e1=0. &hellip; <a href=\"https:\/\/123210.net\/wordpress\/tatenaoshi\/%e5%85%ab%e5%85%83%e6%95%b0%e3%81%ae%e3%83%86%e3%82%b9%e3%83%886\/\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-30740","post","type-post","status-publish","format-standard","hentry","category-1"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/posts\/30740","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/comments?post=30740"}],"version-history":[{"count":9,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/posts\/30740\/revisions"}],"predecessor-version":[{"id":30749,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/posts\/30740\/revisions\/30749"}],"wp:attachment":[{"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/media?parent=30740"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/categories?post=30740"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/123210.net\/wordpress\/tatenaoshi\/wp-json\/wp\/v2\/tags?post=30740"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}