关于作者

用户名:牡蛎
笔名:冰冻牡蛎
地区:
行业:其他

日历  

快速登录

+ 用户名:
+ 密 码:

在线留言



Blender

脚本语言

教学制作软件

版权申明

凡欲转载、部分转载、引用我原创的文章,请标明作者是牡蛎,同时给出原始连接;可以部分转载、引用我的文章,前提是这不会引起他人误解我的原意。未经书面允许,我的文章、文章部分不可以用于商业用途(含传统出版物、需要积分或者虚拟货币才可以浏览的网上内容)。如果你不同意,请勿转载、部分转载、引用。谢谢合作。

访问统计:
文章个数:234
评论个数:363
留言条数:6




Powered by BlogDriver 2.1

牡蛎的混沌世界

 

开源CG软件,特别是Blender 还有其他杂七杂八的东西

文章

●Python悬疑  (作者置顶)
真是烦人,碰到一些问题,解决不了,几个mail list或者bbs上都提出了问题,但是就是无人可以解决,放出来看看有没有奇迹发生吧。我使用win2k、py24和25

1.用wxpython编写一个简单网页浏览器,其实也不简单,因为——如何捕获那些新弹出的页面(newwindow2)事件,并且让新页面可以显式在当前的frame中或者新的frame中——而绝不是在系统默认的浏览器中弹出

2.http://osdir.com/ml/python.ctypes/2005-09/msg00024.html提出一种跨平台的、返回FILE指针的方案,
import sys
import ctypes
class FILE(ctypes.Structure):
pass

FILE_P = ctypes.POINTER(FILE)

PyFile_AsFile = ctypes.pythonapi.PyFile_AsFile
PyFile_AsFile.argtypes = [ctypes.py_object]
PyFile_AsFile.restype = FILE_P

stdout_file = PyFile_AsFile(sys.stdout)

fputs=ctypes.cdll.msvcrt.fputs
fputs.argtypes=[ctypes.c_char_p, FILE_P]
fputs.restype=ctypes.c_int
fputs("Hello, there.\n", stdout_file)
但是这个代码只会出错
H:\sap-24>h:\python25\python pyfile2.py
Traceback (most recent call last):
File "pyfile2.py", line 17, in <module>
fputs("Hello, there.\n", stdout_file)
WindowsError: exception: access violation writing 0x00000010

3.我打算用ctypes+wx.net的wx-c.dll实现一个较小的GUI方案(也就是,我知道wxPython之类的,不用麻烦各位再推荐),这里的代码虽然可以显示frame,但是总是报错说“unexpected parameter 'mini.py'”,于是不得不点击“确定”按钮退出。其中mini.py是我的程序的名字。wx-c.dll取自http://prdownloads.sourceforge.net/wxnet/wx.NET-0.7.2-Windows-Build.zip?download ——是的,这是一个纯C的wxWidget接口,不是C++也不是.NET的,wx.net以及www.freebasic.net均使用它开发GUI程序
from ctypes import *

wx=CDLL('wx-c.dll')

class _wxApp(Structure):pass
PTR_wxApp=POINTER(_wxApp)

wxApp=wx.wxApp_ctor
wxApp.restype=PTR_wxApp

wxApp_RegisterVirtual=wx.wxApp_RegisterVirtual
wxApp_RegisterVirtual.restype=None

_wxApp_Run=wx.wxApp_Run
_wxApp_Run.restype=None
def wxApp_Run():
argc=0
argv=''
_wxApp_Run(argc, argv)

class _wxFrame(Structure):pass
PTR_wxFrame=POINTER(_wxFrame)

wxFrame=wx.wxFrame_ctor
wxFrame.restype=PTR_wxFrame

class _wxFrame(Structure): pass
PTR_wxFrame=POINTER(_wxFrame)
wxFrame_Create=wx.wxFrame_Create
wxFrame_Create.restype=c_int

class _wxSize(Structure): pass
PTR_wxSize=POINTER(_wxSize)

wxSize=wx.wxSize_ctor
wxSize.restype=PTR_wxSize

