2011年5月27日星期五

Doughnut

正確學名是Torus,是一個表面兼具正曲率(外圓)和負曲率(內圓)的manifold。要製作一個doughnut,材料不需麵粉和砂糖,只要有mpmathmatplotlib就得。然後如下:

import mpmath as mp

if __name__ == '__main__':
    r, R = 1, 2.5
    f = lambda u, v: ((R+r*mp.cos(v))*mp.cos(u), (R+r*mp.cos(v))*mp.sin(u), r*mp.sin(v))
    mp.splot(f, [0, 2*mp.pi], [0, 2*mp.pi])

r和R分別是minor radius和major radius,lambda function來自Wikipedia,製成品如下:


沒有留言:

發佈留言