Skip to content

Instantly share code, notes, and snippets.

@maikuru
Created June 22, 2015 22:03
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maikuru/661e89d12851dfa26538 to your computer and use it in GitHub Desktop.
Save maikuru/661e89d12851dfa26538 to your computer and use it in GitHub Desktop.
Cesium Fun with Field of Views
<div id="cesiumContainer" class="fullSize"><div>
<div id="loadingOverlay"><h1>Loading...</h1></div>
<div id="toolbar">
<label>Camera FoV: <input id="cameraFoV" readonly type="number" min="15" max="165" value="60"/></label>
<button type="button" class="cesium-button" id="toggleBtn">Toggle Random FoV</button>
</div>
//Set the random seed for reproducible random Angles.
Cesium.Math.setRandomNumberSeed(1234);
var viewer = new Cesium.Viewer('cesiumContainer');
var camera = viewer.camera;
var hertz = 1.5; //1500 milliseconds
var interval;
function randomFoV() {
// for sanity keep bewteen 15 and 165
var angle = Math.floor(Cesium.Math.nextRandomNumber() * 151) + 15;
camera.frustum.fov = Cesium.Math.toRadians(angle);
document.getElementById("cameraFoV").value = angle;
}
document.getElementById("toggleBtn").onclick = function() {
if (interval) {
interval = clearInterval(interval);
} else {
interval = setInterval(randomFoV, hertz * 1000);
}
};
<script src="http://cesiumjs.org/Cesium/Build/Cesium/cesium.js"></script>
#toolbar {
z-index: 1;
}
<link href="http://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css" rel="stylesheet" />
<link href="http://cesiumjs.org/Cesium/Apps/Sandcastle/templates/bucket.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment