Carbon nanotube 6
カイラル指数 (7,2) の カイラル型の cradle と製作途中の作品です。

以下に その諸量計算の プログラムを載せておきます。
これで コンパクトにしたつもりです。
私の考えている ロジックでは このような形になりました。
多面体や球体以上に 円柱空間の理解に苦労しました。
計算した諸量での模型製作はうまくいっているようです。
製作方法等の説明は 後日しようと思っています。
! ■ カイラルタイプの carbon nanotube 模型の諸量計算 ■
! 正三角形充填平面を その辺に沿って 山折りや谷折りを加え
! 蛇腹状 ( bellows ) に加工された平面を筒状にし
! その三角形の全ての "かど" が接する円柱との結合体を考える
! 円柱の周方向にある 三角形の辺を "底辺" とし
! 底辺に向かい合う三角形の "かど" を "上かど" とする
! 底辺の両端二点を面巾とする長平面を考える
! 円柱軸と平行で 円柱に接する平面であり "底面" とする
! 同様に ある二点が面巾となり円柱と接する長平面を "補助面" とする
! 底面の 円柱軸と平行方向を y 直角方向を x 垂直方向を z とする
! 底辺の中点の (x,y,z) を (0,0,0) とする
OPTION ANGLE RADIANS ! ラジアンで計算する
01
LET a001=7 ! n ( n > m )
LET a002=2 ! m ( m < n )
IF a002/a001=0 OR a002/a001=1 THEN
PRINT "(";a001;",";a002;")";
PRINT "計算停止 !!"
PRINT "カイラル type のみの計算をします"
STOP
END IF
LET a003=SQR(3)/2 ! 三角高 xyz
LET a004=1 ! 三角高 差
LET a005=a003+.05 ! (円柱数値調整 L)
LET a006=a003-.05 ! (円柱数値調整 S)
LET a007=a003 ! (円柱数値調整 M)
LET a008=1 ! 円柱周角チェック
LET a009=0 ! ループカウント
05
LET a007=(a005+a006)/2 ! (円柱数値調整 M)
LET a010=a001+0.5*a002 ! (nm 底辺)
LET a011=a002*a007 ! (nm 対辺)
LET a012=ATN(a011/a010) ! (nm 斜角)
!■ 以下の数値は 半径=1 として計算 ■
! 寸法は 円柱面のx方向にのみ 角度と同値
LET a013=a010/COS(a012) ! (単位底数)
LET a014=(2*PI)/a013 ! (三角底巾 xy,角 xy)
LET a015=a014*COS(a012) ! (三角底巾 x)
LET a016=a014*SIN(a012) ! 三角底巾 y
LET a017=1*SIN(a015/2)*2 ! 三角底巾 x
LET a018=ATN(a016/a017) ! nm 斜角
LET a019=SQR(a017^2+a016^2)! 三角底巾 xy
LET a020=1*COS(a015/2) ! 底央・軸寸 z
LET a021=a003*a019 ! 三角高 xyz
LET a022=a021 ! 三角高 xy
LET a023=0
10
LET a023=a023+1 ! ループカウント
LET a024=a022*SIN(a018) ! 三角高 x
LET a025=a022*COS(a018) ! 三角高 y
LET a026=ASIN(a024/1) ! 上かど傾角 xz
LET a027=a024/TAN(a026) ! 上かど・軸寸 z
LET a028=a027-a020 ! 三角高 z
LET a029=ATN(a028/a022) ! 上かど仰角
LET a030=a022/COS(a029) ! 三角高 xyz大
LET a031=a030-a021 ! 三角高 xyz差
IF ABS(a031)=a004 THEN GOTO 20 ! 三角錐底面傾き修正
LET a004=ABS(a031) ! 三角錐底面傾き修正
LET a022=a021*COS(a029) ! 三角錐底面傾き修正
GOTO 10
20
LET a009=a009+a023 ! ループカウント
LET a023=0
LET a032=a015*a001 ! n円柱周角
LET a033=(a015/2+a026)*a002 ! m円柱周角
LET a034=a032+a033 ! 円柱周角 xz
IF a008=a034 THEN GOTO 30
LET a008=a034
IF a034 < 2*PI THEN LET a005=a007 ! 円柱数値調整
IF a034 > 2*PI THEN LET a006=a007 ! 円柱数値調整
GOTO 05
30
! 三角錐底面の中心は底辺中央点 (0,0,0) からの位置関係として
LET a035=a021/3 ! 角錐底心 xyz
LET a036=a022/3 ! 角錐底心 xy
LET a037=a024/3 ! 角錐底心 x
LET a038=a025/3 ! 角錐底心 y
LET a039=a028/3 ! 角錐底心 z
LET a040=a036/TAN(a029) ! 交点・心寸 z
LET a041=a039+a020 ! 心・軸寸 z
LET a042=ATN(a040/a037) ! 心垂線仰角 xz
LET a043=ASIN(a037) ! 頂傾角 xz
LET a044=1 ! 誤差最低値の繰り返し判定
40
LET a009=a009+1
LET a045=COS(a043) ! 頂・軸寸 z
LET a046=a045-a041 ! 頂・心寸 z
LET a047=a046/TAN(a042) ! 心・頂寸 x
LET a048=a037-a047 ! 頂・央寸 x
LET a049=ASIN(a048) ! 頂傾角 xz'
LET a050=COS(a049) ! 頂・軸寸 z'
LET a051=a050-a045 ! 頂・軸寸誤差
IF a044=a051 THEN GOTO 95 ! 誤差最低値の繰り返し判定
LET a044=a051 ! 頂・軸寸誤差
LET a043=a049 ! 近似頂傾角 xz
GOTO 40
95
LET a052=ATN(a040/a038) ! 心垂線仰角 yz
LET a053=a046/TAN(a052) ! 心・頂寸 y
LET a054=a038-a053 ! 頂・央寸 y
LET a055=a046+a039 ! 頂・央寸 z
LET a056=a017/2 ! 底辺寸/2 x
LET a057=a016/2 ! 底辺寸/2 y
LET a058=a055-a028 ! 上稜寸 z
LET a059=a024-a048 ! 上稜寸 x
LET a060=a025-a054 ! 上稜寸 y
LET a061=SQR(a059^2+a060^2) ! 上稜寸 xy
LET a062=SQR(a061^2+a058^2) ! 上稜寸 xyz
LET a063=a048+a056 ! 中稜寸 x
LET a064=a054-a057 ! 中稜寸 y
LET a065=SQR(a063^2+a064^2) ! 頂・央寸 xy
LET a066=SQR(a065^2+a055^2) ! 中稜寸 xyz
LET a067=a056-a048 ! 下稜寸 x
LET a068=a054+a057 ! 下稜寸 y
LET a069=SQR(a067^2+a068^2) ! 下稜寸 xy
LET a070=SQR(a069^2+a055^2) ! 下稜寸 xyz
LET a071=ATN(a058/a059) ! 上稜面仰角
LET a072=a059/COS(a071) ! 上稜面巾寸
LET a073=ATN(a055/a063) ! 中稜面仰角
LET a074=a063/COS(a073) ! 中稜面巾寸
LET a075=ATN(a055/a067) ! 下稜面仰角
LET a076=a067/COS(a075) ! 下稜面巾寸
LET a077=ATN(a072/a060) ! 上稜面 稜角
LET a078=ATN(a059/a060) ! 底面 上稜角
LET a079=ATN(a074/a064) ! 中稜面 稜角
LET a080=ATN(a063/a064) ! 底面 中稜角
LET a081=ATN(a076/a068) ! 下稜面 稜角
LET a082=ATN(a067/a068) ! 底面 下稜角
LET a083=(PI-a080)+a078 ! 底面 上 中角
LET a084=(PI-a082)-a078 ! 底面 上 下角
LET a085=a080+a082 ! 底面 中 下角
LET a086=a083+a084+a085 ! 底面 稜角 計
LET a087=a083/2-a078 ! 上 中 接合角
LET a088=a084/2+a078 ! 上 下 接合角
LET a089=a085/2-a082 ! 中 下 接合角
LET a090=(a083/2+a084/2)/2 ! 底面 上接合角/2
LET a091=(a083/2+a085/2)/2 ! 底面 中接合角/2
LET a092=(a084/2+a085/2)/2 ! 底面 下接合角/2
PRINT "カーボンナノチューブ模型カイラル型の諸量計算"
PRINT
PRINT "カイラル指数","(";a001;",";a002;")" ! ( 7 , 2 )
PRINT "稜寸 xyz", a062/a062 ! 1 1
PRINT "直径", 2/a062 ! 4.58626952818816 4.5862695281881583678
PRINT "底辺傾角 xy", a018/PI*180 ! 12.4871457895927 12.487145789592382811
PRINT
PRINT "上稜面 仰角", a071/PI*180 ! 5.33169641703842 021/225
PRINT "上稜面 稜角", a077/PI*180 ! 12.5396942073838 054/243
PRINT "底面 上稜接合角/2",DEG(a090) ! 59.6889771264966 195/114
PRINT
PRINT "中稜面 仰角", a073/PI*180 ! 9.43804224999629 041/247
PRINT "中稜面 稜角", a079/PI*180 ! 73.3250608427073 217/065 177/053
PRINT
PRINT "下稜面 仰角", a075/PI*180 ! 12.056318130851 044/206
PRINT "下稜面 稜角", a081/PI*180 ! 48.76921965494 178/156
PRINT
PRINT "以下 軸方向を 0 度として表示"
PRINT "下 中 接合角 は 上 中 接合角側"
PRINT
PRINT "上 中 接合角",a087/PI*180 ! 47.201831336904 189/175 162/150
PRINT "上 下 接合角",a088/PI*180 ! 72.1761229160893 227/073 168/054
PRINT "下 中 接合角",a089/PI*180 ! 12.4871457895928 033/149
END
2014年7月17日

