本文整理汇总了Python中Helper.normalize方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.normalize方法的具体用法?Python Helper.normalize怎么用?Python Helper.normalize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Helper
的用法示例。
在下文中一共展示了Helper.normalize方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: colorAt
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import normalize [as 别名]
def colorAt(self, ray, t, objectlist):
sp = ray.pointAtParameter(t) # Schnittpunkt am Objekt
d = ray.direction
n = self.normalAt(sp)
Ca = np.array(self.color)
c_out = 0
for light_source in helper.light_sources:
light = helper.normalize(sp - light_source) # Vektor vom Licht zum Schnittpunkt
lr = light - 2 * np.dot(n, light) * n
lightV = helper.normalize(light_source - sp)
c_ambient = Ca * helper.ka
c_diffus = helper.Cin * helper.kd * np.dot(lightV, n)
c_spec = helper.Cin * helper.ks * math.pow(np.dot(lr, d), 32)
c_tmp = c_ambient + c_diffus + c_spec
newRay = Ray(sp, light_source - sp)
for o in objectlist:
if o is self:
pass
else:
x = o.intersectionParameter(newRay)
if x and x > 0:
c_tmp *= 0.5
break
c_out += c_tmp
return c_out
示例2: computeReflectedRay
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import normalize [as 别名]
def computeReflectedRay(self, hitPointData):
ray = hitPointData[1]
o = hitPointData[0]
sp = ray.pointAtParameter(hitPointData[2])
light = helper.normalize(sp - ray.direction)
n = o.normalAt(sp)
lr = light - 2 * np.dot(n, light) * n
return Ray(sp, lr)
示例3: colorAt
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import normalize [as 别名]
def colorAt(self, ray, t, objectlist):
sp = ray.pointAtParameter(t) # Schnittpunkt am Objekt
d = ray.direction
c_out = 0
for light_source in helper.light_sources:
light = helper.normalize(sp - light_source) # Vektor vom Licht zum Schnittpunkt
n = self.normalAt(sp) # Normale des Objekts am Schnittpunkt sp
lr = light - 2 * np.dot(n, light) * n # Ausfallwinkel
Ca = np.array(self.color)
c_ambient = Ca * helper.ka
c_diffus = helper.Cin * helper.kd * np.dot(light, n)
c_spec = helper.Cin * helper.ks * math.pow(np.dot(lr, -1 * d), 32)
c_tmp = c_ambient + c_diffus + c_spec
newRay = Ray(sp, light_source - sp)
for o in objectlist:
x = o.intersectionParameter(newRay)
if x:
c_tmp *= 0.5
break
c_out += c_tmp
return c_out