python 多重ループ

Python では多重のループを避ける的な風潮があるが気になったので適当に比較。

計測環境は

Windows 10
Intel Core i7-6700 3.40GHz
RAM 16GB


ループ回数が 600 * 600 の時の実行時間は
Time_01 : 0.0446324348449707Sec
Time_12 : 0.10829639434814453Sec

ループ回数が 10000 * 10000 の時の実行時間は
Time_01 : 15.341634273529053Sec
Time_12 : 32.571099281311035Sec

多重ループを避けた方は divmod 関数がいるからか逆に重くなった。

### Loop Count
s = 600

time_0 = time.time()

### Loop Loop
### 0.049633026123046875 Sec
count = 0
for i in range(s):
    for j in range(s):
        count += 1
        tmp = [i, j]
print(count)

time_1 = time.time()

### Loop
### 0.11133432388305664 Sec
ss = s * s
count = 0
for i in range(ss):
    count += 1
    u, v = divmod(i, ss)
    tmp = [u, v]
print(count)

time_2 = time.time()

print("Time_01 : {}Sec".format(time_1 - time_0))
print("Time_12 : {}Sec".format(time_2 - time_1))

200630

コンピュータを使って便利にしたいすごい良いもの作りたい相談がたまにあるけど、いつもなんか断るみたいな言い方をしてしまう。

家具を作るために何か効率化したいときに、何をすれば良いか?

A)
必要な作業は、木を切る+釘を打つのが必要と想定する
→ノコギリとハンマーを用意しましょう

B)
最強家具作りロボットを作ろう(?)

204004

4月1日に思い立って、日報的なものを記録することにした。
PHP を書いてみたかったってのもあって、自前で作ることにした。

昔、Wordpress のテンプレ作ろうとして、PHP 全然わからんみたいな感じだったけど,
HTML / CSS 含め、プログラム全般に関する理解が少し深まっているおかげで、
まあなんとなく書けた。

作業工程というか、必要な構成みたいなものも、なんとなく想定し、実装できた気がする。

あとは毎日書くこと。。。

diary.naysok.org


終わり。

200207

ミリング加工の時間が長すぎて心が折れる


やるべきものはなんとしてでも着地しなければ的な個人的なメンタルセットによって、
いろいろと損をしているのでは無いかという気持ちもあるけど、
やるべきものを言い訳しながらサボる諦めるみたいなことを始めると、
人として終わりな気がするので、とりあえずやっていく気持ち。


終わり

190908

構造が良いか、ルックが良いか、どう考えてもルックが良いほうが良くて、ただの自分の気持ちの問題なのだけど、なんとなく、綺麗な構造が出来たときには、綺麗なルックが出来て欲しいという希望を持ってしまうな。


あとは、知らんけど、ソフトのパワフルさとは別に、自分のクリエイティビティの限界というものがあるので、パワフルなソフトに安易に飛びつくのは長い目で見ると良くないという感もある。


使用する環境よりも、ルックや気持ちの問題に向き合っていきたいとやっぱり思いました。



なんというか完全に気持ち論者みたいな部分もあって、気持ち論のところは不合理とかそういうレイヤーじゃなくてやって行きたい気持ち、僕は…

190624

設計をする図面を書く、
その時には、対象を抽象化して必要な情報だけを扱い書き込む。
さらに、スケールに応じて扱うべき情報の密度が変わる。

3D プリントや、3D 入稿の加工の外注に向けたモデリングでは、
抽象化せずに、きっちり細部まで設計を詰める。

この時に、抽象化した設計と、加工用の完璧なデータの扱い方が少し難しい。


紙の図面、2D の図面 → 立体物であると、必然的に適切な抽象化がなされる。
3D のデータ → 立体物に自動で加工されるのであれば、抽象化せずに作らなければならない。

しかし、
3D で設計するというと、完璧に現実と同じレベルでデータを作ってしまいがちで、
それだと重い、設計に不要な情報量という場合がある。

3D データであれば、抽象化せずにデータ上で完璧に作りこむことができてしまうので、
これが地味にわかりにくい。
慣れみたいな部分や、データ作成者の俺フォーマットで抽象化してしまう、
そういうところもある。


建築設計にも、
基本設計と、実施設計や、詳細設計のような抽象度、具体度のレベルがあるのと同様に、
小さなものでも、3D でのモデリングであっても、然るべき抽象度を扱うというのが大事だと思った。



終わり。

Rhino.Python に、CPython 標準モジュールを追加

