|
|
@ -60,11 +60,11 @@ export class SunLightStore
|
|
|
|
this.sunLightColor = `#${light.Color.getHexString()}`;
|
|
|
|
this.sunLightColor = `#${light.Color.getHexString()}`;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let rotateV = light.Position.sub(light.Target).normalize();
|
|
|
|
let rotateV = light.Position.sub(light.Target).normalize();
|
|
|
|
let theta = Math.atan2(rotateV.y, rotateV.x) * MathUtils.RAD2DEG;//旋转
|
|
|
|
let theta = Math.atan2(rotateV.y, rotateV.x) * MathUtils.RAD2DEG;//旋转
|
|
|
|
if (theta < 0) theta += 360;
|
|
|
|
if (theta < 0) theta += 360;
|
|
|
|
let phi = Math.asin(rotateV.z) * MathUtils.RAD2DEG;//抬头
|
|
|
|
let phi = Math.asin(rotateV.z) * MathUtils.RAD2DEG;//抬头
|
|
|
|
|
|
|
|
if (phi < 0) phi = 180 - phi;
|
|
|
|
this.sunLightElevationDeg = Math.round(phi);
|
|
|
|
this.sunLightElevationDeg = Math.round(phi);
|
|
|
|
this.sunLightRotateDeg = Math.round(theta);
|
|
|
|
this.sunLightRotateDeg = Math.round(theta);
|
|
|
|
}
|
|
|
|
}
|
|
|
|