wxWindow_Show=wx.wxWindow_Show
wxWindow_Show.restype=None

wxApp_OnInit=wx.wxApp_OnInit
wxApp_OnInit.restype=c_int

class _wxBoxSizer(Structure):pass
PTR_wxBoxSizer=POINTER(_wxBoxSizer)
wxBoxSizer=wx.wxBoxSizer_ctor
wxBoxSizer.restype=PTR_wxBoxSizer

wxWindow_SetAutoLayout=wx.wxWindow_SetAutoLayout
wxWindow_SetAutoLayout.restype=None

wxWindow_SetSizerAndFit=wx.wxWindow_SetSizerAndFit
wxWindow_SetSizerAndFit.restype=None

def Callback(restype=None, *optional):
return CFUNCTYPE(restype, *optional)

wxDEFAULT_FRAME_STYLE =(0x0800|0x0040|0x0400|0x0200|0x20000000|0x00400000)

global app, sizer

@Callback(c_int)
def App_OnInit( ):
global app, sizer
frame = wxFrame( )
wxFrame_Create( frame, 0, 1,
"Pure python Wxwidget",
wxSize( -1, -1 ), wxSize( -1, -1 ),
wxDEFAULT_FRAME_STYLE , "frame")
wxWindow_Show( frame, 1 )
return wxApp_OnInit( app )

@Callback(c_int)
def App_OnExit():
return wxApp_OnExit( app )

app = wxApp( )
wxApp_RegisterVirtual( app, App_OnInit, App_OnExit )
wxApp_Run()

- 作者: 冰冻牡蛎 2008年01月7日, 星期一 21:53  回复(0) |  引用(0) 加入博采

●版权申明暨敬告文抄公  (作者置顶)
  1. 凡欲转载、部分转载、引用我原创的文章,请标明作者是牡蛎,同时给出文章原始连接;可以部分转载、引用我的文章,前提是这不会引起他人误解我的原意。
  2. 未经书面允许,我的文章、文章部分不可以用于商业用途(含传统出版物、需要积分或者虚拟货币才可以浏览的网上内容)。
  3. 禁止这样的网站转载我的任何文章,即该网站会说“本文章版权归原始作者及我网站所有”这样的话——我的文章的版权只属于我自己,和转载网站没有任何关系!

如果你不同意,请勿转载、部分转载、引用。谢谢合作。

- 作者: 冰冻牡蛎 2007年05月25日, 星期五 13:03  回复(0) |  引用(0) 加入博采

已锁定  (作者置顶)
此日志的浏览权限已被作者锁定,请同作者联系,发送短消息,如果你的身份符合作者的要求,点击此处可以进行浏览

- 作者: 冰冻牡蛎 2007年01月27日, 星期六 11:12  回复(0) |  引用(0) 加入博采

●它们

我一直想提议:对于卖假药、假食品的,不要罚它们了,它们赚点钱不容易。我们应该善待它们,派人监护、让它们一天三餐全以它们的产品为食,所谓自产自销。

2008年5月14日,银监会:银行不得向赈灾捐款收取手续费
http://news.qq.com/a/20080514/004971.htm
银监会新闻发言人廖岷今天表示,银监会已要求各银行业金融机构开辟抗震救灾捐款快速通道,特事特办,提高工作效率,精简工作环节,不得以任何形式向境内外汇往灾区的捐款收取手续费,确保各项捐款迅速汇往灾区。同时,注意仔细核实专用账号的真实性和准确性,保障群众资金安全。

其实你银行也不是什么好鸟,这么多天现在才有反应,你和上面的发国难财的骗子没有很多不同啊。更进一步,银行为什么不把这个作为一个规定颁布——你的发言只针对这次地震捐款——像这种慈善捐款,平时就免除手续费?
另外这种捐助,为什么不反馈回工资发放部门,并强制在计算个税的时候扣除?
中国想做慈善不容易啊

>

发信人: imxx (imxx), 信区: HitTopic
标  题: :CCTV台记者许波竟然在直播时汶川地震灾区进入帐篷
发信站: 两全其美网 (Mon May 19 16:23:29 2008), 本站(lqqm.net)

