12012010 Python
楽しみ。
12012010 Python
12012010 Python matplotlib
6.10 datetime -- 基本的な日付型および時間型みながら。
>>> import datetime
>>> datetime.date.today()
datetime.date(2007, 7, 28)
>>> d = datetime.date.today()
>>> d.month
7
>>> d.day
28
>>> d.year
2007
で、matplotlibにはグラフを描きやすいようにmatplotlib.datesというモジュールがあって何日おきとか何年おきとかそんな感じの目盛りが簡単にうてる。
来月末に修善寺で行なわれるメタモのコンピが届いたヨ。
lindstromはやっぱええわ。あと、vvvv使いらしいtriponが気になる。
っていうかVJだけど、NintendoDSのタッチパッド使ったりとかWiiリモコンでVJやったりとかみると新しいデバイス使ってあれこれすんのは楽しそう。っていうか、DJの動きとかフロアの動きをゴニョゴニョして映像を生成したりとかはあるんだろうか?
IronPythonなんかつかってみると面白いことできるんじゃないかナァ。つうわけで、IronPython入れてみることにする。
Fedora7用のrpmがないのでsrc.rpmをとってきて
rpmbuild --rebuild --define 'pyver 2.5' wxPython2.8-2.8.4.0-1.src.rpm
でいいと思うんだけど、rpm -Uvhで入れようとすると
エラー: 依存性の欠如: libiconv.so.2 は wxPython2.8-gtk2-unicode-2.8.4.0-1.i386 に必要とされています
と怒られる。so.2も在るし、ldconfigもきちんとしてるのに、、、、謎だ。
と思ったらこれrpmで入れてなかったわ。
結局tarballから入れた。
12012010 Python
12012010 Python
12012010 Python
twitterのネットワークをグラフにして書き出してみる。python-twitterとnetworkxを使用。日本語のフォントの指定の仕方(pylabのほうだと思う)がわからなかったので日本語は表示されていない。
from pylab import *
from networkx import *
import twitter
myname= USERNAME
mypassword = PASSWORD
api = twitter.Api(username=myname,password=mypassword)
friends = api.GetFriends()
G = XGraph()
for friend in friends:
G.add_edge(myname,friend.name)
for friend in friends[-3:]:
for user in api.GetFriends(friend.id):
G.add_edge(friend.name,user.name)
#pos=spring_layout(G)
pos=random_layout(G)
#pos = shell_layout(G)
draw_networkx_nodes(G,pos,node_size=100,node_color='b')
draw_networkx_edges(G,pos,width=1)
draw_networkx_labels(G,pos,font_size=8,font_family='sans-serif',font_color='r')
xticks([])
yticks([])
savefig("twitter.png")
show()

springにするとやたらとCPUを食うのでちょっと大きくなると厳しい。というわけで、自分のフォロワーのフォロワーは3つだけにした。他のレイアウトも試してみたが、スプリングのほうがよさげ。

ランダムだと何みてるか分からんし。

シェルはちょっと視覚的に面白みがない。
コンファレンスのアカウントから幾つかつないで、ネットワークを描くのが楽しそう。あとは、エッジの数が少ないのは枝刈りしないと、僕のR4だと結構厳しいし、視覚的にも見辛くなるかな。
12012010 Python
あれーpydocがないなーと思って探したら、
c:\Python25\Lib\pydoc.py
だった。そして探す過程でpydocguiなるものを見つけた。tkでかかれていて、起動するとGUIがあがってwebサーバーがlocalhost:7464で起動して、ボタンを押すとブラウザが立ち上がるという親切設計
c:\Python25\Tools\Scripts\pydocgui.pyw
で起動
12012010 Python
pygameで遊んでたら、あーこれでプレゼン出来るじゃんと。
で、探したらbruceというのが既にあった。
pygletを利用しているので、画像の表示はもちろん出来るし、OpenGLなんかも使えて、サンプルのスライドでいきなり立方体がぐるぐる回るのとかちょっと楽しい。もちろんスライドからpythonインタプリタが動かせるのでライブコーディングとかも効果的なはず。
pygletを利用しているのでavbinを使えば、さらに動画も貼り付けられると書いてあったので入れようとしたんだけど、これがめちゃんこはまった。というか未解決。
avbinはlibavcodecを利用してるからFFmpegをインストールしてねとさらっと書いてあるんだけど、windowsへのインストールって難しい。linuxなら割と簡単にインストールできたんだけど。
MSYSとかMinGWとか既に入ってるのでconfigureするだけだと思うんだけど./configureってうつと何故かDOSが立ち上がってCPUを食い尽くしちゃうし。command.exeが起動してんのか?結局あきらめた。
機会があれば使ってみよう
12012010 Python jython processing
Built with Processing [改訂版]が到着したので、これを手本にjythonで書いていく。
を参考にして、step 04-aを。

ソース。jythonだとswing呼んだりしないといけない。
from javax.swing import JFrame
from processing.core import PApplet
class Sketch(PApplet):
def __init__(self):
pass
def setup(self):
self.size(200, 200)
def getField(self, name):
return self.class.superclass.getDeclaredField(name).get(self)
def draw(self):
self.rectMode(PApplet.CENTER)
self.colorMode(PApplet.HSB, 100)
self.background(99)
self.noStroke()
self.smooth()
self.fill(45, 60, 99)
self.rect(100, 100, 100, 100)
self.fill(45, 40, 99)
self.rect(100, 100, 60, 60)
self.fill(45, 20, 99)
self.rect(100, 100, 20, 20)
self.noFill()
self.strokeWeight(60)
self.stroke(80, 99, 99, 30)
self.ellipse(50, 50, 200, 200)
self.ellipse(150, 50, 200, 200)
self.ellipse(50, 150, 200, 200)
self.ellipse(150, 150, 200, 200)
def run(applet):
frame = JFrame(title="Processing",
resizable = 0,
defaultCloseOperation=JFrame.EXIT_ON_CLOSE)
frame.contentPane.add(applet)
applet.init()
frame.pack()
frame.visible = 1
if __name__ == '__main__':
run(Sketch())
video入力いじりたいからUSBカメラ買わなきゃ。