Rhinoceros 5.0
EditPythonScript

Rhino.Python, GHPython は、IronPython で、2系。

import csv

import error
no module named csv



cpython の標準ライブラリを、IronPython にいれる。
(今回は、csv.py)


ソースはこれ
標準ライブラリは、Lib のなかにある。
github.com

場所はここ
C:\Users\xxx\AppData\Roaming\McNeel\Rhinoceros\5.0\Plug-ins\IronPython (xxx)\settings\lib

import csv

print dir(csv)

['Dialect', 'DictReader', 'DictWriter', 'Error', 'QUOTE_ALL', 'QUOTE_MINIMAL', 'QUOTE_NONE', 'QUOTE_NONNUMERIC', 'Sniffer', 'StringIO', '_Dialect', '__all__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', '__version__', 'excel', 'excel_tab', 'field_size_limit', 'get_dialect', 'list_dialects', 're', 'reader', 'reduce', 'register_dialect', 'unregister_dialect', 'writer']


Rhino.Python でも、GHPython でもたぶん動いた。

homebrew

qiita.com

190225


作り続ける理由は1つくらいしかないのに、それを止めるための理由は数え切れないほどある
@takawo

美大を卒業してそろそろ1年と思ったり。
大学院に入ってそろそろ1年が経とうとしていたりで、
このツイートを思い出して考えてしまうことがある。

卒業すると皆、生活は変わって、
強いこだわりを持って作品を作っていた人、
そこまで強いこだわりじゃないけど、好きで写真を撮ったり、イラストを描いていたりする人、
そういう人たちが普通に仕事に追われている、
もしくは、毎晩毎週末遊んでいる感じがある。

力のある人だなと思ってた人が、
クリエイティブは会社でやるそれだけでみたいな(?)生活してるのをみると少し寂しい。


課題だから作るとか、先生に褒められたいから作るとか、
そういうモチベーションが外れた時にどうしたら良いのか美大では教えてくれないので…

美大には制作スペースがあるし、
課題だと思えば、お金も時間も無理矢理にでも用意できる。
社会人になり、制作しなくても怒られないし、
制作場所もないし、時間もお金も無理矢理やりくりしてでも制作する必要がない。

作らなくても怒られないし死なないし、
作らない理由を言おうとすれば、いくらでも言えてしまう。
本業で作る仕事をしてるのだからオフは休みたい。
作る理由がない。
遊びたい。etc

僕の生活を振り返っても、
研究室の方針だしとか、上司のディレクションだしみたいな部分で、
まあいいや…とか、ここを掘り下げたいけどやらない。とか、自分の名前がクレジットされるわけじゃないから妥協しちゃおとか
研究室やバイトの仕事をしたから今日は寝ちゃおう。とかそういうことがある。

言い訳をできてしまうと、言い訳をして誤魔化してしまう。
僕は自分に甘いので。

そんなことをしてると、
何か自分で考えてこだわって作るとかそういう筋力が落ちてしまうのではないかなと危機感を覚えたら覚えなかったりする。


危機感を覚えたので、筋トレとして、
とりあえず、
僕は、お金と場所がかからないパソコンで完結するもの、
それも手軽めなものでもいいと決めて、継続的に作ろうと思ってはじめた。

1つめは、自分の web サイト。
自分の web サイトならば責任もないので色々試せる筋トレだし、普通に今後の資産になるので、◎
月250円くらい。

2つめは、最近滞りがちだけどちょっとした動画。
プロセシングとか、blender とかを使って短い動画を作る。
ソフトは無料のでもなんでも良いし、YouTube は無料。
ハードルは下げに下げている。

この2つはこらからも継続的に取り組んで行きたい。


危機感を持ったとかは、僕がそう思っただけで、
会社で働いてお金をもらって遊ぶ、
それも良い選択であるし、
作ることを続けているから偉いとか、そんな風に思っているということはないです。
ただ、考えて作ったものの話は、どれも面白いので、聞いてみたいし、
機会があれば話したいかも、そういうやつです。


今年度はこれとかまだ攻めれるところがあるので、
もっと考えたいやつです。
https://naysok.org/W/love-love-love


色々考えて、あまり推敲もせずに書いたけど、
自分にとって、今年は制作への姿勢とかを考えることができて、
研究成果はひとまず置いておいて、
すごく大きな収穫があった気がするので良かったです。

