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θの前に係数を少し変えてみた。どんな曲線に変わるかなど予想していない。ダイナミックにパターンが変わるので驚いている。
これらはどう分析すればよいのか、わからない。

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