如何从向量 3 一维数组返回 y 值
我有一个充满顶点位置的向量 3 (x,y,z) 1D 动态数组。
如何返回给定 x 和 z 坐标处的 y 值?
编辑::抱歉缺乏细节。
我使用的是c++,在Visual Studio 2008中编译。 该向量是一个向量类,存储 3 个浮点值,定义 x、y 和 z 变量,用于位置。
就像 Vector3 *array;
数组=新的Vector3[100];
许多位置值被添加到数组中。
当您访问数组成员以获得特定值时,它就像
array[0].y
但我想找到与特定 x 和 z 相对应的 y 值,
例如
GetY(float x, float z)
...
return y;
I have a vector 3 (x,y,z) 1D dynamic array full of vertex positions.
How would I return the y value at a given x and z coordinate?
Edit:: Sorry about the lack of detail.
I am using c++, compiling in Visual Studio 2008.
The vector is a vector class storing 3 float values defining an x, y and z variable, it is used for position.
It's like Vector3 *array;
array = new Vector3[100];
Lots of positional values are added to the array.
When you access a member of the array for a specific value it's like
array[0].y
But I want to find a the y value that corresponds to a specific x and z
like
GetY(float x, float z)
...
return y;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我想你有类似的东西
然后,为了得到你想要的,你需要迭代数组。
编辑:关于您的评论:
虽然我忘记了一个问题是
float
的不准确,所以也许您会遇到地图问题。如果你这样做的话请评论回来。 :)编辑:
添加了更安全的版本,使用
float_wrapper
。I suppose you have something like
Then, to get what you want, you'll need to iterate over the array.
Edit: On your comment:
Though a problem that I forgot is the inaccuracy of
float
s, so maybe you get problems with the map. Comment back if you do. :)Edit:
Added a more safe version, employing a
float_wrapper
.您只需在数组中搜索具有给定 x 和 z 坐标的向量元素,并获取该元素对应的 y 值。
You just have to search your array for the vector element with the given x and z coordinates and the get this element's corresponding y value.
如果你的意思是,你的向量类似于
float vector[3];
那么vector[1]
引用数组中的第二个值,表示向量的 Y 坐标。If you mean, that your vector is something like
float vector[3];
thenvector[1]
references the second value in the array, said your Y coordinate of the vector.您觉得这段代码怎么样:
How do you like this code:
请永远不要对未排序的数组/向量执行搜索。即使今天只有 100 个元素,明天也可能会变成 100000 个。看看Wiki排序算法,其中一些很容易理解和实现。然后查看 Wiki 二分搜索。我将从快速排序开始,这也让您很好地了解二分搜索的工作原理。
相信我,以后你会感谢我的。
Please, NEVER EVER perform a search on an unsorted array/vector. Even if it has only 100 elements today, it might become 100000 tomorrow. Take a look at Wiki Sorting Algorithm, some of them are easy to understand and implement. Then look at Wiki Binary search. I would start with quick sort, which also gives you a good idea how binary search works.
Believe me, you will thank me later.