パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

Pi 2で関数型プログラミングして日本地図をつくってみる

2015-05-19 | Raspberry Pi 2 or 3 or Pico
なんとなく関数型プログラミングが検索にひっかかったのが始まり

ひょっとして新しいパラダイムシフトなのか
マルチコアのコーディングにはfor文をまわさずに再帰でループ?
サンプルを見るとこのやり方、将棋のアルゴリズムを作っていて数手先読みさせるために作ったロジックと似ていました

これは少し勉強しておいた方がいいかも
Haskellという言語が最初に目につきましたこの言語少し前に関数の合成化という変わったキーワードで
インストールしてみたことだけあります
もう一つ、Mathmaticaが...この前、ちょっとだけ図形を書いてみてよくわからんなと放置したツール
プログラムの意味がさっぱりわからなかったのはこれが理由かと納得

でも絵を描きながらやったら少しは理解できるかもとraspbianのSDカードを装着

最初に試してみた例
やっと少し意味が理解できました、sin(x)をx -PiからPiまでの間表示させるってことか
Plot [Sin[x], {x, -Pi, Pi}]

言語ドキュメント
ここにサンプルソースがたくさんあります

Plot3Dなんていうのもあります
サンプル
Plot3D[Sqrt[1 - x^2 - y^2], {x, -1, 1}, {y, -1, 1}]

少しずつ加工してみます
Plot3D[Sin[x] + Cos[y], {x, -10, 10}, {y, -10, 10}]

Mathmaticaを起動してコピペしてShift+Enterで実行できます

Plot3D[x*x + (Sin[x] + Cos[y])*10, {x, -10, 10}, {y, -10, 10}]

少しずつ加工してみます
colfun = ColorData["Rainbow"]
Plot3D[x*x + (Sin[x] + Cos[y])*10, {x, -10, 10}, {y, -10, 10},
Mesh -> None, ColorFunction -> (colfun[#] &), PlotRange -> All]


地図などもネットワークから取りこめるようです
サンプルはNewyorkだったのですが日本地図も取り込めました

GeoGraphics[Entity["Country", "Japan"],
GeoBackground -> GeoStyling["ReliefMap"], GeoZoomLevel -> 6]

作成された画像は右クリックで名前をつけて保存できるようです

ここに表示れている画像はそれを読み込んで縦横3倍にしてみたものです
Import["/home/pi/Desktop/japan.png", ImageSize -> {1197, 1260}]

とりあえず関数型プログラムの関数のよびだし方のイメージはつかめたかも

最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。