问题标签 [level-of-detail]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 对 x 轴的值进行排序,以便在计算 f(x) 时均匀地填充绘图 f(x)
用于一般理解的全局任务:我需要绘制函数 f(x) 的结果。简单的任务,但有两个问题:
- 对于 x 的每个值,计算 f(x) 需要很长时间(数十分钟甚至大约一个小时)。
- 我不知道 f(x) 的估计形状,因此我不知道在预定义的 x 限制中需要多少 x 值才能正确表示函数。
每次获得新的 f(x) 值时,我都想更新 f(x) 的图。我不想因此解决 f(x),我想增加细节水平,所以每次看图时,我都会在我的 (x_min, x_max) 范围内看到它,并在此范围内缓慢更新范围。
因此问题是:我需要一个函数,它以正确的顺序提供 x 列表。
受二分搜索的启发,我提出了以下算法:
list
x 个值中的a只包含唯一值并且已排序。
我在这里看到了一些缺陷:picked
数组可能是不必要的,并且每次细节级别增加时都会不必要地检查所选择的值。目前我对性能感到满意,但将来我可以将它用于更大的列表。
有没有办法让它更高效?是否已经在某些 python 包中实现了?我找不到它。
autodesk - 直接从装配体打开时,子装配体的详细程度表示不可编辑
我打开了一个详细级别表示 (LOD) 中的程序集(仅此程序集)。当我通过右键单击->打开打开子程序集时,它会以与主程序集中使用的完全相同的 LOD 打开。据我了解:它应该是可编辑的。但事实并非如此!即使我只想隐藏一部分或停用它,这两个程序集也会引发错误:
“正在编辑不同级别的详细表示[因此您无法编辑或保存此]”
当您打开装配的工程图时,此错误很常见,因为有时会打开同一装配的不同表示。然后,Inventor 只允许一个(甚至可能没有)是可编辑的。
我还尝试打开子组件并再次保存它的每个 LOD,以确保。但这并没有帮助。
我能做些什么?这不是正常/预期的行为,对吗?将来我将需要一直打开子程序集并对其进行编辑。我记得这在过去有效,但我们最近切换到 Inv2020,我不确定问题是否来自更改。感谢您提供有关如何解决此问题的任何想法!
aggregate - 使用 LOD 在 Tableau 中计算最大布尔值
我有一些如下所示的数据,其中相同的数据Id
在多行中重复,但Victory
值不同。
ID | 胜利 |
---|---|
1 | 错误的 |
1 | 错误的 |
1 | 真的 |
2 | 错误的 |
2 | 错误的 |
2 | 真的 |
3 | 错误的 |
3 | 错误的 |
3 | 错误的 |
我正在尝试计算Victory
per的数量Id
,所以如果有一行 where Victory
is TRUE
,那么它应该被认为是胜利。
我试图使用一个基本的计算字段,我认为这可以解决问题。然而,它认为胜利是TRUE
正确的,但胜利FALSE
包括任何Id
存在的地方FALSE
。
换句话说,上述数据将计算 3xFALSE
和 2x TRUE
,使用以下计算字段:
这是我得到的可视化,我希望的计数FALSE
仅为 1,但为 3。
我尝试了许多变化,但似乎无法获得预期的结果。
我正在使用 Tableau 2020.4。
编辑
我遇到了两种不同的解决方案来解决我的问题,我附上了下面的截图。注意Victory
替换为WIN
和Id
替换为Row Id
,但示例应该清楚。
解决方案 1
解决方案 2
sql - 如何在 Tableau 中对 running_sum 计算进行分区?
我目前正在尝试在 Tableau 的 LOD + 表表达式中完成以下 SQL:
通常,我只会在自定义 SQL 数据源中使用上述内容,但我需要在 LOD + 表计算中使用它,因为我希望可以根据仪表板上的参数自定义开始日期。
我尝试了以下方法:
但这会出现以下错误:
我可以成功地做到:
但这当然只是总体上的总和,而不是每个患者/诊所的总和。
我也试过:
但这会得到错误:
tableau-api - 当您有组合主键时如何在 Tableau 中进行循环
大家好,提前感谢谁会回答我的问题:我认为我需要在画面中使用 for 循环并寻找解决方法;
我的表具有以下结构
我需要分配给 id=1 失败;id=2 通过;id=3 失败
你有什么建议吗?
vulkan - VkSampler 忽略 maxLod
我遇到的问题是VkSampler
纹理采样器忽略了创建采样器maxLod
时使用的字段,VkSamplerCreateInfo
而只是渲染了图像的 mip 级别 0。起初我以为是 mipmap 的创建不正确,但情况似乎并非如此,因为即使是来自 vulkan-tutorial.com的示例代码也表现出相同的行为。
显卡是GeForce MX150,从VkPhysicalDeviceProperties
对应物理设备获取的vulkan api是4202651。另外:
片段着色器
创建 mipmap
纹理采样器
如果需要,我可以添加实际为纹理制作图像的代码或用于复制到统一缓冲区的代码。正如我最初所说,我所遵循的教程中的示例代码不会产生预期的更改结果maxLod
:https ://vulkan-tutorial.com/Generating_Mipmaps
unity3d - 处理程序 LOD、远处地形块的正确方法
我非常感谢您对计算生成的地形、LOD 等的想法以及“正确的方法”是什么。
这是我目前的计划:
我在程序上生成一个大的有限世界,在任何时候大部分或全部地图都是可见的。纹理/着色在 vert/frag 着色器中完成。
我大约 50% 通过实现:使用噪声函数在 CPU 上生成最近的块(例如玩家周围的 5x5 高度图)。在中距离,使用计算着色器的实例来生成高度图块的顶点并将缓冲区传递给 vert/frag 着色器。在远处,生成 1 个巨大的组合块,其顶点密度要小得多,并传递给 vert/frag。
我的问题是:这是(或 A)处理 LOD/Chunks/Distant 地形的正确方法吗?
我是否应该在 GPU 上生成所有内容并将网格传回 CPU 进行碰撞,而不是使用 CPU 处理近块?
我应该使用什么函数来生成和绘制地图?我目前在 OnRenderObject() 中使用 DrawProceduralNow。我刚刚开始尝试在 Update() 中使用 MaterialPropertyBlocks 和 DrawProcedural。
一个想法是让半自治的块根据玩家的位置改变它们的设置。或基于玩家周围空间的相对块,因此中间距离块将始终是中间 LOD(顶点之间的距离),但高度图会随着玩家走向它而更新。
我试图避免花太多时间进入错误的兔子洞。如果我能先建立正确的概念,那将节省我很多时间。
编辑:我也在考虑预先生成高度贴图纹理以节省程序计算时间。但这是一个有争议的问题,我的问题是在我已经有了顶点之后该怎么做。
tableau-desktop - 从 Tableau 中的表计算中提取最后一个值作为指标?
我在 Tableau 中有如下所示的原始数据:
并通过使用以下计算
我明白了
而我真正想要的只是 5.1(上个月值)作为一个重要指标(月环比增长百分比)。
我怎样才能做到这一点?
我对 Tableau 比较陌生,不知道如何将计算字段与日期分组方面结合使用来表达我想计算逐月增长。我已经尝试过运行总表计算的本地同比增长,但结果并不相同,因为我认为我的计算方法不同。
data-visualization - Tableau 中的 LOD 和 SQL 中的 GROUP BY
我是分析领域的新手,我正在努力提高我的 Tableau 技能。有人在解释 LOD 的概念,我对她说的有点困惑:
“假设我有一个 Tableau 工作表,显示行中的销售额总和,列中的区域。如果我创建 LOD:{Include[Customer Name]: Sum([Sales])},将其拖到行并显示其平均值,我现在可以看到每个地区的销售额总和和每位客户的平均销售额”
我的第一个问题是:这是否意味着上面的 LOD 会显示整个区域的销售额总和以及每个区域每个客户的平均销售额?或者它会显示每个地区每个客户的销售额总和以及每个地区每个客户的平均销售额?
我的第二个问题是:如果输出是每个地区每个客户的销售额和每个地区每个客户的平均销售额之和,那么它在概念上类似于 SQL 中的 (GROUP BY customers, region) 对吗?