2012年11月17日土曜日

地球温暖化メカニズム考察(6)


地球温暖化メカニズム考察(1)、地球温暖化は、現代科学が不得手とするもののひとつ
地球温暖化メカニズム考察(2)、地球温暖化懐疑論者の大きなまともな疑問
地球温暖化メカニズム考察(3)、地球温暖化は、平衡論では説明できない<
地球温暖化メカニズム考察(4)、地球温暖化は、ポジティブ・フィードバックのオンパレード
地球温暖化メカニズム考察(5)、植物の光合成がなければ、地球は熱暴走
地球温暖化メカニズム考察(6)、現代社会は、植物をも減少させている。このままでは地球は熱暴走
地球温暖化メカニズム考察(7)、地球には氷河期があった。寒冷化メカニズムは?>
地球温暖化メカニズム考察(8)、46億年地球史概略
地球温暖化メカニズム考察(9)、先カンブリア時代の気候変動
地球温暖化メカニズム考察(10)、先カンブリア時代の気候変動2

地球温暖化メカニズム考察(6)
  -現代社会は、植物をも減少させている。このままでは地球は熱暴走


 前回、大気中にCO2が排出されると、CO2とH2Oが協調して、温暖化が加速されることを示した。下図でもう一度、要約する。温暖化は、悪循環(正のフィードバック)のオンパレードである。

 しかし、上図は植物が無い場合である。植物は、CO2を吸収するから、温度上昇を抑える。

 CO2が増え、温度があがると植物が増えるというのは、誰でも直感的にうなずけるであろう。夏になれば、木々は生い茂る。地球全体を見渡しても、赤道に近づくほど緑が豊かである。CO2増大も緑による光合成にとって好都合である。植物が増えると、植物によるCO2吸収が増える。大気中のCO2が減り、温度は下がっていく。つまり温度が安定化する。もし、温度が下がり過ぎれば、植物が枯れ、枯れて腐った植物からはCO2がでる。これも温度を安定化させる方向に働く。もし、大気中のCO2の増大が、ゆっくりしていて、人間の植物への干渉が少なければ、地球の温度は安定化に向かうはずである。

 大気中にCO2が増大し続ける今、地球上の植物はどうなっているであろうか。
上記のように、人間の経済活動は、植物を減少させている。
 古代文明は、森林破壊が原因、遠因で滅んだといわれている。(エネルギー需要→ 森林破壊 = 水源林破壊 → 雨が降れば大洪水、降らねば渇水 → 田畑の荒廃 → 食料不足 ) 更に、古代文明は滅んで、植物が蘇らない砂漠を残した。
 現在も、かなりの勢いで森林が破壊されている。特にひどいのはブラジルとインドネシア・マレーシアの熱帯雨林である。
 ブラジル・アマゾンには、1970年には 4,100,000 km2の熱帯雨林があったが、2005年には、3,403,000 km2まで減少した。日本国土面積が370,000km2であるから、日本国土の約2倍の森林が減ったことになる。35年の間に地球の肺臓と呼ばれるアマゾンの熱帯雨林が 27% も失われた。牧場開発が最も大きな森林減少理由である。
 インドネシアとマレーシアでは、2000年から2010年の10年間に 110,000km2 の森林が消えた。農園転換が最大理由である。
 日本のコンクリート行政は、ダムを作り、護岸と称し、海外線をコンクリートで固めてきた。これは生態系を壊す。
 自然本来の営みによれば、山の栄養が植物プランクトン産み、さらに、植物プランクトンが動物プランクトンを産み、小魚がこれらを餌とする。海岸線には藻が育ち、多くの海洋生物を養う。植物プランクトンや藻は、魚の餌になるだけではない、CO2を吸収する。
 ダムや護岸工事はこういった生態系を壊す。日本の海岸線から藻場が年々消えてきている。アジア大陸の沿岸では、養殖が急増したことから、藻場が急減しているといわれている。

 温暖化の影響で、CO2吸収源である珊瑚も減少している。過去40年間で珊瑚礁の1/3が消滅、世界全体で約3,000 km2の広さで珊瑚が消えた。
 北米の寒冷地帯に生える松は、立ち枯れを起こしている。これは、温暖化により、冬に松くい虫が死ななくなったためだといわれている。

  植物が減って、CO2吸収が減っているだけではない。
 温暖化により、大規模な山火事が増え、また、世界の泥炭地から多量なCO2がでている。

 NGO「国際湿地保全連合」(本部オランダ)によると2008年泥炭地からのCO2排出は約13億トンで、1990年比で20%増加。泥炭地上の森林火災を含めると年間20億トン程度になる。インドネシアの泥炭地からの排出量が最も多く、約5億トン。アブラヤシの農地開発などのために泥炭地を乾燥させたことにより、排出量が増えたとみられている。
 CO2を吸収すべき植物が、CO2を放出する側にまわっている。

 CO2排出削減が、叫ばれているが、現実は増え続けている。CO2吸収する植物が減り、逆に>CO2を放出し始めている。温度を安定化させるはずの植物が、温度を上昇させる側に回ろうとしている。温暖化の悪循環要素が増え、温暖化抑制が減っている。

 このままでは、熱暴走する可能性すらあり、非常に危険な状態と言わざるを得ない。

 アース・ポリシー研究所のレスター・ブラウン所長は、このままでは、現代文明は、古代文明が滅んだように滅ぶと危惧して、著作活動を続けるとともに世界中を飛び回って警告を発している。
 古代文明は、森林破壊が、田畑の崩壊を招き、食料不足に陥り、滅んだ。
 国際協力で推進されている温暖化検討機関でも、このまま温暖化がすすめば、水不足、食料不足になると警告している。

 温暖化は悪循環のオンパレードで、温暖化を抑制する要因が少ないとなれば、国際的な検討機関の警告以上に温暖化がすすみ、ブラウン所長が心配する通り人類文明が滅びかねない。

 下図のような更なる植物の減少や植物によるCO2放出も心配されている。

 ここまでくれば、地球上全生物の生存に危機が迫っているといえる。

 次回以降、数回にわたって過去の地球の気候を考える。

 (つづく)