稍有点医学常识的人都知道,手术室是严格要求无菌的,特别是重灾区的帐篷手术室。
CCTV台记者许波在直播时竟然进入手术室采访,消耗掉一件无菌手术衣不说,还无知的强行对即将要进行手术的已消毒完毕的医生采访,将其手术衣污染,医生怒不可遏,喊道:“你把我搞脏了!”他不立即退出,还是继续问医生已躺在手术台上麻醉好的病人的伤情如何,耽误医生重新消毒的时间,以及病人的手术时间,CCTV怎么会养了这样的记者。强烈要求
CCTV开除这个拿人的生命当儿戏的家伙

http://v.youku.com/v_show/id_ca00XMjc4OTk3MjQ=.html

- 作者: 冰冻牡蛎 2008年05月14日, 星期三 13:08  回复(0) |  引用(0) 加入博采

●又是荠菜花开时(转载)

http://news.xinhuanet.com/book/2005-04/22/content_2862789.htm

“城中桃李愁风雨,春在溪头荠菜花。”辛稼轩在这里既是抒情,又是写实,荠菜的生命力确实超乎一般人的想象。

    我的童年是在江南广阔的田野里度过的,那里是我的活动室。这个活动室是现在幼儿园的小朋友们所无法想象的。那可真是个激动人心的世界,蕴藏着无穷无尽的乐趣。无论是春夏,还是秋冬,那里都有许多东西令我兴奋激动,其中就有荠菜。

    兴奋激动的理由,主要不在她的美味,而在于寻找她的过程。荠菜善变,不仅颜色变,形状也会变。长在没有太多杂草的地方,她是匍匐在地上的,叶子呈锯齿状,有时候那锯齿还很大,整片叶子看上去像从叶子中间的茎上又生出许多瘦长的叶子来,而且颜色很深,灰紫色,不仔细找,根本发现不了。如果长在菠菜地里,她就往上长,叶子几乎没有齿,而且颜色碧绿,和菠菜的模样十分相似。如果周围有些浅浅的、灰绿色的草,她既不匍匐着,也不高高站着,颜色也就变成灰绿,叶子有浅齿,和周围的草一样,叶表一层细细的茸毛,这就又和采杂草打成一片了。所以,每找到一棵,都是一次胜利。有时候,第一遍没有发现,但有些疑惑,一回头,突然发现一个肥大的家伙正趴在那里呢。这时候,会感觉胸腔里那颗心正激动得怦怦直跳。这不像是在干活,而像捉迷藏,甚至比捉迷藏还好玩,谁不愿意呢?五六岁的时候,如果让我看守晒在场上的稻谷,驱赶麻雀和鸡,我是不愿意的,太乏味了。如果母亲说:“海度啊,去挑点荠菜来,晚上包团子吃”,我就兴高采烈,拿了篮子雀跃而去。

    荠菜这样善于伪装,令她躲过了多少劫难,我们无法知道。是不是专门对付人类的,我们也无法知道。反正,她因此成了植物世界中无处不在的一员。我没有料到,她居然能散布到澳大利亚这块孤立的大陆上。由于孤零零地藏在南半球太平洋和印度洋之间上百万年,澳洲大陆几乎没有其他大陆交流物种。它有一百多种有袋类动物,其他大陆没有。它有漫山遍野的桉树,其他大陆也没有。美洲、欧洲、亚洲、非洲大陆上,现在也有了部分澳洲特有的动植物,都是英国人十八世纪末发现澳洲后从那里引进的。同样,其他大陆上的东西,澳洲也没有,如豺狼虎豹、牛马猪羊,如眼下北京正盛开着的玉兰,以及茶花桂花等等。

    因为从小养成了习惯,直到现在,我走到哪里都会无意识地在地上察看,像个老贼。有一天,我和老伴在堪培拉公共绿地里的小径上散步,居然发现了荠菜。真是他乡遇故知,亲切极了。澳大利亚人不知道荠菜可以吃,所以到处都是,而且都长得很富态,像满大街走着的肥硕的澳大利亚妇女。一个地方,如果没有,就一棵都没有,如果有,就是一大片。你根本不需要寻找,只要蹲下去,左采右挑,五分钟,就够吃一顿的了。回家,或凉拌,或素炒,或做馅,都清香新鲜。嘴里吃着,享受着,心里还想:是什么人无意之间把荠菜籽带到这里来的呢?是偶然被海风刮来的打鱼人?是长途飞行的鸟?还是四万年前从马来半岛一路漂泊来的土著黑人?

    我国人吃荠菜已经有很长的历史了。《诗经》里有“甘之如荠”之句,可见起码在春秋战国时期,古人就知道荠菜味道之美了。但是,我们其实并不了解她。历代的中国人只知道春天有荠菜。唐代,人们用荠菜做馅包春饼。现在,北方人用荠菜包春卷。荠菜被称作春菜。就是稼轩公也是把荠菜花当作春天的真正使者的。但据我在堪培拉观察,荠菜其实对气温的要求很低,一年四季都可以生长的。条件是要有水。

    荠菜的繁殖能力也惊人。一棵荠菜,从根部分蘖,可以分出三四个头或者六七个头来,每一个头都有一根花茎从各自的菜心里挺出来,可以长到尺把高。每一根花茎又可以分出许许多多叉来,每一根叉都能开花。花茎是一边开花一边往上长,下面的结籽了,上面的正开着花。花细小,白色,无味。也许有微弱的气味,只是人闻不到罢了,否则不会有小虫子在花间飞舞。花籽极细小,色金黄,像煮熟了的鲫鱼籽。

    我撸了一些籽,撒在自家院子的菜地里,事前翻地、施肥,事后天天浇水,我天天看,日日盼,期望着绿叶满畦。可她让我失望了,只稀稀拉拉地长了几棵,而且很不精神。我只得放弃,种别的了。当我忘了她们的时候,却在土埂上发现有那么三两棵,长得虎头虎脑。原来,荠菜对土质没有什么要求,而适应了贫瘠和坚硬。一粒籽掉在没有翻过的土地表面,和灰尘混在一起,随遇而安。一有了水,她立刻发芽,生根,在当地立住脚。然后,她用力把根刺向坚硬如铁的、贫瘠的土地里去,可以刺两三寸深。经过了与恶劣环境的这样一番艰苦搏斗,她体内的营养物质才能聚集得充分和全面,叶子才能长得丰满可爱。我因此慨叹,万物各有性,适性则存,逆性则亡。我呵护过分,逆了她的性了。然而天地之间,被逆性的呵护毁坏了的,又岂止荠菜一物乎?

    荠菜还是一味药。我曾在伊朗王宫的院子里发现过荠菜,和当地人交谈,他们说他们不吃这种草,但她的籽有药用价值,产妇把它拌在奶里,喂婴儿,可以去婴儿胃火,长大了不得胃病。我国古代药书上说,荠菜治水肿,我未曾实验过。南方民俗,每逢农历三月初三,是上巳之日,家家户户都要将荠菜花置于灶头。据说这样一来,灶上可以一年没有蚂蚁。许多古代民风民俗随着现代化的脚步消失了,到我童年时,家乡就已经没有人记得上巳日了。

    又是烟花三月、荠菜开花的时候了,不知道江南的孩子还能否认识荠菜,也不知道被春雨浇醒的田野里是否还有挑荠菜的妇女、孩子。

