我一直在用 C# 对 3d 散点图进行一些研究。到目前为止我已经找到了一个library http://www.codeproject.com/KB/WPF/WPFChart3D.aspx这对我来说有些作用。但是,不一定像我需要的那样灵活。由于我需要的只是创建一个固定的 3D 散点图,因此除了使用 3D 绘图之外,还有其他替代方法吗?Point3D
C# 中的结构或任何其他替代方案不需要我引入第 3 方库并且可能会提供更好的灵活性?
我已经成功创建了 3D 散点图IL数值 http://ilnumerics.net/:
var colors
= new[] { Color.Red, Color.Black, Color.Blue, Color.Green /*...*/ };
ILArray<float> data = ILMath.zeros<float>(
3,
colors.Length);
ILArray<float> colorData = ILMath.zeros<float>(
3,
colors.Length);
int index = 0;
foreach (var p in colors)
{
data[0, index] = p.GetHue();
data[1, index] = p.GetSaturation();
data[2, index] = p.GetBrightness();
colorData [0, index] = p.R / 255.0f;
colorData [1, index] = p.G / 255.0f;
colorData [2, index] = p.B / 255.0f;
index++;
}
var points = new ILPoints()
{
Positions = data,
Colors = colorData
};
points.Color = null;
var plot = new ILPlotCube(twoDMode: false)
{
Rotation = Matrix4.Rotation(new Vector3(1, 1, 0.1f), 0.4f),
Projection = Projection.Orthographic,
Children = { points }
};
plot.Axes[0].Label.Text = "Hue";
plot.Axes[1].Label.Text = "Saturation";
plot.Axes[2].Label.Text = "Brightness";
this.ilPanel1.Scene = new ILScene { plot };
非常容易学习和使用,但是我的显卡有一些严重的问题(它是英特尔® 处理器显卡 2000所以我不怪他们...) - 只有 GDI 渲染器在工作,性能不是很惊人。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)