请您介绍一下如何在C#(3.0)中设计一个数据结构,它将代表3D数据结构。
我的意思是说类似于立方体的东西。喜欢根据时间,地点查看的库存数据。
请提供一个简单的工作示例,甚至是链接。
答案 0 :(得分:5)
我怀疑这是你正在寻找的,但由于CUBE有三个相同的尺寸,因此可以用一个整数表示。
int CUBE = 4; // A 4x4x4 cube
股票数据有三个以上的维度(如果你必须调用它们),每个维度都是唯一的。
这是家庭作业吗?
答案 1 :(得分:2)
怎么样:
struct StockTickData
{
string Symbol;
decimal Price;
DateTime When;
string Where;
}
我不确定你真的需要“3D”。
答案 2 :(得分:0)
class cube{
private size;
public set_size(value){
if (value < 0){
value = -value; // makes sure we have a positive size
}
this.size = value
}
public get_size(){
return this.size;
}
public get_volume()
{
return this.size*this.size*this.size
}
}
但你也可能指一个3D数组......这是一个数组数组
在我的头顶,你可能有最内层的数组有三个元素,代表一个顶点的x,y,z值。然后你会有一个这些顶点数组的数组,再说三个,这将是三角形。然后你有一个这些三角形的数组来制作一个对象。
虽然这种情况下面向对象的编程会使开发更简单。使用整数和函数创建一个顶点类来控制单个顶点。然后创建一个三角形类,它具有三个“顶点”属性和函数来控制三角形,例如围绕一个顶点旋转。然后是另一个可以有三角形数组的对象类。
如果您希望我扩展或澄清任何此类
,请与我们联系答案 3 :(得分:0)
您的多维数据集需要以下属性:
1)位置坐标,最可能是描述XYZ坐标的3个浮点数的向量。 2)立方体的尺寸,同样是3个浮子的矢量,描述了立方体的高度宽度和深度 3)你的立方体的方向,再次描述偏航俯仰和滚转角度的3个浮标矢量
基本上,3x3矩阵足以表示立方体。
[X Y Z] [L W D] [Y P R]
这3个向量是最小的,足以描述3D空间中的立方体,并对其执行各种操作。使用矩阵执行旋转,拉伸,移动等操作。 DirectX / Direct3D文档有很多信息这种东西,如果你正在寻找什么。任何基本的3D gamedev书都可以。