|
|
@@ -622,7 +622,7 @@ export function RotateClockwise90(currentViewportId: string): void {
|
|
|
const viewport = cornerstone.getEnabledElementByViewportId(currentViewportId)
|
|
|
.viewport as cornerstone.StackViewport;
|
|
|
const camera = viewport.getCamera();
|
|
|
- // 计算新的旋转角度(当前角度 + 90度)
|
|
|
+ // 计算新的旋转角度(当前角度 - 90度)
|
|
|
const newRotation = (camera.rotation ?? 0) - 90;
|
|
|
|
|
|
// 但计算viewUp向量时,我们应该使用90度的弧度,而不是新角度的弧度!
|
|
|
@@ -631,11 +631,11 @@ export function RotateClockwise90(currentViewportId: string): void {
|
|
|
// 获取当前的viewUp向量
|
|
|
const currentViewUp = camera.viewUp || [0, 1, 0];
|
|
|
|
|
|
- // 计算旋转后的viewUp向量(这才是正确的相对旋转)
|
|
|
+ // 计算顺时针旋转90度的viewUp向量(与逆时针相反)
|
|
|
const newViewUp: [number, number, number] = [
|
|
|
- currentViewUp[0] * Math.cos(ninetyDegreesRadians) -
|
|
|
+ currentViewUp[0] * Math.cos(ninetyDegreesRadians) +
|
|
|
currentViewUp[1] * Math.sin(ninetyDegreesRadians),
|
|
|
- currentViewUp[0] * Math.sin(ninetyDegreesRadians) +
|
|
|
+ -currentViewUp[0] * Math.sin(ninetyDegreesRadians) +
|
|
|
currentViewUp[1] * Math.cos(ninetyDegreesRadians),
|
|
|
0,
|
|
|
];
|