プロが教える店舗&オフィスのセキュリティ対策術

Excelで加法定理のsin(α+β)=sinαcosβ+cosαsinβのグラフを書きたいのですがどのように計算したらいいかわかりません。

どなたか教えてください。

A 回答 (1件)

意味を取り違えてるかもしれないけど


エクセルのシェープ3つのマクロ関数により作ってみました。
後は公式に当てはめるだけ、セルを参照はしていないのであしからず。

'''''''''''''''''
'''''''''''''''''

Function tyoku_XY(siten_X As Single, siten_Y As Single, syuten_X As Single, syuten_Y As Single)


'x200 y200より初めのxy座標を描きます'


ActiveSheet.Shapes.AddLine(siten_X, siten_Y, syuten_X, syuten_Y).Select

End Function

''''''''''''''''''
''''''''''''''''''
Function tyoku(siten_X As Single, siten_Y As Single, syuten_X As Single, syuten_Y As Single)
'xy交点を軸に直線を描きます
Dim ax, ay, bx, by As Single


ax = 400 + siten_X
ay = 400 + (siten_Y * -1)

bx = 400 + syuten_X
by = 400 + (syuten_Y * -1)


ActiveSheet.Shapes.AddLine(ax, ay, bx, by).Select


End Function
'''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''

Function en(kei As Single)

' 円を描きます 引数は直径
x = 400 - (kei / 2)


ActiveSheet.Shapes.AddShape(msoShapeOval, x, x, kei, kei).Select
Selection.ShapeRange.Fill.Visible = msoFalse
Selection.ShapeRange.Fill.Transparency = 0#
Selection.ShapeRange.Line.Weight = 0.75


End Function
'''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''
'''''''''''''以下より主実行部''''''''
'''''''''''''''''''''''''''''''''''''
Sub main()

'X Yを描きます
Call tyoku_XY(400, 200, 400, 600)
Call tyoku_XY(200, 400, 600, 400)

'直線を描きます
Call tyoku(100, -100, -100, 100)

'円Aを描きます
Call en(200)

'円A半径100に正弦45度を描きます。
Dim x As Single

x = 100 * Sin(45 * (3.14159265358979 / 180))
Call tyoku(0, 0, x, x)

End Sub
''''''''''''''''''''''''''''''''
EXCEL2000で作成したので参考程度です。

この回答への補足

=SIN()と=COS()を利用して作ろうと思っていて、角度を0度から10度刻みで400度までのラジアンを表にしてあります。
これからαとβの値を総当たりするとものすごい量になってしまうので何か良い方法はないかなと思い質問させていただきました。

補足日時:2011/06/24 01:12
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
マクロだとこうやって作るんですね。
勉強になりました。

お礼日時:2011/06/24 01:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!