草庐IT

一、D3D12学习笔记——初始化Direct3D

首先声明,本人是自学DX12,有很多的理解也许不到位,不过都是自己的理解。在很长一段时间里边,我从迷茫到有一天开始能看懂,现在是第三次开始刷DX12了,于是在此表明写作的初衷:1.有一些DX12的学习心得,希望发出来,有大佬如果愿意指教,万分感谢;2.如果对于才入门的人来说,这可能是我的白话教程,也许会对你有所帮助,但不可尽信,因为我也不确定我对不对;3.DX12的概念很多,也是想把这作为自己的学习笔记来做,希望对自己也有帮助,如果有一天我发现哪里错了会及时回来更正。那么话不多说,现在开始!!!初始化Direct3D一.创建设备DX12中这里讲得就有点跳跃了,个人认为的顺序应该这样:首先,我们

Python mpl_toolkits.mplot3d工具包绘制三维图

在Python中我们可以导入mplot3d工具包来绘制三维图。在Matplotlib1.0.0之前,每个图形只能创建一个Axes3D,需要被直接定义为ax=Axes3D在Matplotlib3.2.0之前,必须导入mpl_toolkits.mplot3d模块将关键字Projection='3d'传递给Figure.add_subplot3维坐标系通过将关键字Projection='3d'传递给Figure.add_subplot创建,无需导入mpl_toolkit.mplot3d就可以实现三维图的绘制。importmatplotlib.pyplotaspltfig=plt.figure()ax

3D相机的介绍

1.1常见的三维视觉技术 包含双目、ToF、激光三角、结构光等,如下图所示:1.2精度划分1.毫米级(mm)双目、ToF、结构光(散斑)的精度为mm级,多见于消费领域,如:导航避障,VR/AR,刷脸支付等2.微米级(um)线激光、结构光(编码)的精度是um级,主要应用在工业领域,如:表面缺陷检测、三维测量等3.纳米级(nm)nm级精度的光谱共焦技术,可用于透明材质物体的三维测量1.33D成像技术对比  2.1线激光介绍线激光相机基于三角测量,可精确捕获3D形状(数百万个点)。更精确地说,它们的工作原理是将激光点或激光线投射到物体上,然后用传感器捕获其反射。由于传感器的位置与激光源的距离已知,因

Open3D 15.1 报错 module ‘open3d‘ has no attribute ‘registration‘(跑LCD代码时报错)

Open3D15.1报错module‘open3d‘hasnoattribute‘registration‘(跑LCD代码时报错)最近研究LCD源码,跑例程align_point_cloud.py因为源码用老版本Open3D库报了错module'open3d'hasnoattribute'registration'我的Open3D用着一直没毛病,所以大概率是版本变动了库文件路径在Github上也有人出现了类似情况这老哥一语中的在较新版本的Open3D中registration被放在了pipelines下面,所以调用时要把原来的importopen3d.registration改成importo

Unity3D实现简单的血条功能

在游戏中血条是一个很常见的东西,它可以直观的显示血量,在很多地方都有运用,尤其是小兵或者怪物身上,那么该怎样去制作一个简单的血条呢?其实很简单,血条就是一个UI而已,用一张长条形的图片即可实现,具体操作如下:1.先创建一个3D的物体命名为Player来代表人物,在它下面创建一个Canvas,点击Canvas在Inspector窗口里可以看见他有一个叫Canvas的组件,点开把渲染模式改成世界空间,这样你就可以canvas里面的UI移动到世界空间里的物体上了,这样一来我们的血条就不会和一般的UI一样一直在屏幕的固定地点而是跟着人物移动。2.接下来就是做血条了,先在Canvas下创建一个图片把它调

计算机图形学:绘制一个3d交互场景(1)

OpenGL作为一种图形与硬件的接口,与其他图形程序开发工具相比较,它提供了众多图形函数,直观的编程环境简化了三维图形的绘制过程,使用OpenGL搭建一个三维场景,能够通过输入设备与场景内物体交互。豪华单间配置环境:vs22+freeglut库1.绘制墙体使其成为封闭空间,在封闭空间内完成场景的布置//空间基本架构voiddrawWall(){glColor3f(0.47,0.54,0.60);//rgb颜色可调GLfloatmatWall[]={0.37,0.83,0.98}; GLfloatmatBlack[]={0,0,0,1}; GLfloatmatWhite[]={1,1,1,1};

swin unetr的3D语义分割

基于monai库。其实我不是很喜欢这种,可扩展性太差了,除非说你想快速在自己的数据集上出结果。但是它的transform可以对3d医学图像增强操作,比torch的transform强一点,因为它的数据增强输入是(x,y,z)h,w,d格式的,我还没有试过单独用它的transform来结合torch训练。前提pipinstallmonai目录结构train.pyfromnets.swin_modelimportGetSwinUnetrimporttorchfromutils.dataloaderdimportGetDataLoaderfrommonai.lossesimportDiceCELos

点云AABB/OBB包围盒 (附open3d python代码)

AABB包围盒:AABB包围盒是与坐标轴对齐的包围盒,简单性好,紧密性较差(尤其对斜对角方向放置的瘦长形对象,采用AABB,将留下很大的边角空隙,导致大量没必要的包围盒相交测试)。OBB包围盒:OrientedBoundingBox,有向包围盒;OBB碰撞检测方法紧密性是较好的,可以大大减少参与相交测试的包围盒的数目,因此总体性能要优于AABB和包围球,并且实时性程度较高。当物体发生旋转运动后,只需对OBB进行同样的旋转即可。因此,对于刚体间的碰撞检测,OBB不失为一种较好的选择。OBB比AABB更加逼近物体,能显著减少包围体的个数#coding:utf-8importnumpyasnpimp

Echarts实现3D地球加卫星环绕效果

通过echarts实现自动旋转3D地球加卫星环绕效果文章目录一、依赖安装echarts安装echarts-gl安装使用全部使用按需使用二、地球自转实现三、卫星图标实现总结一、依赖安装echarts安装npminstallechartsecharts-gl安装npminstallecharts-gl使用全部使用import*asechartsfrom'echarts';import'echarts-gl';按需使用import*asechartsfrom'echarts/core';import{Scatter3DChart}from'echarts-gl/charts';import{Grid

vue使用百度地图获取可视区域四角坐标(百度地图四角坐标,百度地图3D可视区域四角坐标)

百度地图api只提供了左下角和右上角两个坐标,左上角坐标和右下角坐标需要自己操作获取,方法如下:    地图自带获取坐标的方法:varbounds=map.getBounds();//获取地图可视区域//左下    varsw=bounds.getSouthWest();//获取西南角的经纬度(左下角)//右上    varne=bounds.getNorthEast();//获取东北角的经纬度(右上角)根据地图自带坐标(左下和右上)获取剩下两个角(左上和右下)坐标://其实很简单,就是拿左下角的经度加上右上角的维度就是左上角的坐标//这里取的是sw的经度和ne的维度(3D地图可直接赋值)//