问题标签 [curvesmoothing]
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.
c++ - 如何标准化数字序列?
我正在从事用户行为项目。根据用户交互,我得到了一些数据。有一个很好的序列,随着时间的推移平滑地增加和减少。但是有一点差异,这是非常糟糕的。请参考下图:
您还可以在此处找到数据:
2.0789 2.09604 2.11472 2.13414 2.15609 2.17776 2.2021 2.22722 2.25019 2.27304 2.29724 2.31991 2.34285 2.36569 2.38682 2.40634 2.42068 2.43947 2.45099 2.46564 2.48385 2.49747 2.49031 2.51458 2.5149 2.52632 2.54689 2.56077 2.57821 2.57877 2.59104 2.57625 2.55987 2.5694 2.56244 2.56599 2.54696 2.52479 2.50345 2.48306 2.50934 2.4512 2.43586 2.40664 2.38721 2.3816 2.36415 2.33408 2.31225 2.28801 2.26583 2.24054 2.2135 2.19678 2.16366 2.13945 2.11102 2.08389 2.05533 2.02899 2.00373 1.9752 1.94862 1.91982 1.89125 1.86307 1.83539 1.80641 1.77946 1.75333 1.72765 1.70417 1.68106 1.65971 1.64032 1.62386 1.6034 1.5829 1.56022 1.54167 1.53141 1.52329 1.51128 1.52125 1.51127 1.50753 1.51494 1.51777 1.55563 1.56948 1.57866 1.60095 1.61939 1.64399 1.67643 1.70784 1.74259 1.7815 1.81939 1.84942 1.87731 1.89895 1.91676 1.92987
我想平滑这个序列。该技术应该能够消除具有X和Y特征的数字,即单增或单减的误差。
如果没有消除,技术应该能够改变它们,这样系列就不会受到错误的影响。
我尝试过但失败了:
我试图测试值之间的差异。在某些特殊情况下它可以工作,但是对于本文中呈现的序列,数字之间的距离不是我可以消除错误的程度
我尝试应用一个计数器,它是一些 X,然后只接受更改,否则点仅映射到前一个点。在这里我很难确定 X 的值,因为这是基于用户交互的,我并不是它的真正控制者。如果用户交互是这样的,它的情节将是一个锯齿形图案,我最终会出现“根本没有检测到用户移动数据”的情况。
请分享您知道的技术。
PS:本例中提供的数据是一个特例。没有典型的数字将出现的模式,但我们希望某个范围与所有示例都是连续的。我正在寻找的解决方案是通用的。
r - 计算 R 和 ggplot2 中平滑线的曲线最大值的 x 值
我用 ggplot2 在 R 中为我的数据集计算了一条平滑线:
如何计算平滑线曲线最大值的 x 值?
c# - SolidWorks 中的扫描曲线
我正在尝试通过 SolidWorks 中的一组 3D 点扫描一条连续曲线。扫描旨在表示一个管,因此与曲线保持垂直的圆形横截面沿曲线进行扫描。该曲线是使用来自 xyz 点的 SolidWorks 曲线制作的。这些点是从我自己的 C# 程序生成的。横截面沿曲线保持恒定非常重要。
定义曲线的点会导致扫描失败。这是由于定义曲率的点对于给定的直径扫描过大。(如果我使横截面的直径非常小,扫描确实成功,但这不是我的问题的解决方案)。
我想要做的是删除导致扫描失败的代码(最好是 MATLAB 或 C#)。我的曲线中有很多点(大约 300 个),如果将其中一些点删除就可以了。我必须对多组点执行此过程。
如果这是不可能的,那么最终的管子并不总是在每个点上都是连续的是可以接受的,所以急弯是可以的。然而,在这两种情况下,横截面都必须保持不变。
积分:https ://www.dropbox.com/s/ri4oti7butwe77o/Points.txt?dl=0
python - 根据其内容将numpy数组拆分为类似的数组
我有一个表示曲线坐标 (x, y) 的 2D numpy 数组,我想将该曲线分割成相同长度的部分,从而获得分割点的坐标。
最简单的例子是为两个点定义的线,例如[[0,0],[1,1]],如果我想将它分成两部分,结果将是[0.5,0.5],对于三部分[[0.33,0.33],[0.67,0.67]]等等。
如何在数据不太简单的大型数组中做到这一点?我正在尝试按数组的长度拆分数组,但结果并不好。
c# - 如何使用曲线平滑地弯曲 Horizons?
我一直在开发一个无尽的跑步游戏,我希望它尝试让环境像地铁表面一样随机弯曲地平线。我从商店下载了这个地平线弯曲资产,效果很好。在资产中,我有一个名为的方法ApplyCurvature(float val)
,它将它应用到场景中并弯曲所需的量(现在它只向左弯曲ApplyCurvature(5f);
)。
我希望它随机改变曲率,如左、中或右。我确实尝试了 Random 方法,只是为了确保我可以为游戏中的每一帧应用曲率,但这不是我想要的。我考虑过使用统一脚本给出的曲线,但我不知道如何应用它们。谁可以帮我这个事?我是 unity3d 的新手,所以如何使用曲线通过我下载的资产应用效果。帮助将不胜感激。
上面的代码是我尝试随机更新左右弯曲量的代码。
r - 如何从R中的数据数组中删除异常值
我想定位并删除测量中的异常值,并用平滑值替换以更好地捕捉趋势。请在下图中找到带有异常值的数据