2012年11月10日土曜日

幾何学模様(14)

幾何学模様
(18)(17)(16)(15)、(14)、(13)(12)(11)(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)

ここ数回は、r=cotθ(カッパ曲線),および、r=tanθを検討した。今回は、は、r=cotθより簡単なr=1/cosθおよびr=1/sinθを検討する。r=1/cosθはx=1であり、r=1/sinθは、y=1である。
r=1/cosθ、r=1/sinθの右辺を、まずはn乗する。次にm乗根をとる。そして、θの前に整数を掛ける。最後にθを整数で割ってみる。

次図はr= 1/(cosθ)n   n=1,2,3・・6 である。



次図はr= 1/|cosθ|1/m   m=1,2,3・・6 である。



次図はr= 1/cos(jθ)   j=1,2,3・・6 である。



次図はr= 1/cos(θ/k)   k=1,2,3・・6 である。



次図はr= 1/(sinθ)n   n=1,2,3・・6 である。




次図はr= 1/|sinθ|1/m   m=1,2,3・・6 である。




次図はr= 1/sin(jθ)   j=1,2,3・・6 である。



次図はr= 1/sin(θ/k)   k=1,2,3・・6 である。



X=1 および y=1 r,θで表わし、θに簡単な係数をつけるだけで、様々なパターンが得られるのは非常に興味深い。次回も簡単な関数をr,θで表わし、θに簡単な係数をつけて、その形状がどう変化するか、見てみる。

(つづく)

2012年11月4日日曜日

PPT2010マクロ(4)

PPTマクロ(6)、PPTマクロでつくったもの2
PPTマクロ(5)、PPTマクロでつくったもの1
PPTマクロ(4)、マクロで四角形や楕円などを描く
PPTマクロ(3)、マクロで直線を描く
PPTマクロ(2)、マクロを有効化する
PPTマクロ(1)、マクロ作成の動機

PPTマクロ(4)、マクロで四角形や楕円などを描く


 前回は、PPTマクロのコマンドが、オブジェクト、メソッド、プロパティを含んで書かれていることを、実線を引くマクロで具体的に説明した。
 今回は、PPTの図形のうち、四角形、楕円、角丸四角とテキストを書くマクロ例を紹介する。次図は4つのマクロの出力である。



図形を描くマクロとして、先ず、四角形を描くマクロを示す。

――四角形描画マクロ 

Sub Sikakkei()
    Dim L As Single, T As Single, W As Single, H As Single
   
    L = 80         '四角形の左上隅のX座標
    T = 60         '四角形の左上隅のY座標
    W = 240        '四角形の幅
    H = 180        '四角形の高さ
    Set myDocument= ActivePresentation.Slides(1)
    With myDocument.Shapes.AddShape _
        (msoShapeRectangle, L, T, W, H)
        .Fill.ForeColor.RGB = RGB(255, 0, 0) '塗りつぶし 赤
        .Fill.Transparency = 0.9             ' 透明度0.9
        .Line.Weight = 1                     '線幅 1pt
        .Line.ForeColor.RGB = RGB(0, 0, 0)   '線の色 黒
    End With
End Sub


­――以上、四角形描画マクロ 

図形の位置、大きさ指定は、(1)図形の左上点のX座標、(2)図形の左上点のY座標、(3)図形の幅、(4)図形の高さ の順で指定する。これはどんな図形を描く場合も同じである。
msoは、マイクロソフトのオフィスという意味で、オフィスに共通して使えるコマンドである。
ちなみに
Set myDocument = ActivePresentation.Slides(1)

Set myDocument = ActiveSheet
とすれば、Excelで使用できる。
また、
Set myDocument = ActiveDocument
とすれば、Wordで使用できる。
以下のマクロも同じ変更で、ExcelやWordで使うことができる。ということは、図形描画まくろはオフィス共用のマクロと言える。

   
――楕円描画マクロ 

Sub Daen()
    Dim L As Single, T As Single, W As Single, H As Single
   
    L = 400    '楕円に接する四角形の左上のX座標
    T = 60     '楕円に接する四角形の左上のY座標
    W = 240    '楕円に接する四角形の幅
    H = 180    '楕円に接する四角形の高さ
    Set myDocument = ActivePresentation.Slides(1)
    With myDocument.Shapes.AddShape(msoShapeOval, L, T, W, H)
        .Fill.ForeColor.RGB = RGB(0, 255, 0) '塗りつぶし 緑
        .Fill.Transparency = 0.7             ' 透明度0.7
        .Line.ForeColor.RGB = RGB(0, 0, 0)   '枠線 黒
        .Line.Weight = 2                     '枠線幅 2pt
    End With
