首页 > 其他分享 >vue3 安装 3d-force-graph

vue3 安装 3d-force-graph

时间:2023-07-06 17:25:36浏览次数:41  
标签:gData force graph nodes id 3d

1.首先创建vue3的项目

2.创建好后通过开发工具打开项目并打开命令行,输入指令 npm install 3d-force-graph 安装即可

3.在使用的页面中引入 3d-force-graph

<!--官网的 basic案例--> <template> <!-- ref 用于在组件中引用当前的 DOM 元素。--> <div ref="container"></div>
</template>
<script setup>
import {onMounted, ref} from "vue"; // 引入3d-force-graph import ForceGraph3D from "3d-force-graph";
const container = ref(null)  // 作用是创建一个响应式的引用对象,并将其初始值设置为 null。
const N = ref(300)
const gData = ref({
nodes: [...Array(N).keys()].map(i => ({ id: i })),
links: [...Array(N).keys()]
.filter(id => id)
.map(id => ({
source: id,
target: Math.round(Math.random() * (id-1))
}))
})

onMounted(()=> {
loadGrapg()
})
// 渲染页面 const loadGrapg =() => {
ForceGraph3D()(container.value) // 在给定的容器中创建一个 3D 力导向图
 .graphData(gData.value);  // 将数据 gData 设置为力导向图的图数据
}
</script>

<style scoped>
</style>

4. 调用接口的时候,后端返回数据只需要nodes[{id:0},{id:1}], links: [{source:{}, target:{}]---source:原物体,target:目标物体

补充:

ForceGraph3D()等方法及用法如下:

// 在节点处显示文本,只需填写 nodes数组中对象的某个想要显示文本的属性名即可

.nodeLabel('id')

// 通过groudId来分组不同的颜色
.nodeAutoColorBy('group')
// 设置线条的箭头长度
.linkDirectionalArrowLength(3.5)
// 用于设置线条箭头的相对位置
.linkDirectionalArrowRelPos(1)
// 用于设置线条的曲率
.linkCurvature(0.25)
// 启用或禁用线条箭头的粒子效果
.linkDirectionalParticles(true)
// 设置箭头粒子的速度为
.linkDirectionalParticleSpeed(0.005)
// 设置线条透明度
.linkOpacity(0.5)
// 根据连接属性自动为连接线条着色,(这里官方文档写的是d => gData.nodes[d.source].group ,需要自己根据数据微调)
.linkAutoColorBy( d=> gData.value.nodes[d.value].group )

标签:gData,force,graph,nodes,id,3d
From: https://www.cnblogs.com/xytx906/p/17529573.html

相关文章

  • 题解-Codeforces Round 805 (Div. 3) E. Split Into Two Sets
    题解-CodeforcesRound805(Div.3)E.SplitIntoTwoSets(原题链接)[Problem-E-Codeforces]思路知识点:种类并查集网上关于种类并查集的教学已经很多,在此不赘述在理解种类并查集时,很多文章会提到“敌人”,“朋友”的概念。而在不同的题目中,互为“敌人”,“朋友”的两个......
  • Live Home 3D Pro Mac家装设计工具
    LiveHome3DPro是一款功能强大的Mac家装设计工具,它提供了丰富的工具和功能,使用户能够轻松创建逼真的室设计。→→↓↓载LiveHome3DPromac版 首先,LiveHome3DPro具有直观易用的界面。无论您是专业的建筑师还是家庭用户,都可以在不需要任何专业技术的情况下,快速创建自......
  • 3D点云实战案例
    推荐免费3D场景建模工具:NSDT场景编辑器CloudCompare是一个三维点云(网格)编辑和处理软件。最初,它被设计用来对稠密的三维点云进行直接比较。它依赖于一种特定的八叉树结构,在进行点云对比这类任务时具有出色的性能。此外,由于大多数点云都是由地面激光扫描仪(例如LMI)采集的,CloudCompar......
  • FreeCAD 3D绘图教程
    推荐:将 NSDT场景编辑器 加入你的3D开发工具链构建现实世界FreeCAD主要用于为现实世界设计对象。您在FreeCAD中所做的一切都使用现实世界的单位,无论是微米,公里,英寸还是英尺,甚至是单位的任意组合。FreeCAD提供了生成,导出和编辑实体,全精度模型的工具,导出它们以进行3D打印或CNC加......
  • 成功拿下Offer!Salesforce顾问岗位高频面试问题(含答案)
    前不久自由侠部落为某顶级高科技公司成功招聘了一名资深SalesforceBA,年薪颇丰。企业获得了合适的人才,候选人也拿到了满意的薪资,以及更优质的发展平台。此次招聘,印证了市场对资深业务分析师的需求。从收集需求和流程图,到确保项目交付,完成足够的测试,并对用户进行培训,业务分析师......
  • Unreal Engine4 GPU崩溃或3D设备丢失的解决方案
    起因:UnrealEngine4在渲染时报错GPU崩溃或3D设备丢失解决办法:regedit 打开注册表在以下2个路径下新建 DWORD(32-bit)Value命名为  TdrDelay,并修改数值为:60(十进制)Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDriversComput......
  • 【补题记录】 Codeforces Round 797 (Div. 3) F Shifting String(置换环)
    CodeforcesRound797(Div.3)FShiftingString思路:根据这个排列进行替换的操作可以往置换环考虑,就是对于每一段字串,它的变换都是有规律的,经过一定的操作之后都会回到原点,可以想象转化成图上问题。参考ygg的题解,直接用链表模拟这个转化的过程,然后暴力计数,因为要满足所有点都......
  • Codeforces Round #222 (Div. 1) B - Preparing for the Contest
    先二分,输入排序,然后对于确定的天数,贪心判断是否可行。#include<iostream>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<cstdio>#include<algorithm>#include<cstring>#include<......
  • 【后缀自动机】Codeforces Round #305 (Div. 1) E. Mike and Friends
    对所有的串加特殊字符隔开,单串建立后缀自动机。然后将每个的fa边反向建树,对树dfs得到dfs序,对dfs序建立线段树。询问离线,每个询问拆成1-(l-1)和1-r。。。按端点排序,然后每次加入线段树,查询k对应的节点的子树和。。。#include<iostream>#include<queue>#include<stack>#include......
  • codeforces 540D - Bad Luck Island
    记忆化搜索...#include<iostream>#include<queue>#include<stack>#include<map>#include<set>#include<bitset>#include<cstdio>#include<algorithm>#include<cstring>#include<climits>#include......