フーリエ級数で矩形波

なんてことはない、矩形をフーリエ級数展開してみた。

周期dの関数をフーリエ展開する。

 

0/1の矩形波は

となる。N=±5までの範囲とN=±50までの範囲で比べてみた。

 

#include <iostream>
#include <vector>
#include <cmath>
#include <complex>
const double PI = 3.14159265358979323846;
using namespace std;
int main(void) {

    double d = 1;
    auto a = [&](int n)
    {
        if (n == 0) return 0.5;
        else return 1. / PI / (double)n * sin(n*PI / 2.);
    };

    for (double x = -2; x<2; x += 0.01)
    {
        complex<double> val = 0;
        for (int n = -10; n<=10; n++)
        {
            val += a(n) * exp(2 * PI*n*x / d*complex<double>(0, 1));
        }
        std::cout << x << " " << val.real() << std::endl;

    }

}

ジャジャガッチ | C/C++ | 23:03 | comments(0) | trackbacks(0) |

jwcad 自動作図(2)パラメータ

自動作図の際にパラメータを渡したいことがあるだろう。例えば具体的な寸法など。

どうすればいいのかな、と思ったがバッチファイルで実行するexeファイルでパラメータを入力させればよい。

例えば次のような感じ。

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    double a=1;
    scanf("%lf",&a);
    if (FILE *fp = fopen("JWC_TEMP.TXT", "w")) {
        fprintf(fp, "0 0 %f 0¥n",a);
        fprintf(fp, "%f 0 %f %f¥n",a,a,a);
        fprintf(fp, "%f %f 0 %f¥n",a,a,a);
        fprintf(fp, "0 %f 0 0¥n",a);
        fclose(fp);
    }
}

ジャジャガッチ | C/C++ | 22:56 | comments(0) | trackbacks(0) |

jwcad 自動作図

2次元cadソフトはjwcadを使っている。

以前から作図の自動化が出来ないかと思っていて、今日ふと少し検討してみようと思い立った。

最初はdxfファイルを直接C++で書き出せないかと考えたのだが、dxfファイルのフォーマットはかなりカオスらしくて断念。

そこでもう少し調べてみるとjwcadで外部変形というワードを発見。

jwcadではこの機能を使って作図の自動化が出来るらしい!

 

というわけでやってみた。

外部変形を実現するためには、ある形式のバッチファイルを実行し、バッチファイル内で図形情報を記録したjwc_temp.txtを書き出すプログラムを実行すればよいらしい。

 

次のような感じ。

@echo off
REM #jww
REM #h0

REM #cd
REM #e
test.exe

 

test.exeのコードは例えば次のような感じ。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
    if (FILE *fp = fopen("JWC_TEMP.TXT", "w")) {
        fprintf(fp, "0 0 1 0¥n");
        fprintf(fp, "1 0 1 1¥n");
        fprintf(fp, "1 1 0 1¥n");
        fprintf(fp, "0 1 0 0¥n");
        fclose(fp);
    }
}

 

0 0 1 0は座標(0,0)から(1,0)まで線分を描く。

四角形を記述するコマンドはないらしい。

jwc_temp.txtで検索すればコマンド一覧が出てくるのでそれを参照して書けばok。

夢が広がる!

 

ジャジャガッチ | C/C++ | 22:08 | comments(0) | trackbacks(0) |

新訳版アイ・アム・レジェンド読了

2年ほど前にウィルスミスの映画版を観た。

前半は本当に抜群の雰囲気でまた観たいくらいだが、エンディングはかなりチープ。

このエンディングは公開直前に差し替えられたもので、差し替え前のもののほうが圧倒的によい。

差し替え後のものはありがちなヒーローものなのだが、差し替え前のものは価値観がひっくり返り、タイトルが大きな意味を持つことがわかる。

 

原作も読んでみたいと思っていて、注文したはいいが未読だった。

このたび一週間の出張があって夜暇なことが予測されたので小説を持っていって読了した。

面白い。

結末は映画版の差し替え前のものと似たもので、やはり価値観がひっくり返る。

原作はもう60年も前のものだが、色あせない。名作だ。おすすめ。

ジャジャガッチ | その他 | 21:59 | comments(0) | trackbacks(0) |
1/1PAGES | |

09
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
PR
RECOMMEND
RECENT COMMENT
MOBILE
qrcode
OTHERS
Since 2013/09/17
LATEST ENTRY
CATEGORY
ARCHIVE
LINKS
PROFILE
SEARCH