End Sub


――以上、楕円描画マクロ 


四角形図描画から塗りつぶしの色、透明度、線幅を変えてみた。



――角丸四角描画マクロ 

Sub KadomaruSikaku()
    Dim L As Single, T As Single, W As Single, H As Single
   
    L = 80      '角丸四角に接する四角形の左上隅のX座標
    T = 300     '角丸四角に接する四角形の左上隅のY座標
    W = 240     '角丸四角に接する四角形の幅
    H = 180     '角丸四角に接する四角形の高さ
    Set myDocument = ActivePresentation.Slides(1)
    With myDocument.Shapes.AddShape _
        (msoShapeRoundedRectangle, L, T, W, H)
        .Adjustments.Item(1) = 0.3            '角丸の程度 0.3
        .Fill.ForeColor.RGB = RGB(0, 0, 255)  '塗りつぶし 青
        .Fill.Transparency = 0.5              ' 透明度 0.5
        .Line.ForeColor.RGB = RGB(0, 0, 0)    '線の色 黒
        .Line.Weight = 3                      '線の幅 3pt
    End With
End Sub


――以上、角丸四角描画マクロ
 
角丸の程度は、上記の .Adjustments.Item(1) = 0.3 で指定している。数値は、角丸の長さと短辺の長さの比である。0であれば、普通の四角形である。大きな値を入れてもエラーにはならないが、実質の最大値は、0.5である。



――テキスト文挿入マクロ

Sub TekisutoBun()
    Dim L As Single, T As Single, W As Single, H As Single
    Dim TextMoji AsString
   
    L = 400    'テキスト枠の左上隅のX座標
    T = 300    'テキスト枠の左上隅のY座標
    W = 240    'テキスト枠の幅
    H = 300    'テキスト枠の高さ
    TextMoji = "計算式例 y=x2" + vbCrLf + "化学式例 CO2"
    Set myDocument= ActivePresentation.Slides(1)
    With myDocument.Shapes.AddTextbox(msoTextOrientationHorizontal,L, T, W, H)
       .TextFrame.TextRange.Text = TextMoji
       .TextFrame.TextRange.Font.Name = "Century"
                '英字フォント
       .TextFrame.TextRange.Font.NameFarEast = "MS Pゴシック"
                '漢字フォント
       .TextFrame.TextRange.Font.Size = 24
                '文字サイズ24pt
       .TextFrame.TextRange.Font.Color.RGB = RGB(255, 0, 0)
                '文字の色 赤色
       .TextFrame.TextRange.Font.Bold = msoTrue
                '太文字
       .TextFrame.TextRange.Characters(9, 1).Font.BaselineOffset= 0.3
                '上付き文字
       .TextFrame.TextRange.Characters(18, 1). Font.BaselineOffset = -0.3
                '下付き文字
       .TextFrame.TextRange.ParagraphFormat.Alignment = msoAlignCenter
               '中央合わせ
       .Fill.ForeColor.RGB = RGB(255, 255, 0)
                '塗りつぶし 黄色
       .Fill.Transparency = 0.3
                ' 透明度0.3
       .Line.Visible = msoFalse
                 '線なし
  End With
End Sub 

――以上、テキスト文挿入マクロ
 

上付き文字、下付き文字も、中央合わせなども行っている。文の改行は、文字変数TextMojiの中に次のように書かれている。

TextMoji = "計算式例 y=x2" + vbCrLf + "化学式例 CO2"

このなかのvbCrLfが改行命令語である。文字を上付きにしたり、下付きにしたりするとき文字数を数えて設定しなければならないが、この改行命令語も1文字としてカウントする必要がある。

上記のマクロに共通して、塗りつぶしにグラデーションをつけたい場合は、マイクロソフト提供の次のURLを参考にするとよい。
http://msdn.microsoft.com/en-us/library/bb265429(v=office.12).aspx 及び
http://msdn.microsoft.com/en-us/library/bb265468(v=office.12).aspx
枠線でダッシュ(各種点線)を使いたい場合は、次のURLを参考。
http://msdn.microsoft.com/en-us/library/bb265344(v=office.12).aspx
枠線で2重線や3重線を使いたい場合は、次のURLを参照。
http://msdn.microsoft.com/en-us/library/bb251238(v=office.12).aspx
2重線や3重線を描くときには、線幅を広く指定する必要がある。そうしないと1重線にしかみえない。
(つづく)

その他、シリーズも書いています。 ブログ「dousube」検索画面より検索下さい。

2012年10月19日金曜日

幾何学模様(13)

幾何学模様
(18)(17)(16)(15)(14)、(13)、(12)(11)(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)

r=cotθはカッパ曲線(Kappa Curve)と呼ばれている。前々回は、cotθのn乗、m乗根、さらにθの前に係数を掛けるなどの検討をした。
前回は、cotθ=cosθ/sinθであることから、cosθ、sinθのそれぞれのθに係数を掛けてみた。係数の掛け方として、jθと(1/k)θの二通りを検討した。

