本文整理汇总了Python中dispatcher.Dispatcher.welcome方法的典型用法代码示例。如果您正苦于以下问题:Python Dispatcher.welcome方法的具体用法?Python Dispatcher.welcome怎么用?Python Dispatcher.welcome使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类dispatcher.Dispatcher
的用法示例。
在下文中一共展示了Dispatcher.welcome方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: Dispatcher
# 需要导入模块: from dispatcher import Dispatcher [as 别名]
# 或者: from dispatcher.Dispatcher import welcome [as 别名]
scene.add_object(Sphere(10, x=50, y=30, scale_z=1.5, color=Color(r=255)))
scene.add_object(Sphere(3, z=20, scale_x=5, color=Color(g=255)))
scene.add_object(Sphere(5, color=Color(r=255, b=255)).stretch('x', angle_y=60))
scene.add_object(Plane(z=-10, color=Color(255, 255, 255)))
scene.add_object(Plane(z=80, color=Color(255, 255, 255)))
scene.add_object(Plane(x=-80, rot_y=90, color=Color(b=255)))
scene.add_object(Plane(x=80, rot_y=90, color=Color(b=255)))
scene.add_object(Plane(y=100, rot_x=90, color=Color(r=255, g=255)))
scene.add_object(Cylinder(5, x=-80, y=100, color=Color(b=255)))
scene.add_object(Cylinder(5, x=80, y=100, color=Color(b=255)))
scene.add_object(Cone(10, color=Color(r=128, g=128, b=128)))
nb_lines_chunk = 50
dispatch = Dispatcher(61385, set(i for i in range(height) if i % nb_lines_chunk == 0), key_fmt='i')
dispatch.welcome = bytes(scene)
data = {}
@dispatch.result
def result(ys, chunk):
data[ys] = chunk
# Lumière: ensemble de 2 composants:
# - méthode C de calcul de la couleur en un point d'un objet
# - méthode I de calcul d'intensité en un point (renvoie un nombre positif)
# Ainsi, un objet O de la scène sera éclairé par diverses sources lumineuses L1, L2 et L3 par exemple
# Pour chaque lumière k, on calcule Ck = Lk.C(O) et Ik = Lk.I(D, P, N)
# (D, P et N sont respectivement le vecteur de visée, le point d'impact et la normale en ce point)
# Puis on calcule C = SUM(Ck * Ik for each k) = (C1 * I1) + (C2 * I2) + (C3 * I3)
# Enfin, chaque composante de C est recalculée proprotionnellement de façon à ce qu'aucune ne dépasse 255