"作り続ける理由は1つくらいしかないのに、それを止めるための理由は数え切れないほどある" 問題、お金や場所が無いから作り続けることが出来ない、と言い訳をしないために、映像にシフトしたの、止める言い訳ができないこと以外にも、興味や制作の幅を広げることに繋がったので良かった。
@ysok_na

僕が社会人になって、
ゴルフとかキャバクラとか、
毎週毎週遊び歩いていたらぶっ殺してください…



おわり

190216

朝、タイムラインで見かけたこれがよかった。


バンドが楽しいのは、自分のアイデアがすべて採用されたときじゃなくて、誰かのアイデアに乗っかって、飛んだことない高さまで、あるいは見たことのない場所まで飛べたときだね。それがちゃんと自分ごととして喜べるしなやかさを自分が持ってなきゃだけど。若い頃より上手になった、そういうの。
@gotch_akg


" 飛んだことない高さまで、あるいは見たことのない場所まで飛べた ”

どのタイミングがこの時であったか、はっきり今覚えているわけではないけれど、
大なり小なり、この感覚はたぶん少しはわかっていると思う。

次にまたあの瞬間が来るように、何度も感動できるように、大きな壁を越えられように、
しっかりと日々鍛錬していきたい。
と思った。


前に書いたこととも似ているかも。
ysok-na.hatenablog.com



おわり

プロポーザル、そして市民参加

太田市美術館図書館のプロポ分析をしたので、
そこで書いたテキスト貼っておく。

www.artmuseumlibraryota.jp

www.city.ota.gunma.jp



プロポーザルの募集で、 ‟市民や行政と一体となって計画案を練り上げる柔軟かつ高度な発想をもって、設計の役割を果たしてくださる設計者を選定“ と示され、プロポーザルの他の応募案にも、各機能ごとの企画設計チームを組むなど、なんらかの方法で市民や行政とともに設計を進めていくことが提案されていた。

その中で、実施案に選ばれた平田の提案書では、具体的に、設計フローと、そこに挿入される各段階のワークショップ(以下、WS)のスケジュールが示されていた(前のページ下段)。各段階のWSで考えるポイントをそれぞれ一つに絞り、市民とともにそれを選択していくこと、さらには、WSの議題についてどのように告知をしていくかということまで書かれている。一般的に、市民の声と、建設予算や諸条件を破綻しない設計、それぞれをどのように両立させていくかという課題もあると思うが、平田の提案では、プロポーザルの応募の時点で、市民参加についてここまで計画されていたため、審査員も推しやすかったのではと考えられる。

竣工後、平田は「ほんの5年ほど前まではこのような文章(10+1 特集 ワークショップと建築設計の最前線へ の寄稿)を書くことなど想像すらしなかったし、この文章を書くことすら躊躇したくらいだ。しかし、よくわかっていなかったからこそ飛び込んだ」、「上述のようなプロセス(市民WS)を経た結果、プロポーザル時のややクリーンな感じの案は、なんとも野性的なものに変貌した」、「(太田市美術館図書館を経て)これまでとは違うフェーズで建築を考えることができるようになった気がしている。」と述べている。

いわゆる建築設計コンペティションや、形だけの市民との意見交換会では、成しえないような建築になったのは、プロポーザルの要綱作成から選定までをうまく行った運営側のマネジメントや、平田事務所のWSと建築設計のオーガナイズの巧みさがあるといえる。これからの公共施設のつくりかたの一つの指針になるべき事例であるといえると考えられる。




(終わり)

まじで勝てるツール

何かの制作に合わせて死にそうになりながら、まじで勝てるツール作ってるのだけど、同じような制作をもう一度やることがないので、まじで勝てるツールをうまく使えたことはない。

卒業制作のときののりしろツール、書き散らかした openCV 、シリアルのデバッガ、csv → html 生成スクリプト、ghPython を使った自動処理ツール、ffmpeg チートシート、bpy チートシート

毎回毎回、同じ作業や面倒な仕事で苦労したくないので、苦労して効率化ツールを死にそうになりながら作る。効率化ツールができれば、それをつかって、それ以降の作業は一瞬で終わる。

効率化ツールができてそこから秒で終わるのであれば、制作の完成(モチベーションのピーク?)は、ツールの完成時ともいえる。最終成果物ができたことよりも、勝てると確信したときの方がうれしい。

ツールができたときは、今度またこれをやるときに絶対勝てると思うのだけども、同じような制作をもう一度やることがないので、まじで勝てるツールをうまく使えたことはない、かも。

同じことを繰り返しやってもなんだかなって思っちゃいけないのかな。知らんけど。


(終わり)