- 作者: 冰冻牡蛎 2008年03月27日, 星期四 22:06  回复(0) |  引用(0) 加入博采

●人类区别与动物的本事:幽默

news.qq.com/a/20080324/000414.htm
湖南林业厅称平江华南虎系记者与马戏团作假."记者吴华伙同安徽马戏团老板,想拍老虎出名,于是3月19日晚把老虎拖到石牛寨,拍完之后,将老虎送回原处。"

news.sina.com.cn/c/2008-03-24/030415208966.shtml
建设部长首谈房价:前两年暴涨不正常
(新上任的住房和城乡建设部部长)“姜伟新说,比如,西方发达国家的一个大学毕业生也要工作几十年以后才能够买一套房,我们为什么一毕业就要买一套房?”

- 作者: 冰冻牡蛎 2008年03月24日, 星期一 15:13  回复(0) |  引用(0) 加入博采

●关注两会

国资委副主任王瑞祥:电信行业不存在垄断
http://news.qq.com/a/20080307/000554.htm

北京铁路局副局长:票价过低致春运一票难求
http://news.qq.com/a/20080307/000528.htm

马凯称目前价格仍属结构性上涨 与通胀不同
http://news.qq.com/a/20080306/002448.htm

马凯谈涨价合理性:工资涨得更多
http://news.qq.com/a/20080306/002345.htm

