new Camera()
The camera is defined by a position, orientation, and view frustum.
The orientation forms an orthonormal basis with a view, up and right = view x up unit vectors.
The viewing frustum is defined by 6 planes. Each plane is represented by a
The orientation forms an orthonormal basis with a view, up and right = view x up unit vectors.
The viewing frustum is defined by 6 planes. Each plane is represented by a
Cartesian4
object, where the x, y, and z components
define the unit vector normal to the plane, and the w component is the distance of the
plane from the origin/camera position.
Example:
// Create a camera looking down the negative z-axis, positioned at the origin,
// with a field of view of 60 degrees, and 1:1 aspect ratio.
var camera = new Cesium.Camera(scene);
camera.position = new Cesium.Cartesian3();
camera.direction = Cesium.Cartesian3.negate(Cesium.Cartesian3.UNIT_Z);
camera.up = Cesium.Cartesian3.clone(Cesium.Cartesian3.UNIT_Y);
camera.frustum.fovy = Cesium.Math.PI_OVER_THREE;
camera.frustum.near = 1.0;
camera.frustum.far = 2.0;
Demo:
Source:
Scene/Camera.js, line 74
Members
-
constrainedAxis :Cartesian3
-
If set, the camera will not be able to rotate past this axis in either direction.
-
Default Value:
undefined
Source: Scene/Camera.js, line 189 -
defaultLookAmount :Number
-
The default amount to rotate the camera when an argument is not provided to the look methods.
-
Default Value:
Math.PI / 60.0
Source: Scene/Camera.js, line 169 -
defaultMoveAmount :Number
-
The default amount to move the camera when an argument is not provided to the move methods.
-
Default Value:
100000.0;
Source: Scene/Camera.js, line 162 -
defaultRotateAmount :Number
-
The default amount to rotate the camera when an argument is not provided to the rotate methods.
-
Default Value:
Math.PI / 3600.0
Source: Scene/Camera.js, line 176 -
defaultZoomAmount :Number
-
The default amount to move the camera when an argument is not provided to the zoom methods.
-
Default Value:
100000.0;
Source: Scene/Camera.js, line 183 -
direction :Cartesian3
-
The view direction of the camera.Source: Scene/Camera.js, line 115
-
directionWC :Cartesian3
-
Gets the view direction of the camera in world coordinates.Source: Scene/Camera.js, line 576
-
frustum :Frustum
-
The region of space in view.
-
Default Value:
PerspectiveFrustum()
See:
Source: Scene/Camera.js, line 152 -
heading :Number
-
Gets or sets the camera heading in radians.Source: Scene/Camera.js, line 612
-
inverseTransform :Matrix4
-
Gets the inverse camera transform.
-
Default Value:
Matrix4.IDENTITY
Source: Scene/Camera.js, line 520 -
inverseViewMatrix :Matrix4
-
Gets the inverse view matrix.
See:
Source: Scene/Camera.js, line 552 -
maximumTranslateFactor :Number
-
The factor multiplied by the the map size used to determine where to clamp the camera position when translating across the surface. The default is 1.5. Only valid for 2D and Columbus view.
-
Default Value:
1.5
Source: Scene/Camera.js, line 196 -
maximumZoomFactor :Number
-
The factor multiplied by the the map size used to determine where to clamp the camera position when zooming out from the surface. The default is 2.5. Only valid for 2D.
-
Default Value:
2.5
Source: Scene/Camera.js, line 203 -
position :Cartesian3
-
The position of the camera.Source: Scene/Camera.js, line 104
-
positionWC :Cartesian3
-
Gets the position of the camera in world coordinates.Source: Scene/Camera.js, line 564
-
right :Cartesian3
-
The right direction of the camera.Source: Scene/Camera.js, line 138
-
rightWC :Cartesian3
-
Gets the right direction of the camera in world coordinates.Source: Scene/Camera.js, line 600
-
tilt :Number
-
Gets or sets the camera tilt in radiansSource: Scene/Camera.js, line 644
-
transform :Matrix4
-
Modifies the camera's reference frame. The inverse of this transformation is appended to the view matrix.
-
Default Value:
Matrix4.IDENTITY
See:
Source: Scene/Camera.js, line 90 -
up :Cartesian3
-
The up direction of the camera.Source: Scene/Camera.js, line 127
-
upWC :Cartesian3
-
Gets the up direction of the camera in world coordinates.Source: Scene/Camera.js, line 588
-
viewMatrix :Matrix4
-
Gets the view matrix.
See:
Source: Scene/Camera.js, line 536
Methods
-
cameraToWorldCoordinates(cartesian, result) → Cartesian4
-
Transform a vector or point from the camera's reference frame to world coordinates.
Name Type Description cartesian
Cartesian4 The vector or point to transform. result
Cartesian4 optional The object onto which to store the result. Returns:
The transformed vector or point.Source: Scene/Camera.js, line 814 -
cameraToWorldCoordinatesPoint(cartesian, result) → Cartesian3
-
Transform a point from the camera's reference frame to world coordinates.
Name Type Description cartesian
Cartesian3 The point to transform. result
Cartesian3 optional The object onto which to store the result. Returns:
The transformed point.Source: Scene/Camera.js, line 834 -
cameraToWorldCoordinatesVector(cartesian, result) → Cartesian3
-
Transform a vector from the camera's reference frame to world coordinates.
Name Type Description cartesian
Cartesian3 The vector to transform. result
Cartesian3 optional The object onto which to store the result. Returns:
The transformed vector.Source: Scene/Camera.js, line 854 -
clone() → Camera
-
Returns a duplicate of a Camera instance.
Returns:
A new copy of the Camera instance.Source: Scene/Camera.js, line 2062 -
createCorrectPositionAnimation(duration) → Object
-
Create an animation to move the map into view. This method is only valid for 2D and Columbus modes.
Name Type Description duration
Number The duration, in milliseconds, of the animation. Returns:
The animation or undefined if the scene mode is 3D or the map is already ion view.Throws:
-
DeveloperException : duration is required.
Source: Scene/Camera.js, line 2039 -
-
getMagnitude() → Number
-
Gets the magnitude of the camera position. In 3D, this is the vector magnitude. In 2D and Columbus view, this is the distance to the map.
Returns:
The magnitude of the position.Source: Scene/Camera.js, line 1375 -
getPickRay(windowPosition, result) → Object
-
Create a ray from the camera position through the pixel at
windowPosition
in world coordinates.Name Type Description windowPosition
Cartesian2 The x and y coordinates of a pixel. result
Ray optional The object onto which to store the result. Returns:
Returns theCartesian3
position and direction of the ray.Source: Scene/Camera.js, line 1880 -
getRectangleCameraCoordinates(rectangle, result) → Cartesian3
-
Get the camera position needed to view an rectangle on an ellipsoid or map
Name Type Description rectangle
Rectangle The rectangle to view. result
Cartesian3 optional The camera position needed to view the rectangle Returns:
The camera position needed to view the rectangleSource: Scene/Camera.js, line 1694 -
look(axis, angle)
-
Rotate each of the camera's orientation vectors around
axis
byangle
Name Type Description axis
Cartesian3 The axis to rotate around. angle
Number optional The angle, in radians, to rotate by. Defaults to defaultLookAmount
. -
lookAt(eye, target, up)
-
Sets the camera position and orientation with an eye position, target, and up vector. This method is not supported in 2D mode because there is only one direction to look.
Name Type Description eye
Cartesian3 The position of the camera. target
Cartesian3 The position to look at. up
Cartesian3 The up vector. Throws:
-
DeveloperError : lookAt is not supported while morphing.
Source: Scene/Camera.js, line 1459 -
-
lookDown(amount)
-
Rotates the camera around its right vector by amount, in radians, in the opposite direction of its up vector.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1057 -
lookLeft(amount)
-
Rotates the camera around its up vector by amount, in radians, in the opposite direction of its right vector.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1012 -
lookRight(amount)
-
Rotates the camera around its up vector by amount, in radians, in the direction of its right vector.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1027 -
lookUp(amount)
-
Rotates the camera around its right vector by amount, in radians, in the direction of its up vector.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1042 -
move(direction, amount)
-
Translates the camera's position by
amount
alongdirection
.Name Type Description direction
Cartesian3 The direction to move. amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
. -
moveBackward(amount)
-
Translates the camera's position by
amount
along the opposite direction of the camera's view vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 939 -
moveDown(amount)
-
Translates the camera's position by
amount
along the opposite direction of the camera's up vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 968 -
moveForward(amount)
-
Translates the camera's position by
amount
along the camera's view vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 924 -
moveLeft(amount)
-
Translates the camera's position by
amount
along the opposite direction of the camera's right vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 997 -
moveRight(amount)
-
Translates the camera's position by
amount
along the camera's right vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 982 -
moveUp(amount)
-
Translates the camera's position by
amount
along the camera's up vector.Name Type Description amount
Number optional The amount, in meters, to move. Defaults to defaultMoveAmount
.See:
Source: Scene/Camera.js, line 953 -
pickEllipsoid(windowPosition, ellipsoid, result) → Cartesian3
-
Pick an ellipsoid or map.
Name Type Default Description windowPosition
Cartesian2 The x and y coordinates of a pixel. ellipsoid
Ellipsoid Ellipsoid.WGS84
optional The ellipsoid to pick. result
Cartesian3 optional The object onto which to store the result. Returns:
If the ellipsoid or map was picked, returns the point on the surface of the ellipsoid or map in world coordinates. If the ellipsoid or map was not picked, returns undefined.Source: Scene/Camera.js, line 1792 -
rotate(axis, angle, transform)
-
Rotates the camera around
axis
byangle
. The distance of the camera's position to the center of the camera's reference frame remains the same.Name Type Description axis
Cartesian3 The axis to rotate around given in world coordinates. angle
Number optional The angle, in radians, to rotate by. Defaults to defaultRotateAmount
.transform
Matrix4 optional A transform to append to the camera transform before the rotation. Does not alter the camera's transform. Example:
// Rotate about a point on the earth. var center = ellipsoid.cartographicToCartesian(cartographic); var transform = Cesium.Matrix4.fromTranslation(center); camera.rotate(axis, angle, transform);
See:
Source: Scene/Camera.js, line 1165 -
rotateDown(angle, transform)
-
Rotates the camera around the center of the camera's reference frame by angle downwards.
Name Type Description angle
Number optional The angle, in radians, to rotate by. Defaults to defaultRotateAmount
.transform
Matrix4 optional A transform to append to the camera transform before the rotation. Does not alter the camera's transform. See:
Source: Scene/Camera.js, line 1195 -
rotateLeft(angle, transform)
-
Rotates the camera around the center of the camera's reference frame by angle to the left.
Name Type Description angle
Number optional The angle, in radians, to rotate by. Defaults to defaultRotateAmount
.transform
Matrix4 optional A transform to append to the camera transform before the rotation. Does not alter the camera's transform. See:
Source: Scene/Camera.js, line 1282 -
rotateRight(angle, transform)
-
Rotates the camera around the center of the camera's reference frame by angle to the right.
Name Type Description angle
Number optional The angle, in radians, to rotate by. Defaults to defaultRotateAmount
.transform
Matrix4 optional A transform to append to the camera transform before the rotation. Does not alter the camera's transform. See:
Source: Scene/Camera.js, line 1266 -
rotateUp(angle, transform)
-
Rotates the camera around the center of the camera's reference frame by angle upwards.
Name Type Description angle
Number optional The angle, in radians, to rotate by. Defaults to defaultRotateAmount
.transform
Matrix4 optional A transform to append to the camera transform before the rotation. Does not alter the camera's transform. See:
Source: Scene/Camera.js, line 1211 -
setPositionCartographic(cartographic)
-
Moves the camera to the provided cartographic position.
Name Type Description cartographic
Cartographic The new camera position. Source: Scene/Camera.js, line 1431 -
setTransform(transform)
-
Sets the camera's transform without changing the current view.
Name Type Description transform
Matrix4 The camera transform. Source: Scene/Camera.js, line 730 -
twistLeft(amount)
-
Rotate the camera counter-clockwise around its direction vector by amount, in radians.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1106 -
twistRight(amount)
-
Rotate the camera clockwise around its direction vector by amount, in radians.
Name Type Description amount
Number optional The amount, in radians, to rotate by. Defaults to defaultLookAmount
.See:
Source: Scene/Camera.js, line 1120 -
viewRectangle(rectangle, ellipsoid)
-
View an rectangle on an ellipsoid or map.
Name Type Default Description rectangle
Rectangle The rectangle to view. ellipsoid
Ellipsoid Ellipsoid.WGS84
optional The ellipsoid to view. Source: Scene/Camera.js, line 1720 -
worldToCameraCoordinates(cartesian, result) → Cartesian4
-
Transform a vector or point from world coordinates to the camera's reference frame.
Name Type Description cartesian
Cartesian4 The vector or point to transform. result
Cartesian4 optional The object onto which to store the result. Returns:
The transformed vector or point.Source: Scene/Camera.js, line 754 -
worldToCameraCoordinatesPoint(cartesian, result) → Cartesian3
-
Transform a point from world coordinates to the camera's reference frame.
Name Type Description cartesian
Cartesian3 The point to transform. result
Cartesian3 optional The object onto which to store the result. Returns:
The transformed point.Source: Scene/Camera.js, line 774 -
worldToCameraCoordinatesVector(cartesian, result) → Cartesian3
-
Transform a vector from world coordinates to the camera's reference frame.
Name Type Description cartesian
Cartesian3 The vector to transform. result
Cartesian3 optional The object onto which to store the result. Returns:
The transformed vector.Source: Scene/Camera.js, line 794 -
zoomIn(amount)
-
Zooms
amount
along the camera's view vector.Name Type Description amount
Number optional The amount to move. Defaults to defaultZoomAmount
.See:
Source: Scene/Camera.js, line 1339 -
zoomOut(amount)
-
Zooms
amount
along the opposite direction of the camera's view vector.Name Type Description amount
Number optional The amount to move. Defaults to defaultZoomAmount
.See:
Source: Scene/Camera.js, line 1358