Blinn-Phong 光照模型 Demo (Python)
2022/1/9 22:33:39
本文主要是介绍Blinn-Phong 光照模型 Demo (Python),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import numpy as np from matplotlib import pyplot as plt for _i in range(4): for _j in range(4): a = 100 mid = a//2 img_w = a img_h = a r = a * 0.4 img = [[0 for j in range(img_w)] for i in range(img_h)] l = np.array([-1., 1., 1.]) l /= np.linalg.norm(l, ord=2) e = np.array([0, 0, 1]) diff = 0.3 spec = _i * 0.2 spow = _j * _j + 1 ambi = 0.1 for i in range(img_h): for j in range(img_w): x = (j-mid) / r y = -(i-mid) / r if x*x+y*y < 1: z = (1-x**2-y**2)**0.5 n = np.array([x, y, z]) h = l+e h /= np.linalg.norm(h, ord=2) c = ambi + diff * max(0, np.dot(n, l)) + \ spec * (max(0, np.dot(n, h)) ** spow) img[i][j] = c plt.subplot(4,4,_i*4+_j+1) plt.imshow(img, cmap='gray', vmin = 0, vmax = 1) plt.show()
这篇关于Blinn-Phong 光照模型 Demo (Python)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python