温家宝:多渠道帮助中等收入家庭解决住房问题
http://news.qq.com/a/20080305/002196.htm

女富豪委员张茵3条提案被指仅代表自身利益
http://news.qq.com/a/20080306/001714.htm

陕西籍政协委员:不要追究“虎照”结果了
http://news.qq.com/a/20080306/000467.htm

政协委员穆麒茹称“钉子户”导致房价上涨
http://news.qq.com/a/20080305/000174.htm

中国工程院院士、中国中药协会副会长李大鹏表示"中医讲外语才能国际化"
http://news.qq.com/a/20080307/000967.htm

工行重庆分行行长称许霆案应维持原判(无期)
http://news.qq.com/a/20080310/000052.htm

“公安部一直都在积极推动这个事(户籍改革),并不像有些人想象的是在拖延。 ”
http://news.qq.com/a/20080310/000246.htm

卫生部回应医改争论时称VIP病房恶化医患关系
http://news.qq.com/a/20080309/000049.htm

阮成发市长:我来去年武汉商品房的均价你知道是多少吗?4518.17元,这是每平方。你们可以跟北京的房价比一比。这个价格在十九个副省级以上城市排在第十三位,但我们当年的增幅水平比较高,增幅在24.7%,增幅水平在全国十九个城市里面是第九位,这也是我们面临的问题。从去年十一月份开始,就出现了涨幅的下降和价格下降。当天我们对整个房市采取的措施,按照温家宝总理在报告里面提出的,重点发展面向中低收入家庭的住房。
http://news.qq.com/zt/2008/qglh2008/topic_html/wuhan.htm

吉林副省长:我国不存在上学难上学贵问题
http://news.qq.com/a/20080310/003372.htm

清华校长担忧教师买不起房(不得不说,关注青年教师的人太少了)
http://news.sina.com.cn/c/2008-03-06/022713525681s.shtml

- 作者: 冰冻牡蛎 2008年03月7日, 星期五 10:08  回复(0) |  引用(0) 加入博采

●独裁的GvR

有朋友提到如下两个程序的表现不一,于是我提交了一个bug(http://bugs.python.org/issue1888)。很快得到了GvR的答复,很显然,他的答复只是从一个python开发者的角度进行的;完全忽略python语法的一致性、考验大家对英语的理解(下面的yield我可以理解啊)。不过,也只好记着小心使用了,谁叫咱不会开发自己的语言呢。

#a.py
def run():
    if 1==2:                # note, it always False
        global a
    a=1

run()
a

#b.py
def run():
      a=1

run()
a

GvR的答复

This isn't going to change. 'global' is one of those rare pieces of
syntax that are not executed by the interpreter but detected by the parser.

Note that there are other things like this, e.g. the presence of 'yield'
in a function makes it a generator.

- 作者: 冰冻牡蛎 2008年01月22日, 星期二 17:19  回复(0) |  引用(0) 加入博采

●pyharu(libharu,PDF输出库)接口2.0.8发布

支持所有函数、提供了所有与C源代码例子对应的演示

讨论、下载,请到http://groups.google.com/group/pythoncia

- 作者: 冰冻牡蛎 2008年01月19日, 星期六 20:53  回复(0) |  引用(0) 加入博采

●pyRMChart--图表软件RMChart接口--­0.0.1发布
使用汉字,没问题   同时有四个区域
把RMChart嵌入Tkinter   把RMChart嵌入wxPython
首先提问:有别的免费的或者python lib,可以创建现代的、漂亮的图表吗?
  因为是图表,所以matplotlib不是此类
  因为是现代的漂亮的,所以http://home.gna.org/pychart/http://graphite.sourceforge.net/ 不合适----我觉得它们不漂亮,而且提供的图表的样式太少
  还有,我不喜欢JAVA或者.NET的程序

接着正题:
1. 这是啥?
  pyRMChart是DLL版本的RMChart(http://rmchart.com)的python(http://www.python.org)接口。而RMChart是一个免费、小巧的绘制漂亮的图表(饼图、柱状图、面包圈图等等)的软件。

2. 需要啥?
    Python和ctypes(python 2.5及以上已经包含)

3. 怎安装?
  a) 首先安装RMChart,确保它可以正常使用。win2k/me/98系统可能需要再安装一个gdiplus.dll
  b) 把pyrmchart目录和它下面的所有东西拷贝到某个目录下,这个目录要在python的sys.path中,比如python\Lib\site-packages\
  c) 可以把rmchart.dll和gdiplus.dll拷贝到你的PATH环境变量所示的某个目录下,或者干脆放在pyrmchart中

