handlePolPolChange = {
const angleBefore = parseFloat(wavePolarization);
const angleAfter = parseFloat(polarizerPolarization);
const angleDiff = angleBefore - angleAfter;
const ampAfter = (Math.cos(angleDiff));
const angleForRGB = Math.abs(angleAfter/(Math.PI/2));
polarizerLines.rotation.x = angleAfter;
for (let wave of waveArrayNew) {
if (angleDiff === 1.57 || angleDiff + Math.PI/2 === 0) {
scene.remove(wave);
} else {
scene.add(wave);
wave.scale.set(1,ampAfter,1);
wave.rotation.x = angleAfter;
wave.material.color.setRGB(0.5,0.7,angleForRGB);
}
}
for (let shadow of shadowArrayNew) {
shadow.rotation.x = angleAfter;
shadow.scale.set(1,ampAfter,1);
shadow.material.color.setRGB(0.5,0.7,angleForRGB);
}
finalPlane.rotation.x = angleAfter;
finalPlaneBoundary.rotation.x = angleAfter;
finalPlaneBoundary.material.color.setRGB(0.5,0.7,angleForRGB);
}