栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

LightningChart数据可视化工具图形控件教程47-SurfaceGridSeries3D(曲线网格系列3D)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LightningChart数据可视化工具图形控件教程47-SurfaceGridSeries3D(曲线网格系列3D)

LightningChart数据可视化工具图形控件教程47 SurfaceGridSeries3D(曲线网格系列3D)

演示示例: Simple 3D surface grid; Surface grid, flat projections; Surface grid, value coloring; Surface grids, water and ground

SurfaceGridSeries3D 可以将数据可视化为一个3D面。在SurfaceGridSeries3D中, 节点在X维度上是等距的,在Z维度上也是如此。


图:采用默认样式的面网格系列。高度数据用正弦公式表示。图例框显示高度着色间隔

图: 面网格节点。SizeX = 5, SizeZ = 7.

节点距离自动计算如下:

设置面网格数据

• 用RangeMinX 和RangeMaxX 属性来设置X轴值域,根据指定的X轴对最小值和最大值排序。
• 用 RangeMinZ 和RangeMaxZ 属性来设置Z轴值域,根据指定的Z轴对最小值和最大值排序。
• 设置SizeX 和SizeZ 属性,将网格的尺寸大小设置为以列和行表示。
• 为所有节点设置 Y值:

采用数据数组索引的方法

for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
{
		for (int nodeIndexZ = 0; nodeIndexZ < rowCount; nodeIndexZ ++)
		{
			Y =//一些高度值
			gridSeries.Data[iNodeX, iNodeZ].Y = Y;
		}
}
gridSeries.InvalidateData(); // 准备好新值后通知刷新

采用SetDataValue的另一种方法

for (int nodeIndexX = 0; nodeIndexX < columnCount; nodeIndexX ++)
{
		for (int nodeIndexZ = 0; nodeIndexZ < rowCount; nodeIndexZ ++)
		{
			Y =//一些高度值
			gridSeries.SetDataValue(nodeIndexX, nodeIndexX,
					0, // X值与网格无关
					Y,
					0,// Z值与网格无关
					Color.Green); //本例中没有使用源点颜色,所以这里用什么颜色都行
		}
}
gridSeries.InvalidateData(); // 准备好新值后通知刷新
根据位图文件创建曲面

演示示例: Large surface

用SetHeightDataFromBitmap方法可根据位图图像来创建曲面。面可获得位图尺寸(若没有使用反锯齿或重新采样)。对于每个位图图像像素,对红色、绿色和蓝色值求和。和越大,该节点的高度数据值就越高。黑色与暗色的值较低,而明亮和白色的值较高。

图:源位图与计算所得的曲面高度数据。暗色值较低,而亮色值较高。

填充样式

用Fill 属性来选择曲面的填充样式。可以使用以下选项:

• None: 使用此选项,不进行填充。这一选项对线框网眼很有用。
• FromSurfacePoints: 使用数据属性节点的颜色。
• Toned: 应用ToneColor
• PalettedByY: 根据调色板按Y值着色,参阅第Error! Reference source not found.章节
• PalettedByValue: 根据调色板按SurfacePoint’s Value 字段着色,参阅第Error! Reference source not found.章节
• Bitmap: 将位图图像拉伸来覆盖整个曲面。在BitmapFill属性中对位图图像进行设置。属性具有子属性可用于进行垂直和水平镜像。

左图: FromSurfacePoints 填充;每个数据点的颜色。 右图:Toned 填充.

左图:PalettedByY
右图: Bitmap 填充


图:PalettedByValue.

轮廓调色板

ContourPalette 属性可以为高度着色定义颜色阶。ContourPalette 可用于:
• Fill (参阅第 Error! Reference source not found.章节)
• Wireframe mesh (参阅第 Error! Reference source not found.章节)
• Contour lines (参阅第 Error! Reference source not found.章节)
为轮廓调色板可以定义无限数量的色阶。每一阶都有一个高度值以及一个对应的颜色。


图:曲面网格系列轮廓调色板样式(Type)设置为渐变(Gradient)。

调色板包括MinValue、Type 和Steps 属性。Type属性包括两个选择: Uniform 和Gradient。上图的轮廓调色板显示了如下信息:

• MinValue: 0
• Type: Gradient (渐变)
• Steps:
• [0]阶: MaxValue(最大值): 25, Color(颜色): Red红色
• [1] 阶: MaxValue(最大值): 50, Color(颜色): Blue蓝色
• [2] 阶: MaxValue(最大值): 75, Color(颜色): Lime绿黄色
• [3] 阶: MaxValue(最大值): 100, Color(颜色): White白色
使用第一阶的颜色给第一阶值下面的高度值着色。

线框网眼

用WireframeType 来选择线框样式。选项有:

• None: 无线框
• Wireframe: 一个纯色线框。可以用 WireframeLineType.Color 来设置颜色。

• WireframePalettedByY: 线框着色依据SurfacePoint的Y字段ContourPalette进行(参阅第 Error! Reference source not found.章节)

• WireframePalettedByY: 线框着色依据SurfacePoint的Value字段ContourPalette进行(参阅第 Error! Reference source not found.章节)

• WireframeSourcePointColored: 线框着色依据曲面节点的颜色进行

• Dots: 在节点位置绘制纯色点。

• DotsPalettedByY: 在节点位置绘制点,并根据SurfacePoints 的Y字段按照ContourPalette来着色。

• DotsPalettedByValue: 在节点位置绘制点,并根据SurfacePoints的Value字段按照ContourPalette来着色。

• DotsSourcePointColored: 在节点位置绘制点,依据曲面节点颜色来着色
线框线条样式(color、width、pattern)可通过WireframeLineStyle来编辑。

注意! 调色板彩色线框线和点可能与 WireframeLineStyle.Patternsettings 冲突,例如线框设置为 Dots 的 Dash 线条样式。 请在其中一个中使用实线。


左图:WireframeType = Wireframe.
右图:WireframeType = WireframePalettedByY.


左图:WireframeType = SourcePointColored.
右图:WireframeType = Dots.

左图:WireframeType = DotsPalettedByY.
右图: WireframeType = DotsSourcePointColored.

线框与填充同时使用的注意事项

当在3D模型中同样的位置绘制填充与线框时,可能会出现深度冲突(Z-Fighting)现象。这可以看成是线框线条中断。这是因为GPU不可能判断出哪个对象更靠近摄像头。

图 :采用填充的曲面网格线框。Z-fighting看上去像断损的线框线条。

为避免出现Z-fighting现象 ,可使用 WireframeOffset 或DrawWireframeThrough 属性。利用 WireframeOffset,可在3D模型空间中轻微移动线框。 DrawWireframeThrough 通过填充来绘制线框,无论该表面的部分是否对摄像头可见。

左图:WireframeOffset = (X=0; Y=0.1; Z=0).
右图:DrawWireframeThrough开启.

关于SurfaceGridSeries3D(曲线网格系列3D)章节就分享到这里了。下一章将继续分享SurfaceGridSeries3D(曲线网格系列3D)的轮廓线、消退、滚动曲面数据。

如果在实际应用中遇到技术问题或需要帮助,可以扫描下方微信二维码联系LightningChart官方技术支持。

如果您想进一步使用LightningChart数据可视化图形控件,请添加后回复“学习”可免费领取一套全功能板LightningChart数据可视化控件。

后续我会不断更新LightingChart更详细的使用方法,写文不易,还望多多回复关注支持!谢谢!

最新版V10 LightningChart下载地址:猛击下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/984010.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号