4. 咋用哩?
  读rmchart.chm吧,说的很详细了
  我提供了很多例子可供参考,它们都在pyrmchart\demo中。多数的例子是和RMChart的*.rmc文件直接对应的。有些例子需要读取完整版的RMChart提供的csv/dat/rmc文件,请自己确认这些Python程序当中出现的路径

5. 我怎么按引用传递参数?
  如果它是一个字符串,直接使用Python的字符串就行了

  如果它是简单的数据类型,并且函数不会修改它。目前只有一个例子,那就是RMC_AddDataAxis函数的nLabelAlignment,只需要传递0~4这5个数字就行了(或者使用"伪"常量
RMC_TEXTCENTER、RMC_TEXTLEFT、RMC_TEXTRIGHT、RMC_TEXTDOWNWARD和
RMC_TEXTUPWARD)。

  如果是一个自定义的类型的数据,而函数不会修改它,例如RMC_CreateChartI的T参数,是tRMC_CHART类型的,请参考"demo_exploding pie tru info.py"

  如果它是一个数字的数组,比如RMC_AddBarSeries的nFirstDataValue,首先将这些数字的列表或者元组赋值给给某个变量,然后把变量名传递给nFirstDataValue(请参考"demo_simplebar.py")。在RMChart中,这个参数紧跟着的是一个表示数组长度的参数nDataValuesCount
      如果nDataValuesCount是[0, None]之一,那么函数使用nFirstDataValue的长度
      如果nDataValuesCount小于len(nFirstDataValue),那么使用nDataValuesCount
      如果nDataValuesCount大于len(nFirstDataValue),那么使用
len(nFirstDataValue)
      不过呢,因为nDataValuesCount有缺省值0,多以通常根本就不需要去管它,函数调用时都不要写出来

  其他的例子,有3种方法,请参考"demo_misc&get.py"的RMC_GetChartSizeFromFile部分

6. Buggy
  [gui demo]的例子应该是有bug的,但是他们应该是由于我不熟悉GUI编程而导致的。如果您可以去除这些bug或者提供更好的GUI的例子,请和我联系
  如果有其他bug,当然也是和我联系

7. 版权
  Python版权,同时也加上"提醒版权",也就是说,可以自由使用这个模块----即便是在商业软件里面,但是在软件的手册中必须说明使用了
pyrmchart(http://pyrmchart.googlepages.com/)

8. 联系方式
  看这个模块的人,没有不懂Python的吧?
  print 'x\x9c\xcbI-(\xc9\xd7+\xa8,\xc9\xc8\xcfsH\xcfM\xcc\xcc\xd1K\xce
\xcf\x05\x00ep\x08\xac'.decode('zip')

  pyrmchart主页
  http://pyrmchart.googlepages.com/

- 作者: 冰冻牡蛎 2007年11月28日, 星期三 15:07  回复(3) |  引用(0) 加入博采