vis.js可動的3d圖形

DogLeftover發表於2024-04-23
  • 程式碼案例
<!DOCTYPE html>
<html>
  <head>
    <title>Graph 3D demo</title>
    <style>
        html,
        body {
          font: 10pt arial;
          padding: 0;
          margin: 0;
          width: 100%;
          height: 100%;
        }

        #mygraph {
          position: absolute;
          width: 100%;
          height: 100%;
        }
    </style>
    <script
      type="text/javascript"
      src="https://unpkg.com/vis-graph3d@latest/dist/vis-graph3d.min.js"
    ></script>
    <script type="text/javascript">
        var data = null;
        var graph = null;

        function custom(x, y) {
          return Math.sin(x / 50) * Math.cos(y / 50) * 50 + 50;
        }

        // Called when the Visualization API is loaded.
        function drawVisualization() {
          // Create and populate a data table.
          data = new vis.DataSet();

          // create some nice looking data with sin/cos
          var steps = 10; // number of datapoints will be steps*steps
          var axisMax = 314;
          var axisStep = axisMax / steps;
          for (var x = 0; x < axisMax; x += axisStep) {
            for (var y = 0; y < axisMax; y += axisStep) {
              var value = custom(x, y);
              data.add([{ x: x, y: y, z: value }]);
            }
          }

          // specify options
          var options = {
            width: "100%",
            height: "100%",
            style: "surface",
            showPerspective: true,
            showGrid: true,
            showShadow: false,
            keepAspectRatio: true,
            verticalRatio: 0.5,
            backgroundColor: {
              strokeWidth: 0,
            },
          };

          // create our graph
          var container = document.getElementById("mygraph");
          graph = new vis.Graph3d(container, data, options);
        }

        window.addEventListener("resize", () => {
          graph.redraw();
        });
        window.addEventListener("load", () => {
          drawVisualization();
        });

    </script>
  </head>
  <body onload="drawVisualization();">
    <div id="mygraph"></div>
      
  </body>
</html>
  • 效果圖
點選檢視詳情

相關文章