今回は、r=tanθで同じ試みをしてみる。先ずはsinθのθに係数を掛けてみる。先ずはtanθをn乗した。 
次図はr= (tanθ)n   n=1,2,3・・6 である。



次にtanθのm乗をとってみる。
次図は、r=(tanθ)1/m      m=1,2,3・・6 である。



次は、tanθのθに係数を掛けてみる。
次図は r=tan(jθ)    j=1,2,3・・6 である。



次図はr=tan(θ/k)    k=1,2,3・・6 である。



r=tanθ=sinθ/cosθである。cosθ、sinθのθに別々に係数を掛けてみる。
次図は、r=sinθ/cos(jθ) j=1,2,3・・6である。




次図は、r=sinθ/cos(θ/k) k=1,2,3・・6である。



次図は、r=sin(jθ)/cosθ j=1,2,3・・6である。




次図は、r=sin(θ/k)/cosθ k=1,2,3・・6である。




r=tanθという単純な関数にべき乗をとったり、θに係数を掛けるだけで、パターンが大きく変わる。
何も分析していないので、ただ単に不思議がっている。

2012年10月9日火曜日

地球温暖化メカニズム考察(5)


地球温暖化メカニズム考察(1)、地球温暖化は、現代科学が不得手とするもののひとつ
地球温暖化メカニズム考察(2)、地球温暖化懐疑論者の大きなまともな疑問
地球温暖化メカニズム考察(3)、地球温暖化は、平衡論では説明できない<
地球温暖化メカニズム考察(4)、地球温暖化は、ポジティブ・フィードバックのオンパレード
地球温暖化メカニズム考察(5)、植物の光合成がなければ、地球は熱暴走
地球温暖化メカニズム考察(6)、現代社会は、植物をも減少させている。このままでは地球は熱暴走
地球温暖化メカニズム考察(7)、地球には氷河期があった。寒冷化メカニズムは?>
地球温暖化メカニズム考察(8)、46億年地球史概略
地球温暖化メカニズム考察(9)、先カンブリア時代の気候変動
地球温暖化メカニズム考察(10)、先カンブリア時代の気候変動2

地球温暖化メカニズム考察(5)-植物の光合成がなければ、地球は熱暴走


 前回までに、現代科学は素晴らしい成果を上げている反面、弱点を持っており、地球温暖化問題は、現代科学の弱点(注1)全てを含んでいることから、理解を難しくしていることを指摘した。その中でも特に、現代科学が安定でない非平衡の系に弱いことが、理解の最大障壁になっている。平衡論で地球温暖化を理解しようとしているから、どんな科学者の予想をも上回って地球温暖化が進んでいるということになる。そして、正のフィードバック(非平衡論)を考えなければいけないのでは?となっており、そこからあまり進んでいない、つまり、これからの学問領域であるといえる。
 地球温暖化に正のフィードバックがあるという記述が散見されるので、前回、それをまとめてみた。図にすると以下のようになる。

 CO2もH2O(水蒸気)も共に温暖化ガスである。人間が化石燃料を使用することによるCO2増大が、温暖化のトリガー(引き金)となる。CO2とH2Oが協調して温暖化を促進する。(注2)この図には生物の効果が含まれていない。

 植物は、光合成によってCO2>を吸収する。周知のことである。CO2が増えれば、植物が増え、CO2が減ると考えるのが、普通であろう。

 これは平衡論的な考えである。平衡論と非平衡論をつなぐためには、変化が起きたとき、その変化を抑制するものはなんであるか、どのぐらいの速さでもとにもどるのか、そのあたりを追求する必要があると思われる。いずれにしてもCO2<が増大してもそれをカバーするだけの植物が増大すれば、地球温暖化は起きない。

 現実の生物の影響はどうなっているのだろうか。次回、そのあたりを考察する。

(注1)
現代科学の弱点は、前回までに列挙したが、ここでは例をあげてみたい。
(1)総合的な理解やシステム考察などが不十分
専門医は多いが、総合医は少ない。総合病院とうたっているところも専門医はたくさんいるが、総合医を設けているところはほとんどない。これと同じように科学の世界も細分化されていて、総合科学が弱い。
今後の地球温暖化を正確に予測するためには、かなりの総合科学力が必要である。
(2)安全性への配慮不足
安全性に欠けていることは、我々は日常的に経験している。公害や薬害、更には交通事故、最近では原発事故など。安全性は常に後追いになっている。
地球温暖化がどれほど危険であるか、その危険度の把握と対策は不十分である。
(3)非平衡現象に対する研究が不十分
竜巻や台風の発生は、正のフィードバックであるが、これらの研究は不十分である。台風や竜巻の進路予想はあっても、発生予想はほとんどない。あったとしても感覚的なものである。
もっと卑近な例が、デフレ、インフレである。これは、デフレがデフレを呼ぶ、インフレがインフレを呼ぶ、非平衡現象の典型である。デフレ・スパイラルというも、悪循環というも、正のフィードバックというも、同じことをいっている。
もし、科学の領域で非平衡論が進展すれば、科学の経済への寄与は大きくなると予想される。 

(注2) 地球温暖化のメカニズムは、別のホームページにも書いているので、そちらも参照下さい。
→ 温暖化のメカニズム
つづく

2012年10月8日月曜日

PPT2010マクロ(3)

PPTマクロ(6)、PPTマクロでつくったもの2
PPTマクロ(5)、PPTマクロでつくったもの1
PPTマクロ(4)、マクロで四角形や楕円などを描く
PPTマクロ(3)、マクロで直線を描く
PPTマクロ(2)、マクロを有効化する
PPTマクロ(1)、マクロ作成の動機

PPTマクロ(3)、マクロで直線を描く


 パワーポイントPPTのマクロ作成においてつまずくと、その解決に半日以上かかることがある。私だけかと思っていたら、そうではない。多くの人が、たいしたことはないコマンドを見つけるのに、多くの時間を割いているようである。これはPPTマクロの情報源が少ないことによる。
 そこで、これからは例題を列挙していく。
 その前に、PPTスライド上の位置を決める数値、原点・中心点などを確認しておく。
 下図にPPTディフォールトの場合を示す。


 左上が原点(0,0)である。右下が(720,540)である。中心は(360,270)となる。数字の単位はpt(ポイント)で、1pt=1/72インチ=25.4/72mm=0.3527777・・mmである。幅1ptx720=25.4cm、高さ1pt x 540=19.05cmがパワーポイントのディフォールト値でA4サイズより小さい。パワーポイントのサイズは変更可能なのでサイズ変更した場合は、中心値と右下値も変わることを認識しておく必要がある。

 先ず、PPTのマクロを使って、左上の原点から右下まで、赤色で線を引いてみよう。
そのマクロを以下で示す。

Sub Line()
  ActivePresentation.Slides(1).Shapes.AddLine(0, 0, 720, 540). _
    Line.ForeColor.RGB = RGB(255, 0, 0)
End Sub

 マクロ名をLineとして上記4行をPPTマクロのエディターにコピーして実行させると、左上から右下に赤色の線を描いてくれる。

以下、このマクロを説明していく。

Sub マクロ名() 
End Sub

はマクロの基本である。マクロ名も変数もひらがな、カタカナ、漢字が一応使えるが、そのような例はほとんどみかけない。多分エラーがでるケースがあるからであろう。Sub マクロ名()とEnd Subの間にマクロを記述していく。原点と右下をつなぐマクロ

  ActivePresentation.Slides(1).Shapes.AddLine(0, 0, 720, 540). _
    .Line.ForeColor.RGB =RGB(255, 0, 0)

は、1行のコマンドである。上記1行目最後のスペースとアンダーバーが、継続行であることを示している。

これを翻訳すると、以下のようになる。
ActivePresentation          現在のプレゼンテーションの
.Slides(1)                  1枚目のスライドに
.Shapes                     図形として
.AddLine(0, 0, 720, 540)    (0,0),(720,540)間に線を引く
.Line                       線の
.ForeColor.RGB =            前景色は
RGB(255, 0, 0)       R(赤):G(緑):B(青)=255:0:0 である。(注)


通常、線を引くコマンドを1行で書かない。

1行で書いたオリジナル;
Sub Line()
  ActivePresentation.Slides(1).Shapes.AddLine(0, 0, 720, 540). _
      Line.ForeColor.RGB = RGB(255, 0, 0)
End Sub

最初の変更:
Sub Line()
    Set myDocument= ActivePresentation.Slides(1)
    myDocument.Shapes.AddLine(0, 0, 720, 540). _
        Line.ForeColor.RGB = RGB(255, 0, 0)
End Sub

ActivePresentation.Slides(1)は何度も使う可能性があることから、これをmyDocumentとして以降はActivePresentation.Slides(1)の代わりにmyDocumentを使う。myDocumentでなく別の単語を使ってもかまわない。

次の変更:
Sub Line()
    Set myDocument= ActivePresentation.Slides(1)
    with myDocument.Shapes.AddLine(0, 0, 720, 540).Line
         .ForeColor.RGB = RGB(255, 0, 0)
    End with
End Sub

 線をここでは赤色にすることだけを指定したが、線幅を指定したり、点線など線の種類を指定する場合が生じる。これら複数の指定を指定する場合、 myDocument.Shapes.AddLine(0, 0, 720, 540).Line まで共通でそれ以降いろんなものを付け足すことになる。このようなとき

With
End With 

を使用する。

Sub Line()
    Set myDocument= ActivePresentation.Slides(1)
    with myDocument.Shapes.AddLine(0, 0, 720, 540).Line
       .ForeColor.RGB = RGB(255, 0, 0)       ‘線の色 赤
       .Weight=2                         ‘線の幅 2ポイント
    End with
End Sub

 ここでは、線幅指定を追加した。アポストフィ ‘ は、それ以降は無効を示す。このため、上記のようにコメントを追加することができる。日本文字のアポストフィ‘もOK。

 一つのマクロ内で線は1本のみでなく、何本も引く場合が多い、このとき座標に変数を使う必要がある。座標を変数にするとともにDimを使って変数宣言しておくことが勧められている。変数宣言しなければならないケースと特に指定しなくてもよいケースがあるが、エラーを少なくするため、常に変数指定するくせをつけておいたほうがよい。

