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日