最近在用pixi绘制地图的时候需要做带箭头的线,用来从一个点执行另一个点,表示此段路线可行,但是发现pixie是没有自带的绘制带箭头线段的,那就只能自己绘制了,在此记录一下,pixi底层是用的canvas,所以绘图和方法和canvas很像,先通过PIXI创建Graphics对象。,绘制一条线段,这里绘制从(50,50)到(35
大模型生成短视频
上节利用了A*实现了基础的路径规划,这节把整个功能完善好,A*算法一方面是基于当前点找到可以到达的点,计算从出发点到此点,以及此点到目的地的总成本,比较出最小的那个,再用最小成本的点继续找到它可以到达的点,直到目的地,同时会创建两个集合,一个叫open集合,一个叫close集合,open是用于存放到达过且没有继续探索的点,close集合是存放到达过且继续探索的点,简单的说A*算法会一边探索的同时会
之前的大模型介绍一直停留在文字交互上,这节部署一个ChatTTS实现文字转语音,而且语音十分接近真人,是最近比较热的一个文字转语音的开源项目了。此前我在window上部署过一次,部署成功了,但是过程稍微复杂些,官网提供的部署方法更适合liunx系统,对window不友好,但如果有liunx系统可以参考尝试下。下面我用一个非常简单的方式来部署,是一个封装好各种包的部署包。&n
之前已经用Pixi绘制出了各种图形以及通过图片绘制精灵,这节用pixi绘制网格地图,并通过图片制作一个Sprite,让这个Sprite在网格地图上运动。首先需要在页面中添加一个div用来后期展示canvas的画布,并将此div实例化为PIXI的Application,作为接下来使用的stage,<div ref="pixiContainer" style="width: 100%;heigh
这节一起用Vanna来实现自然语言转SQL,之前的大模型一直停留在问答阶段,答案基本都是大模型提供的,至多是加点本地知识库,text,pdf等文档,丰富大模型的内容,但是想要大模型与一些管理系统对接还是无能为力,这节就一起尝试下用Vanna对接数据库,将自然语言转成标准的SQL对数据库进行查询。这也是很多管理系统的开发者最需要落地实践的内容。 &nbs
之前已经尝试过AI Agent功能开发,这节演示下工作流的使用,工作流顾名思义就是工作流程,类似表单的审批流程,是一步步执行下去的,Dify是把任务拆分成多个任务,分步骤执行,最终形成一个工作流的模式去执行。首先打开Dify主页面,点击创建空白应用,在弹窗中上面选择工作流,下面输入名称和描述后点击创建,创建后就会有一个可拖拽的工作流页面,因为还没设置,默认只有一个开始,我们创建一个条件语句,就是根
Dify.AI是一个基于云的AI平台,集成了机器学习、自然语言处理、计算机视觉等技术,提供了一系列开箱即用的解决方案。主要有四个功能:聊天助手,文本生成,AI Agent,工作流。聊天助手和文本生成其实是普通的大模型都自带的功能,这里就不做过多赘述,我们主要来看后面的Agent和工作流两种。上一节我在本地搭建好了Dify,可以先尝试搭建一个AIAgent,点击创建空白应用,选择Ai Agent,输
Dify与之前的MaxKB不同,MaxKB可以实现基础的问答以及知识库功能,但是如果要开发一个Agent,或者工作流就还是需要额外开发,而Dify 是一个开源 LLM 应用开发平台。其直观的界面结合了 AI 工作流、RAG 管道、代理功能、模型管理、可观察性功能等,让您可以快速从原型开发到生产。以下是核心功能的列表:工作流程,全面的模型支
最近在做一个路径规划的例子,大概场景是在一个xy坐标系中,有几个障碍物,一个车要绕过这些障碍物到达目的地,本来用java来实现,但是java调试太不直观了,我就想起用threejs把场景简单搭建出来,规划好的路线也直接展示出来,就可以实时查看路径规划的怎么样了。先来一张效果图:首先是添加threejs场景,包括灯光,相机,渲染器,也包括地板,然后得到一个空的场景
在物联网项目中,我们经常用到MQTT协议,用MQTT协议做交互就需要部署一个MQTT服务,而mosquitto是一个常用的MQTT应用服务, Mosquitto是一个实现了消息推送协议MQTT v3.1的开源消息代理软件。MQTT(Message Queuing Telemetry Transport)是
上一个章节中已经实现使用maxKB搭建本地知识库了,但是在使用的时候还是会有一些问题,比如上面的提示内容是MaxKB小助手,显然不符合我们后期对外开放的,同时问题虽然是中文,但是大模型还是默认用英文回答,所以这节课就一起来对MaxKB进行个性化配置。 首先打开MaxKB的应用,点击设置,接下来
上节已经可以通过MaxKB创建简单的问答系统了,这节开始做自己的知识库,实际上就是把一些本地文件上传到大模型中,让大模型学会这些文件内容,你在问他问题的时候可以通过此文件的内容来回答你,尤其是在针对特定场景或者特定领域的时候非常适用。首先我们打开知识库的菜单,目前是空的,点击创建知识库,开始创建知识库点
上面章节已经实现了ollama李现部署llama3,并实现了一些简单的问答,但是问答的界面是在命令提示符中,交互很不友好,也不方便局域网其他用户访问,所以这节用docker部署MaxKB实现网页访问llama3,首先电脑上需要安装docker,window系统需要开启虚拟化后才能安装docker,这个可以找相关教程安装下,有了docker后就可以开始部署MaxKB了。因为我安装了docker de
首先介绍下ollama是什么?Ollama是一个开源的大型语言模型服务工具,旨在为用户提供本地化的运行环境,满足个性化的需求。具体来说,Ollama是一个功能强大的开源框架,可以简化在Docker容器中部署和管理大型语言模型(LLM)的过程,使得用户能够快速地在本地计算机上运行大型语言模型,如Llama 2等。此外,Ollama还提供了聊天界面,方便用户部署和使用。
之前的章节讲过chirpstack的下载和安装部署,这节算是后续,利用chirpstack和lora设备做通信, 首先开启chirpstack,并登录,登录完成之后需要添加网关和设备,添加网关也就是Gatway
最近在学习物联网的lora协议,用到一个lora网络服务,文档不多,也没有视频介绍,现在终于配好了,在此记录一下,也提供给同样需要的人参考。 ChirpStack是一款开源的LoRaWAN网络服务器,用于构建和管理LoRaWAN网络。它为网关、设备和租户的管理提供了一个web界面,并与主要的云提供商、数据
上个章节通过加载PMD模型和VMD的动作播放MMD的动画,这节通过js控制让模型实现眨眼,说话。我们还是拿上个模型来操作,首先是创建好Threejs的场景,包括灯光,相机,渲染器等。 initScene(){ this.scene = new THREE.Scene(); this.clock = new THREE.Clock(); const
MMD全称MikuMikuDance,是一个简单的做动画的程序,做MMD之前先了解下什么是PMD。 PMD(Polygon Model Data)文件是一种用于描述三维模型的文件格式。PMD 文件通常用于 MikuMikuDance(MMD)软件,它是一款在日本非常流行的三维角色动画制作工具。PMD 文件
根据已经学习的Threejs内容这节再做一个机房冷却的结构原理图,不过因为内容比较简单,只需要一个章节就可以了,大概分为机柜,冷却塔和之间的冷凝管和导热管。先来一张效果图:从效果图可以看到,需要两个模型:一个冷却设备,一个服务器机箱,我这里是从网上找来的,如果大家有需要可以私信联系我发给你,首先我们搭建一个空的threejs场景, initScene(){ this.scene = n
这节算是给这个车间场景收个尾,等了几天并没有人发设备模型给我,只能自己找了一个凑合用了。加载模型之前,首先要把货架上的料箱合并,以防加载模型之后因模型数量多出现卡顿,方法和之前介绍的合并传送带方法相同,代码如下: //初始化料箱 initCube(){ let cubeList = []; const textureLoader = new THREE
车间模型有了,但是还是显得空旷,这节给车间添加线边仓,线边仓的作用是为了节省时间,保持产线持续生产的,比如生成手机的时候,会更多的原料放在线边仓,如果产线上的物料用完了,可以从线边仓得到补给,而不用去仓库领料,这样可以保持产线的不间断,所以一般的仓库都有线边仓的存在,有的也叫暂存仓等。  
上节中,我们给车间添加了警戒线,越来越接近雏形了,不过目前车间都还是物品,没有人,这不正常,这节就给车间添加一个人,还得是来回走动的人,如果需要人来回走动的话就需要去找一个带有走路动画的模型,让把人添加到适当的位置,然后循环播放走路动画的同时,不断的修改人的位置,首先找到人的模型,加载进来。initPerson(x,y,z){ //在场景中加载一个人
上节解决了模型多会存在的模型卡顿问题,用了模型整合来结局,这节继续这个模型的完善,很多时候可以在产线看到地上会画警戒线,防止工作人员越界以被机器伤到,所以会在机器的危险区域用警戒线框起来,那么这节做绘制警戒线的功能。 首先我们需要先针对一个产线做警戒线,然后再加到循环中给五个产线都加上警戒线。加警戒线我们使用
上节课绘制了车间模型,但是车间里只有一条产线,这节把产线多铺设几条,放满整个车间,但是随着放满车间,也就意味着要创建更多的模型,而更多的模型会导致浏览器卡顿,所以这个节讲如何做模型合并,模型合并不是简单的创建group,把模型放到group中,这样只是把模型分组,但还不是给模型合并,模型合并是把多个模型合并成一个模型。合成一个模型后,多个模型也就共享同一个模型对象,如果
上一节已经把产线的基本demo搭建完成,这节先不美化产线,先搭建个车间用来放置这个产线,后期再一起想办法做美化,绘制车间,我们要先绘制地面。地面实际上就是一个很薄的长方体,长方体的长和宽就是车间的面积,高度设置为1,再加一点颜色,作为地面,这里用了一个蓝色的图片作为贴图,如果找不到合适的,也可以把贴图的去掉,用设置的颜色作为地面颜色就好了。我们先定义地面的起画点,再设置地面
基于threejs绘制MES车间的数字孪生场景
接下来会做一个MES场景下的数字孪生,可以先开始做车间相关的模型,一般车间会有设备,传送带,线边仓,产线工作人员,工作站等,我们这节从传送带做起,不过还是尽量少用模型,用纯代码实现,因为一方面方便不会3D建模的人员开发,另一方面可以动态使用,可以调节长度和宽度等,下面这节就做一个简单的传送带,这是所有车间都会有的东西首先添加一个场景,相机,灯光等。initScene(){//初始化场景
这是一次比较失败的功能实现,本来想网上很少有threejs实现闪电效果的,但是我觉得好像可以做出来,就尝试着做了,结果做出来的太丑了,但是不能时间白费,所以记录下,总得有个交代。首先还是搭建出基础的场景,包括场景,相机,渲染器等initScene(){ this.scene = new THREE.Scene(); const axesHelper = new THREE.
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号