結果的に以下のようになる。

Sub Line()
    Dim X1 As Integer, Y1 As Integer ‘X1,Y1変数(整数)宣言
    Dim X2 As Integer, Y2 As Integer ‘X2,Y2  変数(整数)宣言
    X1=0
    Y1=0      ‘X1,Y1 線引きの始点
    X2=720
    Y2=540      ‘X2,Y2 線引きの終点
    Set myDocument= ActivePresentation.Slides(1)
    with myDocument.Shapes.AddLine(X1, Y1, X2, Y2).Line
        .ForeColor.RGB = RGB(255, 0, 0)  ‘線の色 赤
        .Weight=2            ‘線の幅 2ポイント
    End with
End Sub

(注)
RGB(0,0,0)は、黒を示し、RGB(255,255,255)は白を示す。RGBそれぞれの最大値は255で、色の組み合わせは256の3乗で約千七百万色となる。

(追記)
今回は、線を引くというコマンド例であったが、全てのコマンドにオブジェクト(対象)、メソッド(実行[方法])、プロパティ(性質)が含まれている。

ActivePresentation.Slides(1).Shapes「現プレゼンテーションの1枚目のスライドにおける図形」がオブジェクト(対象)であり、
AddLine(0, 0, 720, 540)「線を引く」がメソッド(実行)であり、
Line .ForeColor.RGB = RGB(255, 0, 0)「赤の線」がプロパティ(性質)である。

もし、長方形を書きたいと思えば、
「PowerPoint Object Model Reference (英語)」 
でShapesというオブジェクトの中に見つけることができる。

(つづく)

その他、シリーズも書いています。 ブログ「dousube」検索画面より検索下さい。


2012年10月7日日曜日

幾何学模様(12)

幾何学模様
(18)(17)(16)(15)(14)(13)、(12)、(11)(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)

r=cotθはカッパ曲線(Kappa Curve)と呼ばれている。前回は、cotθのn乗、m乗根、さらにθの前に係数を掛けるなどの検討をした。
今回は、cotθ=cosθ/sinθであることから、cosθ、sinθのそれぞれのθに係数を掛けてみる。係数の掛け方として、jθと(1/k)θの二通りを検討する。

先ずはsinθのθに係数を掛けてみる。
次図はr=cosθ/sin(jθ)    j=1,2,3・・6 である。



次は、r=cosθ/sin(θ/k)    k=1,2,3・・6 である。



次は、cosθのθに係数を掛けてみる。
次図はr=cos(jθ)/sinθ    j=1,2,3・・6 である。



次図はr=cos(θ/k)/sinθ    k=1,2,3・・6 である。



r=cotθはカッパ曲線という知識だけで、sinθやcosθの前に係数を少し変えてみた。どんな曲線に変わるかなど予想していない。ダイナミックにパターンが変わるので驚いている。
これらはどう分析すればよいのか、わからない。

これからも、ただ単純に、いろんな関数で幾何学模様を描いていこうと思っている。

2012年9月30日日曜日

幾何学模様(11)

幾何学模様
(18)(17)(16)(15)(14)(13)(12)、(11)、(10)(9)(8)(7)(6)(5)(4)(3)(2)(1)

今回は、r=cotθを検討する。先ず、cotθをn乗する。次にcotθのm乗根をとってみる。そのあとは、θの前に係数を掛けてみる。係数の掛け方として、jθと(1/k)θの二通りを検討する。

次図は、r=(cotθ)  n=1,2,3・・6 である。


r=cot θは、ギリシャ文字のカッパ(κ)に似ていることカッパ曲線と呼ばれている。
nを大きくすると両端が開いてくる。

次の図は、r=(cotθ)1/m  m=1,2,3・・6 である。

負の平方根は虚数になるので、ここではcotθの絶対値をとっている。
このパターンの特徴:mを大きくすると両端が縮んでくる。

次にθの前に係数をつけて、それを変化させてみる。

次の図は、r=cot(jθ)  j=1,2,3・・6 である。

この図を、もし、n乗すれば、端は広がるであろうし、もし、m乗根すれば端は縮まるであろうと予想される。


次の図は、r=cot(θ/k)  k=1,2,3・・6 である。



K=1k=2で全く異なる。
kが奇数の場合とkが偶数の場合の二つの傾向に分けられる。kが奇数の場合は、真ん中のクロスしたところの形状が、kを大きくしていくにつれ複雑になる。
kが偶数の場合はk2の真ん中の結び目のところの円形バターンが、kを大きくするにつれ増えていく。






2012年9月26日水曜日

PPT2010マクロ(2)

PPTマクロ(6)、PPTマクロでつくったもの2
PPTマクロ(5)、PPTマクロでつくったもの1
PPTマクロ(4)、マクロで四角形や楕円などを描く
PPTマクロ(3)、マクロで直線を描く
PPTマクロ(2)、マクロを有効化する
PPTマクロ(1)、マクロ作成の動機

