APP.vue 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <template>
  2. <div id="three-dom" style="width: 500px; height: 500px"></div>
  3. </template>
  4. <script setup>
  5. import ThreeConduit from "./js/threeConduit";
  6. import { onMounted } from "vue";
  7. onMounted(() => {
  8. let data = initData();
  9. let three = new ThreeConduit(document.getElementById("three-dom"), data, 3);
  10. three.init();
  11. });
  12. function initData() {
  13. // 生成4组每组8个数据,每个数据在32上下浮动8整数
  14. var data = [];
  15. for (var i = 0; i < 7; i++) {
  16. var group = [];
  17. for (var j = 0; j < 8; j++) {
  18. var base = 32;
  19. var noise = Math.floor(Math.random() * 17) - 8; // 生成-8到8之间的随机整数
  20. var value = base + noise;
  21. group.push(value);
  22. }
  23. data.push(group);
  24. }
  25. return data;
  26. }
  27. </script>
  28. <style scoped>
  29. .logo {
  30. height: 6em;
  31. padding: 1.5em;
  32. will-change: filter;
  33. transition: filter 300ms;
  34. }
  35. .logo:hover {
  36. filter: drop-shadow(0 0 2em #646cffaa);
  37. }
  38. .logo.vue:hover {
  39. filter: drop-shadow(0 0 2em #42b883aa);
  40. }
  41. body {
  42. margin: 0;
  43. }
  44. canvas {
  45. display: block;
  46. }
  47. </style>