Carbon nanotube 6

BASIC Carbon nanotube 製作道具

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

sakai-s012

以下に その諸量計算の プログラムを載せておきます。
これで コンパクトにしたつもりです。
私の考えている ロジックでは このような形になりました。
多面体や球体以上に 円柱空間の理解に苦労しました。

計算した諸量での模型製作はうまくいっているようです。
製作方法等の説明は 後日しようと思っています。

! ■  カイラルタイプの 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

« »