PPTマクロ(2)、マクロを有効化する


 パワーポイント(PPT)のマクロは、難しくない,しかし、とっつきにくいといわれている。最初のハードルは少し高いが、それを乗り切ると、易しいということになる。たしかに本屋に行ってもExelのマクロの本はたくさんあるのにPPTマクロの本は無い。
 マクロ記録は、マクロを勉強するのに、現実的で便利である。しかし、PPT2010にはマクロ記録機能がない。PPT2003にはマクロ記録機能があるが、PPT2010からなくなっている。PPT2003が使える私のパソコンは壊れている。こうなると頼るのはネットしかない。検索を始めると、ほどなく次のネット情報に出会った。

PowerPoint 2010 VBA の基礎知識(マイクロソフト発行)

 これには、PPTのマクロの有効化方法や例題などが載っている。
 注意すべきは、マイクロソフトのオフィスには通常のディフォールトではマクロは有効になっていない。プログラムを作る前にまずマクロを有効にする必要がある。

マクロ有効化方法
まず、ファイル→オプション→リボンのユーザ定義 と進む。
でてきた「リボンのユーザ定義画面」には、「コマンドの選択」と「リボンのユーザ設定」がある。
「コマンドの選択」では「基本的なコマンド」を選ぶ。
「リボンのユーザ設定」で「メインタブ」を選択し、中断にある「開発」チェックボックスをオンにする。
マクロを有効化した後は、開発リボンの中のマクロボタンでマクロの編集や実行をする。
 この「PowerPoint2010VBAの基礎知識」には、例題がのっているので、これでPPTのマクロをおぼろげに把握できる。もし、すぐに理解できるようであれば、PPTマクロ作成能力に申し分はない。
次のURLに例題がたくさん載っているので、それを参照すればよいと書いている。

「PowerPoint Object Model Reference (英語)」>

 たしかに例題はたくさんある。自分が欲しいコマンドを探すのは大変であるけれど、そのうち慣れてくる。

 オブジェクト、メソッド、プロバティなどの言葉が出てくるけど、例題をこなしているとこれらの言葉が理解できなくでもプログラムができるようになるから、まさに「習うより慣れろ」である。

 実際にプログラムを作ってみて、PPT専用のマクロを使うところは限られている。多くはVB(Visual Basic)を使う。PPTマクロはVBA(Visual Basic Application)の一部である。そしてマイクロソフト・オフィスに共通に使えることを示すmsoが付くコマンド(多分、正確にはメソッドもしくはプロパティ)が多い。つまり、wordやexcelのお絵かきツールと共通箇所がたくさんある。このことはexcelのマクロ記録が役に立つことを示している。
 ある程度、PPT特有のコマンドの使い方がわかれば、PPT以外の知識でできてしまう。つまり、PPTマクロの本は要らないということになる。更にマクロを使う人にPPTしか対象にしないという人もいないということになる。

 Excelのマクロ記録は実際に役に立つ。プログラム作成で、わからなくなったとき、関連した2つか3つの単語でインターネット検索すると答えが見つかることがある。それが、Yahooの知恵袋であることがある。ということはYahooの知恵袋で質問すれば、誰かが回答してくれる可能性がある。私はまだYahoo知恵袋を使ったことがないが、いずれ使うことになると思う。

 PPTのマクロ:要は最初のハードルを越えることにある。最初のハードルを越え易くするため、次回以降、いくつかの例題を示していこうと思っている。

(つづく)

その他、シリーズも書いています。 ブログ「dousube」検索画面より検索下さい。

2012年9月19日水曜日

地球温暖化メカニズム考察(4)


地球温暖化メカニズム考察(1)、地球温暖化は、現代科学が不得手とするもののひとつ
地球温暖化メカニズム考察(2)、地球温暖化懐疑論者の大きなまともな疑問
地球温暖化メカニズム考察(3)、地球温暖化は、平衡論では説明できない<
地球温暖化メカニズム考察(4)、地球温暖化は、ポジティブ・フィードバックのオンパレード
地球温暖化メカニズム考察(5)、植物の光合成がなければ、地球は熱暴走
地球温暖化メカニズム考察(6)、現代社会は、植物をも減少させている。このままでは地球は熱暴走
地球温暖化メカニズム考察(7)、地球には氷河期があった。寒冷化メカニズムは?>
地球温暖化メカニズム考察(8)、46億年地球史概略
地球温暖化メカニズム考察(9)、先カンブリア時代の気候変動
地球温暖化メカニズム考察(10)、先カンブリア時代の気候変動2

地球温暖化メカニズム考察(4)
-地球温暖化は、ポジティブ・フィードバックのオンパレード


 現代科学のすばらしさといくつかの弱点を地球温暖化考察(1)で述べた。 

 地球温暖化考察(2)では、気象気候変動は、変化がはげしく、又、複雑に関係する様々な要素を含んでおり、現代科学が、理解しづらいもの、不得手とするもの、実証しづらいもの、これらの全てを含んでいることを強調した。

 更に、気候変動論は、太古の気候変動を説明し、又、温暖化懐疑論者のまともな疑問に答えられるものでなければいけないことを指摘した。

 前回の地球温暖化考察(3)では、科学は主に平衡系を対象に発展し、地球温暖化問題も多くは熱平衡論をベースに展開しており、これでは太古の気候変動を説明できないし、温暖化懐疑論者のまともな疑問に答えられないことを示した。気象・気候問題は平衡論に固執することなく、不安定・非平衡論も取り入れて取り扱うべきだと主張した。

 地球温暖化は、人類が発生する温暖化ガス、主にCO2によるものだとされている。炭酸ガスCO2以外にも水蒸気も温暖化ガスである。その他にメタンもある。大気中の温暖化ガスが太陽光や地球の放射熱に共振し、大気を温める。ひいては地球をあたためている。

 平衡論者によれば、大気中に増えた分のCO2で地球温暖化がおきているとしている。それだけであろうか、現実の感覚としてすごいスピードで地球温暖化が進んでいるし、どの科学者の予想をも上回って地球温暖化がすすんでいるといわれている。平衡論だけでは説明できないことがおきている。主流ではないが、地球温暖化にポジティブ・フィードバック(正帰還)が働いているとの記述が散見される。その中から生物が関与しているという案件を除くと次のようになる。

