Surface can reflect beam from lidar.

Reflectance Type example Effect When direction of light and viewpoint are the same
Lambertian unpolished chalk No change — still view-independent
Phong polished plastic or wood with a shiny coating Specular highlight is maximized
Blinn-Phong   Specular term maximized (via halfway vector)
Cook-Torrance brushed metal, skin, or real-world materials under realistic lighting Strong specular peak (especially at oblique angles)

Here is a picture for reflectance models. Reflectance Models. A python script to generate this image is provided below.

import numpy as np
import matplotlib.pyplot as plt

# Define angles from 0 to 90 degrees (converted to radians)
theta_deg = np.linspace(0, 90, 500)
theta_rad = np.radians(theta_deg)

# Lambertian: Intensity ~ cos(theta)
lambertian = np.cos(theta_rad)

# Phong: Specular ~ cos(theta)^n, assume n = 20 for shiny surface
n_phong = 20
phong_specular = np.cos(theta_rad) ** n_phong

# Blinn-Phong: also uses cos(theta)^n; here we approximate similar behavior
# This assumes halfway vector H close to the normal; use same exponent for comparison
blinn_phong_specular = np.cos(theta_rad) ** n_phong

# Cook-Torrance (simplified model): peak at grazing angles
# We'll model a simplified specular peak near 0 degrees (oblique incidence)
cook_torrance = np.exp(-((theta_rad - 0) / 0.2)**2)  # Gaussian centered at 0 rad

# Plot all
plt.figure(figsize=(10, 6))
plt.plot(theta_deg, lambertian, label='Lambertian (Diffuse)', linewidth=2)
plt.plot(theta_deg, phong_specular, label='Phong (n=20)', linestyle='--', linewidth=2)
plt.plot(theta_deg, blinn_phong_specular, label='Blinn-Phong (n=20)', linestyle='-.', linewidth=2)
plt.plot(theta_deg, cook_torrance, label='Cook-Torrance (simplified)', linestyle=':', linewidth=2)

plt.xlabel('Angle between Light/View Direction and Surface Normal (degrees)')
plt.ylabel('Relative Reflected Intensity')
plt.title('Reflectance Models: Lambertian vs. Non-Lambertian')
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()