标签:VBA 在VBA中,我们经常会遇到需要检查某个单元格区域是否为空的情形。我们可以使用下面程序中的代码来检查单元格区域是否为空。...Sub CheckIfBlank() If WorksheetFunction.CountA(Range("A1:A100")) Then MsgBox "单元格区域不全为空单元格..." Else MsgBox "单元格区域为空" End If End Sub 然而,如果单元格区域偶然包含一个返回为空的公式,则上述代码不会将该单元格区域返回为空,因为它包含公式返回为空的单元格...要处理这个问题,可以使用下面的命令来检查单元格区域是否为空,即使该单元格区域包含返回空的公式。...Then MsgBox "单元格都为空" Else MsgBox "单元格不全为空单元格" End If End Sub 这将同时适用于任意连续的单元格区域
3.2 纹理贴图的基本原理-UV映射 在Three.js中,几何体是通过点和面的特征构建起来的,如果将一个几何体实例对象在控制台打印出来,就可以看到存储端点坐标信息的vertexs和存储面信息的faces...当你构建一个立方体时,会发现它的faces属性数组中有12个面的信息,因为Three.js中默认使用三角面片来构建几何体,一个矩形表面需要用两个三角面片来构建,(你可以将立方体材料material中传入...右图中白色三角形的三个顶点在归一化坐标系中的坐标值已经列出,将[0.2,0.2],[0.2,0.8],[0.7,0.2]这三个坐标点信息填充到对应的UV映射数组中后,Three.js就会用这个三角形区域来对一个三角面进行贴图...由于默认面是三角面,所以我们通过实例化3个THREE.Vector2(x,y)对象来表示从素材中截取的三角形区域,得到了素材后要如何将它与三角面的顶点坐标对应起来呢?...由于贴图素材是三个点,几何体某个三角面也是有三个顶点,如果不限制索引,那么就可能存在很多种贴图结果: ?
它将地图划分为不同的区域,并使用颜色或阴影的不同程度来显示该区域的数据值。通常,分级统计图用于显示人口统计、自然资源分布等数据。...意思是将源地理图层与参考图层进行比较,以在源图层中标识与参考图层中相交的区域。使用identity的一个典型场景是当需要分析两个图层交集的时候。...right_df:右侧的GeoDataFrame数据集。 how:连接方式,可选项如下: inner (默认选项):返回两个GeoDataFrame中具有共同空间索引的几何体的交集。...以下示例展示了如何使用sjoin函数进行空间连接。...当绘图数据特别大时,该函数很有用。tolerance:简化容差值,代表简化几何对象的形状后的最大允许误差。当 tolerance 值越小时,简化后的几何对象的形状越接近原始几何对象的形状。
enum : NSInteger { // SCNFilterModeNone = 0, // 当这个位置没有纹理颜色时,会采样离他最近的颜色值 SCNFilterModeNearest =...mipmap 有多厉害 可以增加渲染的性能:当渲染的图片比较小时,SceneKit 会自动创建若干个mipmap层,给材质属性的图片内容,渲染的时候,SceneKit 会自动采样mipmap层 可选值为...先解释一下这属性 几何对象可能有多个纹理坐标源,每个都对应一个独一无二的通道数字,你可以使用这些通道数字,去绘制材质的内容通过不同的方式 举个例子帮你理解一下: 学习快乐 很简单: 表示一个相框的一个几何体可能会使用一组纹理坐标来映射相框架本身的材质...这几点你要记牢了 1.材质可以在多个几何体重复使用 2.它是管理光线和阴影属性以及决定几何表面呈现出来的样子 3.一个几何体可以设置多个材质 a.漫发射属性(diffuse) 我们有一样图片是这样的...当光照射到物体表面是,物体反射出来颜色 添加一张高光照片 白色区域就是能显示高光的部分 上代码: sphere.firstMaterial.specular.contents = @"earth-specular.jpg
,作为下一个几何体横向(x方向)的偏移参考,这样就可以保证几何体横向错开。...左面实际上就是法向量中x分量为负数的面,下面就是y坐标为负数的面,通过法向量的特征,我们就可以挑选出从特定角度观察几何体时看到的效果,例如遍历几何体的表面,把所有法向量中z为正数的面挑出来,实际上就相当于在...所以贴图时,需要将素材的y方向(0-1之间的某个数字)坐标按比例映射到包围盒z方向,将素材x方向坐标按比例映射到包围盒x方向,如上图所示。...有了映射关系,就可以让程序遍历表面并自动进行贴图处理,上图的贴图效果最终会是类似下面的样子: ? A的字体模型内部有一个封闭空间,其中也有法向量z值小于0的面,它们也会按照同样的坐标转换标准被贴图。...通过传入左右上下远近6个参数来确定一个矩形盒子作为舞台区域,在舞台内的就可以显示,不在舞台内的就不显示,比如下面示例中如果绕y轴转动字体模型,就会有一部分超出所设定的舞台区域: [](https://img2018
透视相机的视锥体如上图左侧所示,从近端面到远端面构成的区域内的物体才能显示在图像上。...正交相机的视锥体如上图右侧所示,和透视相机一样,从近端面到远端面构成的区域内的物体才能显示在图像上。...五、材质 创建几何体时通过指定几何体的顶点和三角形的面确定了几何体的形状,另外还需要给几何体添加皮肤才能实现物体的效果,材质就像物体的皮肤,决定了物体的质感。...聚光灯在传播过程也是有衰弱的。 6.4 环境光 环境光是经过多次反射而来的光,环境光源放出的光线被认为来自任何方向,物体无论法向量如何,都将表现为同样的明暗程度。...3D世界的纹理是由图片组成的,将纹理添加在材质上以一定的规则映射到几何体上,几何体就有了带纹理的皮肤。
但是当数据需要展示在地图上时则需要将其原始的空间数据投射到大地坐标系上(这个过程称为投影)才可以得到这个几何图形具体的地理坐标。...SRID 可以理解为唯一标识了将某个几何体空间数据映射成某个具体坐标系中的方式。 当 SRID 为 0 或者不使用 SRID 时,表示一个几何图形实例没有被放到任何一个坐标系中,我们无法定位其位置。...不同 SRID 值代表了将几何体映射到坐标系中的不同方式。几何体本身的空间数据结合 SRID 就可以具体定位这个几何体在坐标系中的位置。 下图简单演示了有无 SRID 得差异。...当源端数据库是 PostgreSQL 时。全量数据同步过程会识别到表上的 SRID 信息,并将 PostgreSQL 使用 EWKB 格式转换为标准的 WKT 连同 SRID 一同作为最终数据。...当对端是 PostgreSQL 时也可以完整的将地理信息和坐标系同步到对端。
透视相机的视锥体如上图左侧所示,从近端面到远端面构成的区域内的物体才能显示在图像上。...正交相机的视锥体如上图右侧所示,和透视相机一样,从近端面到远端面构成的区域内的物体才能显示在图像上。...五、材质 创建几何体时通过指定几何体的顶点和三角形的面确定了几何体的形状,另外还需要给几何体添加皮肤才能实现物体的效果,材质就像物体的皮肤,决定了物体的质感。常见的材质有如下几种: ?...聚光灯在传播过程也是有衰弱的。 ? 6.4 环境光 环境光是经过多次反射而来的光,环境光源放出的光线被认为来自任何方向,物体无论法向量如何,都将表现为同样的明暗程度。 ?...3D世界的纹理是由图片组成的,将纹理添加在材质上以一定的规则映射到几何体上,几何体就有了带纹理的皮肤。 7.1 普通纹理贴图 ?
在三维模型CAE仿真分析中,我们常需要选择几何体的内表面,或者选择被遮挡的表面。如结构分析时复杂装配体的接触设置,电磁、流体或热分析时内表面的边界条件等。...目前,业界比较常见的方式是:在三维图形窗口中的一个小区域增加图层演示器,允许用户在点选几何体后,显示图层演示器,此时用户可以更改所需要的表面。这种方式简单直观,用户体验好。...增加此功能时,也需要注意对软件整体性能的影响。图层演示器示例下图模型是一个球体,内部含有两个小的球体空腔,当设置模型为半透明时,可以看到内部的球体空腔位置与大小。...当点击内部球体空腔位置时,会选中默认的最外层表面,并以绿色高亮显示。如有额外的可选表面时,图层演示器会显示出来。...本例通过一个圆球演示如何选取三维几何体内表面。视频演示如下:,时长00:53对于其他类型的几何体,此方法同样适用。当鼠标的点击位置含有多个表面,图层演示器会显示相应数量的图层。
写在前面 通常情况下,在执行 EDA 时,我们会面临显示有关地理位置的信息的情况。例如,对于 COVID 19 数据集,人们可能希望显示各个区域的病例数。...虽然GeoDataFrame可以有多个GeoSeries列,但其中只有一个是活动几何图形,即所有几何操作都在该列上。 在下一节中,我们将一起学习如何使用一些常见的函数,如边界、质心和最重要的绘图方法。...geometry 属于GeoSeries 类型,是具有以 Polygon 和 MultiPolygon 类型表示的国家区域的活动几何体。...等值线图为与数据变量相关的区域/多边形着色。...现在我们来了解一下有哪些国家参加了这个项目?
Materials 材质指定了引擎如何在渲染阶段对几何体的每个像素着色。...这里的子元素,一般就是引擎根据几何体顶点算出的多边形面。 例如有一个box,那么显然它是由6个多边形面,如果 box.materials 有6个材质,那么每个面就应用对应的材质。...当内容是纹理时,SceneKit会采用纹理映射的方式采样相应的点作为材质属性。...一般情况下,diffuse已经包含环境光与方向光的漫反射,当locksAmbientWithDiffuse为NO时,ambient才会生效。...在 normal map 时,normal纹理的 R, G, B, 就是材质对应点法向量的X, Y, Z。当normal是纯色时,normal map 会自动失效。
DF 协议是与硬件接口无关的数据链路层协议,规定了数据流如何在不同设备之间、不同接口之间的传输方向。...DF 协议一般用于延长数字接口的传输距离(数据中继),它与硬件接口类型无关,可以基于 UART、 LoRA、TCP 等异步数据传输介质。...图片数据转发规则(1) 处于同一区域内的每台设备均有唯一的地址(同一区域不得有相同地址的的设备)。合法的设备地址为0x01~0xFE。 0xFF 等效于任意地址值, 0x00 等效于不存在的地址值。...(7)数据映射DFP 设备用一个参数来启用或者禁止数据映射,参数作用说明如下:当某台 DFP 设备的多个数字接口处于同一数据区域时,会同时接收到数据包,按照上述规则,若数据映射参数为未启用状态时,每个端口均为按照预设转发规则和转发方向进行数据处理和转发...若数据映射参数为启动状态时, DFP 设备会进行如下处理:检查数据包是否带有正确的 FP 前导符号(默认为“@#@#” )有:继续检查 FP 中的群组码是否适用于本设备是:则将数据包映射到与群组号对应的
有什么样的geojson,绘制什么样的地图块。 不了解geojson的开发者请先学习相关知识:GEOJSON规范[1]。 在做地图相关工作时,很多情况是没有现成的geojson供开发者们使用的。...2.2 坐标映射 在准备好geojson之后,绘制时要将经纬度与xy坐标进行映射。 这里我们直接使用了经纬度 xy坐标的关系来进行绘制。...挤压几何体创建Mesh时,可以传入有两个材质组成的数组。第一个材质将用于其表面;第二个材质则将用于其挤压出的侧面。...如果将多个子数据分别绘制为几何体可以避免前一个问题,但是在做交互时多个几何体也会以个体的形式分别进行交互。会出现选中中国,海南省不跟着亮的问题。 尽管你也可以在交互时根据数据获取相关的其他几何体。...将合并好的Geometry作为几何体加入到Mesh 以上两个步骤即可。 注意:在销毁时需要将被merge的ExtrudeGeometry一同销毁。 3.
f的结果就可以知道这个点是在几何体内部还是外部,如果f的值小于0,我们就把它当作在几何体内部,如果大于0,就当作在几何体外面,当然如果等于0那就是在几何体表面 但是这个隐式表示有一个它的缺点就是很难知道有哪些点在这个几何体上...然后往两边是负数和正数走,这个融合这里就简单相加,那么新的边界会出现在中间,那这个就是边界融合后的效果 具体到两个物体的边界融合,空间中点的距离取到两个物体表面的最短距离再减去一个值作为这个融合后的SDF,那么当两个物体之间的距离小于某个值...:部分和整体很像,跟递归一样,比方说这个西兰花,它的一小块和它本身长的差不多,一小块的一小块又和一小块差不多,那这种分形就很容易出现这个走样的问题 显式表示 对于一个几何体的显式表示,就是说我们可以知道有哪些点是在这个几何体上的...,比如说把所有的几何体上的点都给出来了,或者说通过一种参数映射的方式,就是给一个(u,v)到(x,y,z)的一一映射,那我可以确定这个几何体上的点,这个就是显示表示 那自然我想要知道哪些点在这个几何体上这个事情就很容易知道了...,即(顶点,纹理,法线) 不知道对不对哈,闫老师说的我有点怀疑,然后我去搜了一下,综合各种资料,vn确实是面法线,vt是纹理坐标,正方体就是有14个纹理坐标,因为正方体展开就是有14个顶点
当使用四边形等单面几何体时,不存在的一侧的光会损坏。当另一侧什么都没有时,这很好,但是在处理单面透明表面时会导致问题。 ?...当有光照贴图可用时,我们必须将它们用作间接光照的源,而不是球谐函数。 ? 为什么要分配而不是添加到indirectLight.diffuse? 这表明光照贴图永远不会与顶点光照组合。...当使用具有法线贴图的材质时,这一点变得非常明显。 ? ?...有纹理资源,有采样器状态。采样器状态确定如何采样纹理,包括滤镜和钳位模式。通常,两个部分都是针对每个纹理定义的,但是并非所有平台都要求这样做。...首先将要包含动态对象的区域包围起来。 ? (包裹区域) 然后根据照明条件的变化添加更多的探头。请勿将它们放置在静态几何体中,这一点至关重要。也不要将它们放在不透明的单面几何图形的错误一侧。 ?
在Three.js中,一个可见的物体是由几何体和材料构成的。在这个教程中,我们将学习如何从头开始创建新的网格几何体,研究Three.js为处理几何对象和材质所提供的相关支持。...这个金字塔几何体,当使用MeshBasicMaterial时可以正常工作,但如果要使用MeshLambertMaterial或MeshPhongMaterial,就需要为该几何体指定法线向量。...第二个是当一个点围绕轴旋转时沿圆产生的表面细分的数量。在示例程序中,通过调用cosine.getPoints(128) 从余弦类型的曲线对象创建点阵列。...将图像映射到网格所需的纹理坐标是网格几何体的一部分。标准网格几何形状,如THREE.SphereGeometry已经定义了纹理坐标。...金字塔有六个三角面,每个面需要一个包含三个Vector2对象的数组来表示。必须以合理的方式选择将纹理坐标映射到三角面上。
四叉树这种数据结构出现的目的就是加速*截头体的裁剪,那么它是如何办到的呢?...当像素的alpha值为0时,该像素是完全透明的。如果像素的alpha值为128,其透明度就是50%,而alpha值为255则表示完全不透明。...在实现镜面效果时,我们在“镜子”这块区域中绘制某个特定物体的映像,而使用模板缓存来阻止物体映像在“非镜子”的区域中进行绘制。 为了进行这种阻止,就需要使用模板测试。...3.4 深度测试 当两个物体有前后位置关系时,位于前面的物体会将后面的物体部分或全部遮挡。这时为了优化考虑,GPU不应该绘制被遮挡的片段,这种行为称为遮挡剔除。...所以,当所绘制的图形的分辨率为640*480时,深度缓存中将有640*480个深度项。
,传入geoplot.crs中的对象 hue:当需要根据df中的某列或外部的其他序列数据来映射散点的色彩时,可传入对应df中指定列名或外部序列数据,默认为None即不进行设色 cmap:和matplotlib...k共同使用,而是更新为传入mapclassify分段结果对象,下文中会做具体演示 scale:用于设定映射散点大小的序列数据,格式同hue,默认为None即每个散点等大小 limits:元组型,当scale...不为None时,用于设定散点大小尺寸范围,格式为(min, max) s:当scale设置为None时,用于控制散点的尺寸大小 color:当hue设置为None时,用于控制散点的填充色彩 marker...hue时图例显示色彩映射信息,当设定为'scale'时图例显示大小映射信息 legend_values:list型,用于自定义图例显示的各个具体数值 legend_labels:list型,用于自定义图例显示的各个具体数值对应的文字标签...映射房源价格到尺寸上 看完了如何映射颜色,下面我们来看看如何将值映射到散点大小上,使用scale='price'来将房源价格映射到散点大小上,再配合一些相关参数进行绘图: import numpy
,传入geoplot.crs中的对象 hue:当需要根据df中的某列或外部的其他序列数据来映射散点的色彩时,可传入对应df中指定列名或外部序列数据,默认为None即不进行设色 cmap:和matplotlib...不为None时,用于设定散点大小尺寸范围,格式为(min, max) s:当scale设置为None时,用于控制散点的尺寸大小 color:当hue设置为None时,用于控制散点的填充色彩 marker...hue时图例显示色彩映射信息,当设定为'scale'时图例显示大小映射信息 legend_values:list型,用于自定义图例显示的各个具体数值 legend_labels:list型,用于自定义图例显示的各个具体数值对应的文字标签...看完了如何映射颜色,下面我们来看看如何将值映射到散点大小上,使用scale='price'来将房源价格映射到散点大小上,再配合一些相关参数进行绘图: import numpy as np # 简单绘制波士顿行政区划...值得注意的是在我们映射值到散点大小上时,默认条件下会自动在图例中按照等间距法分出5段,这样得到的图例各个圆圈大小过渡保证了均匀。
如果你不能等到文章结尾,这里有一个应用程序的视频。正如您在使用ARKit时所看到的,我们可以将虚拟对象放置在现实世界中,并在我们移动相机时将它们固定到位。...ARSCNView实例已经有一个ARSession实例,您只需要在启动时配置它。...SceneKit有几个基本类,SCNScene是所有3D内容的容器,您可以在场景中添加多个3D几何体,包括各种位置,旋转,比例等。...当ARSession启动时,计算出的摄像机位置最初设置为X = 0,Y = 0,Z = 0。...如果您现在运行该示例,您应该会看到一个漂浮在空间中的小型立方体,当您四处移动时,它可以保持它的位置,您应该能够一直走动,向下看,在它上面。
领取专属 10元无门槛券
手把手带您无忧上云