1)氷は太陽光の反射率が大きい、大地も海も反射率は小さい。従って、大地も海も太陽エネルギーを吸収するが、氷は太陽エネルギーを反射して宇宙に逃がしてしまう。氷が解け、氷の表面積が減ると太陽光が、より海や大地に吸収されやすくなり、地球の温度が上がる。そうすると氷が解けて氷の表面積が減り温度が益々上昇する。

2)地球の温度が上がると海からCO2が大気中にでていく。炭酸飲料は温度があがると炭酸ガス(CO2)がでるというのは、日常的に経験している。海からCO2が大気中にでていくと益々温度があがり、更にCO2が海から大気へでていく。

3)地球の温度があがると大気中の水蒸気が増える。水蒸気も温暖化ガスである。大気中の水蒸気が増えると更に地球の温度があがる。

上記のように温度が上がる方向にポジティブ・フィードバックが働らいている。ポジティブフィードバックのオンパレードである。ポジティブフィードバックが働くと、急速な温度上昇もあり得る。数々の異常気象が世界中で急増していることをみれば、平衡論より、上記のポジティブ・フィードバック(正帰還)が働いていると考える方が、現実に即している。

 地球温暖化はどんな専門家も予想していない想定外のスピードで進んでいるといわれているが、これは平衡論をベースに予想しているからである。もし、ポジティブ・フィードバックをベースに考えると温暖化スピードはかなり速くなるわけで、どんな専門家も予想していないということにならず、想定内の速さになってしまう。現状の急速な温暖化にはポジティブ・フィードバックが確実に大きく寄与しているとしか考えられない。

 次回は生物の影響を考える。

(つづく)

2012年9月5日水曜日

幾何学模様(10)

幾何学模様
(18)(17)(16)(15)(14)(13)(12)(11)、(10)、(9)(8)(7)(6)(5)(4)(3)(2)(1)

前々回の幾何学模様(8)からスーパー楕円 |x/a|n/m+|y/b|n/m=1 を検討している。
x=rcosy=rsinθであるから、スーパー楕円は、 r=(|cosθ/a|n/m+|sinθ/b|n/m)-m/n  と書くことができる。
前々回の幾何学模様(8)は、n/mを変化させた図を示した。 
前回は、n/mを固定して、r=(|cos(jθ/k)/a|n/m+|sin(jθ/k)/b|n/m)-m/n のような関数を考え、a=b=1,n/m=2/3,j=1としてkを変化させてみた。

今回は、a=b=1,n/m=2/3,K=4として、jを変化させてみる。






n/mを小さくして、n/m=1/2とすると以下のようになる。



n/mを更に小さくして、n/m=1/3とする。




n/m=2/3として、jを1から30まで変化して場合を、以下の動画で示す。

2012年8月18日土曜日

幾何学模様(9)

幾何学模様
(18)(17)(16)(15)(14)(13)(12)(11)(10)、(9)、(8)(7)(6)(5)(4)(3)(2)(1)

前回の幾何学模様(8)からスーパー楕円 |x/a|n/m+|y/b|n/m=1 を検討している。

x=rcosy=rsinθであるから、スーパー楕円は、 r=(|cosθ/a|n/m+|sinθ/b|n/m)-m/n  と書くことができる。
前回n/mを変化させた図を示した。n/m>2の場合、角丸四角になる。これはラメ曲線と呼ばれている。n/m=2の場合、円となる。2>n/m>1の場合、角丸菱形となる。n/m=1の場合、菱形となる。n/m<1の場合、星状になる。n/m=2/3の場合は、特にアステロイドもしくは星芒形と呼ばれている。 

今回は、n/mを固定して、r=(|cos(jθ/k)/a|n/m+|sin(jθ/k)/b|n/m)-m/n スのような関数を考える。これもスーパー楕円の範疇であろう。以下では、a=b=1,n/m=2/3,j=1としてkを変化させてみる。
kに対して単調に変化するのではなく、複数のモードがある。大きくは4つのモードに分かれる。4k,4k-1,4k-2,4k-3である。
以下にそれぞれを示す。勝手に型名をつけるとしたら、4kは涙型、4k-1は花弁型、4k-2は瞳型。4k-3のパターンは4k-1と似ていて、これも花弁型。









 いずれの場合においても、kが大きくなると、内側に円ができる。n/mを小さくすると内側の円が小さくなる。
 以下にn/m=1/3としたときの4k-1のケースを示す。