- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想实现一个 3D 赛车游戏,我需要近似地形上任意点的坡度的大小和方向。
地形数据格式:
- heights[ ][ ]: 2D 浮点数组(以米为单位表示高度)
- unit: (i, j) - (i, j+1) 和 (i, j) - (i+1, j) 之间的水平单位距离,以米为单位
前任:
3|1311
2|2542 <-- 2D array of heights in meters
1|2231 (unit distance between two cell is, say, 1 meters)
0|1121 (so the highest point of the terrain (x = 1.5 meters, y = 2.5 meters)
---- is 5 meters high)
0123
最佳答案
您当然可以沿 x 轴和 y 轴进行线性插值,即首先对低于和高于实际 x 值的 x 坐标的 y 值进行两次插值 - 一次是对于低于您的实际 y 值的 y 坐标和y 值高于您的实际 y 值一次。这为您提供了两个 y 值,您可以在它们之间进行线性插值以获得高度。
为了找到斜率,您需要找到该点的法线。要找到法线,您可以以相同的方式进行插值。给定其中一个补丁(由四个点 A:(x1,y1), B:(x2, y1), C:(x2,y2) 和 D:(x1,y2) 确定,x1 < x2, y1 < y2 和每个点还包括高度)你可以说其中一个点的法线,比如 A,是由向量 AB 和 AD 的叉积决定的。 B 处的法线以相同的方式为 BC x BA。
以与高度相同的方式线性插值法线。我不知道你想要什么格式的斜率,但如果你想要一个指向斜率方向的向量,那么可以通过 S = N - Up 计算,其中 Up 只是向上向量(在这个例子中(0,0,1) 因为您使用 Z 作为向上。
另一种方法是将正方形分割为三角形,例如 ABD 和 BCD。整个三角形的法线将分别是 AB x AD 和 BC x BD。在这种情况下,请查看 http://www.cc.gatech.edu/classes/AY2007/cs3451_spring/lininter.pdf例如关于如何在三角形上插入高度。这种方法为您提供平滑的三角形,但相邻三角形之间的斜率存在显着差异。
关于terrain - 如何计算地形数据上点的斜率(例如数字高程矩阵),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2060813/
目前我正在开发一个小项目,只是为了一点乐趣。它是一个使用 OpenGL 的 C++、WinAPI 应用程序。 我希望它能变成一款在六边形网格上玩的 RTS 游戏,当我完成基本的游戏引擎时,我计划进一步
我想实现一个 3D 赛车游戏,我需要近似地形上任意点的坡度的大小和方向。 地形数据格式: - heights[ ][ ]: 2D 浮点数组(以米为单位表示高度) - unit: (i, j) - (i
我在我的 gwt 项目中使用 cesium,我在地形中使用 cesium-terrain-server。 (不是 cesium-gwt ,用 jsni 开发我自己的代码)我的问题:我在地形上创建图形(
我最近正在探索和研究 Sebastian Lague 的 Procedural Landmass Generation 的部分内容系列。绝对优秀的系列,我会推荐给任何想要了解更多关于 Unity 和
我可以使用 2D Perlin 噪声函数来生成高度值,但我不明白为什么要使用 3D Perlin 噪声函数。在 Notch's blog ,他提到在 Minecraft 上使用 3D Perlin 噪
我正在尝试实现我找到的一些源代码 online使用柏林噪声生成高度图。我已经成功地使用 Noise3 函数获取了高度图,其中第三个坐标是随机“种子”,以允许随机高度图。 我的问题是生成的地形相当沉闷
问题:我想使用具有自己样式的 google maps v3 地形图作为自己的 mapType。 我从这段代码开始: var mapOptions = { scrollwheel: false,
我在 Three.js 中开发了一个带有纹理散布的地形生成系统,但我无法对其应用法线贴图。我该怎么办?此代码目前功能齐全。 我查看了一些 WebGL 着色和法线贴图的教程,但找不到适合我的代码的教程。
我正在使用带有 VBO 和索引等的现代 OpenGL。 首先我从高度图加载地形,然后我把它分成 block (在我的例子中是 128x128)我将所有顶点加载到 VBO(对于每个地形 block )然
我有一个程序生成的 Terrain,它基于 Unity 的地形系统。 现在我想要一张来自Terrain 的Map,不是迷你 map 而是完整 map ,保存为2D Texture。 首先我想到了一个R
你好我可以同时将水变暗并更改为样式化 map ,以便重置其他值。我想要的是一张像 MapTypeId.TERRAIN 这样的绿色景观和深色水域的 map 。我可以设法让水变暗,现在也想要像 MapTy
我尝试使用以下代码将树木添加到我的地形中: // Create Trees for (int x = 0; x (); TreeInstance treeTemp =
我想使用 Mapbox 的 terrain-rgb 瓦片作为 Mapbox GL map 中的图层。我看到的操作 terrain-rgb 数据的示例使用 L.tileLayer 为新层构建图 bloc
我非常喜欢 Google map 的 Terrain map 类型。 但是 map 的默认背景不是绿色,我怎样才能把颜色变成黄色呢? 最佳答案 Terrain 没有黄色版本 map type .您可以
我正在使用 Libtcod 和 Python 构建一个回合制策略游戏。游戏 map 具有可变地形,每个方 block 可以是 5 种类型中的一种: 平原 - 移动成本 1 森林 - 成本 2 河流 -
我有一条随时间移动的路径。我使用 Cesium.sampleTerrain 获取位置高度并将它们覆盖在地形上。问题是,即使所有点都在地形上,连接 2 个点的线有时也会在地形下方。我怎样才能在地形上也覆
我目前的理解是,当用户将鼠标悬停在 map 按钮 (MapTypeId.ROADMAP) 上时,google maps api3 MapTypeId.TERRAIN 显示为一个复选框选项。我想把它分成
我正在尝试为我的地形映射的第一部分绘制一个三角形网格,但是有一个小错误,我不确定我哪里出错了。有人可以指出我的错误或解释如何正确构建此网格。 为了澄清,请查看网格的右侧,这不应该发生。 顶点: vec
使用这个 stackoverflow question ,我尝试将一些自定义样式应用于 Android map View 。 造型基本上就是把水弄黑 mapstyle_json.js: [ {
所以我创建了一些自定义 JSON 来使海洋呈现更饱和的蓝色,但现在似乎无法将 map 默认设置为 TERRAIN View ,它只是转到标准 ROADMAP View ,似乎无法正常工作为什么会这样,
我是一名优秀的程序员,十分优秀!