大模型生成drawio格式图

        现在大模型可以做很多事情,帮助写文档,写代码,生成图等,有一些可专门生成产品设计图的模型,比如字节的火山引擎或阿里云的通用万象:

但这些生成通常是图片,而有时需要生成可编辑的流程图或架构图等,下面介绍如何生成drawio格式的图。

一、使用chatgpt:

类似上面的问法,它会生成一个链接供你下载文件,注意期间它可能回答说无法直接生成draw.io格式文件,但是最后又给你生成了,说法有点自相矛盾,但最终还是生成了,打开如下:

生成效果,根据你描述的提示词的准确情况。

另外之前尝试用它生成另一个图时,发现它会图颜色,但少了节点和箭头:

二、使用通用千问

通义千问,也是先声明自己不能画,让你自己绘制:

“虽然我不能直接创建一个draw.io格式的文件,但我可以生成一张图来表示你所需要的架构,并提供一个简单的解释,这样你可以基于这个图和解释在draw.io中自行绘制更详细的架构图。”,当你描述更清楚需求和要求格式时,它可以生成Mermaid的代码,可以把生成的Mermaid代码复制到在线网址:Online FlowChart & Diagrams Editor - Mermaid Live Editor 中,然后看到图形。

Mermaid可以展现简单的流程图,一般也够用,但是我们在上述网址显示的图形中,只能编辑文字,不能调整节点位置及颜色,不是很方便。因此可以基于Mermaid代码,再生成drawio格式图形。

继续问通用千问:

虽然它说没有直接转换工具,但是它最终还是给出了drawio的数据:

拷贝这个xml到文本文件中,并修改后缀名为.drawio ,然后用drawio工具打开:

千问生成的drawio格式图,少了箭头连续,尝试了几次让它修改,最终也没加上箭头。

三、使用deepseek

drawio还没有流行到work或excel那样通用,考虑到直接根据描述生成drawio格式目前有点困难,因此也让ds根据Mermaid格式去转换。它说它这个也不会。于是让它再试试:

看它能生成<mxfile>开头的drawio格式,于是继续鼓励:

结果ds还真生成了,而且节点和箭头都有,于是拷贝文本到.drawio文件中,稍微修改就可以了。

连大模型都需要鼓励,那么对人类幼崽,更要多些鼓励啊。

AI近来日新月异,上面的需求,可能不到几周后,直接就可以输出了,上面表现也不代表哪家大模型更强,各有所长。

-----3月31日补充:

后来我生成其他图形时,用drawio打开报错:Could not add object for mxGeometry。包括gpt和ds都提示这个错误,千问生成的可以打开,但是图有点问题,因此我把ds生成的drawio格式文本拷贝给千问,并告诉他存在问题,让它帮忙检测,经常2次修正,终于可以打开了,下面是纠正要求:

第二次反馈后回答:

这次的可以打开了:

因此目前让大模型生成draw.io格式图不是十分稳定,可能画一个简单图花的时间比手工还慢哈。

### 无人机航测建模原理及方法 #### 倾斜摄影测量基础理论 倾斜摄影测量是一种基于多视角像获取物体几何形状的技术。通过搭载于无人机上的多个传感器,可以从不同角度拍摄目标区域的照片。这些照片不仅包含了垂直方向的信息,还涵盖了侧向视角的数据,从而能够更全面地反映地形地貌特征[^1]。 #### 数据采集流程 在外业阶段,利用无人机按照预定路径执行飞行任务,期间会进行如下操作: - **踏勘模拟**:预先设定好飞行路线与参数设置; - **航拍作业**:依据规划好的航线实施空中拍照工作; - **像控布设**:合理布置地面控制点以提高最终成果的质量; 此过程中所获得的大量高质量影像资料将成为后续建立三维模型的基础素材[^4]。 #### 内业数据处理步骤 当完成了外业数据收集之后,则进入到室内环境中借助专业的软件工具来进行进一步加工制作: - **影像预处理**:对原始片做去噪、增强等优化措施来提升后期匹配效果; - **密集点云生成**:采用SfM(Structure from Motion)算法计算每张相片之间的相对位置关系,并据此构建稠密化的空间坐标系内的离散点集合; - **三角网划分**:根据上述得到的点云分布情况创建TIN(Triangulated Irregular Network),即不规则三角网格结构; - **纹理映射贴附**:最后一步便是将各个视中的色彩信息投射到对应的立体表面上形成逼真的视觉呈现[^3]。 ```python import open3d as o3d def create_point_cloud(image_files, camera_intrinsics): """ 创建点云实例函数 参数: image_files (list): 像文件列表 camera_intrinsics (dict): 相机内参字典 返回: pcd (open3d.geometry.PointCloud): 点云集对象 """ # 初始化Open3D读取器 reader = o3d.io.ImageReader() # 加载所有输入像并转换成RGBDImage形式 rgbd_images = [] for file in image_files: color_raw = reader.read_image(file['color']) depth_raw = reader.read_image(file['depth']) rgbd_image = o3d.geometry.RGBDImage.create_from_color_and_depth(color_raw, depth_raw) rgbd_images.append(rgbd_image) # 使用相机内部参数初始化PinholeCameraIntrinsic类 intrinsic = o3d.camera.PinholeCameraIntrinsic( width=camera_intrinsics["width"], height=camera_intrinsics["height"], fx=camera_intrinsics["fx"], fy=camera_intrinsics["fy"], cx=camera_intrinsics["cx"], cy=camera_intrinsics["cy"] ) # 执行多帧融合生成完整的点云表示 option = o3d.pipelines.integration.ScalableTSDFVolume.Options() volume = o3d.pipelines.integration.ScalableTSDFVolume( voxel_length=0.04, sdf_trunc=0.02, color_type=o3d.pipelines.integration.TSDFVolumeColorType.RGB8 ) extrinsic = np.eye(4) # 单位变换矩阵作为初始姿态估计 for frame_id, im in enumerate(rgbd_images): volume.integrate(im, intrinsic, extrinsic) mesh = volume.extract_triangle_mesh() return mesh if __name__ == "__main__": images = [...] # 替换为实际使用的像集路径 cam_params = {...} # 设置具体的摄像设备参数值 result_model = create_point_cloud(images, cam_params) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值