问题标签 [parametric-equations]

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.

0 投票
1 回答
2531 浏览

python - 在 Python 中拟合参数曲线

我有形式的实验数据和形式(X,Y)的理论模型,(x(t;*params),y(t;*params))其中t是物理(但不可观察)变量,并且*params是我想要确定的参数。是一个连续变量,在模型中和和之间t存在1:1的关系。xtyt

在一个完美的世界里,我会知道T(参数的真实世界值)的值,并且能够做一个非常基本的最小二乘拟合来找到 的值*params。(请注意,我并没有尝试在我的图中“连接” 和 的值xy例如3124300231464345。)我不能保证在我的真实数据中,潜在值T是单调的,因为我的数据是跨多个周期收集的。

我对手动进行曲线拟合不是很有经验,并且必须使用极其粗糙的方法而无法轻松访问基本的 scipy 函数。我的基本方法包括:

  1. 选择一些值*params并将其应用于模型
  2. 取一个t值数组并将其放入模型中以创建一个数组model(*params) = (x(*params),y(*params))
  3. 插值X(数据值)model得到Y_predicted
  4. Y在和之间运行最小二乘(或其他)比较Y_predicted
  5. 再做一套新的*params
  6. 最终,选择最佳值*params

这种方法有几个明显的问题。

1)我没有足够的编码经验来开发一个非常好的“再做一次”,而不是“尝试解决方案空间中的所有内容”,也许是“在粗略的网格中尝试所有内容”,然后“再次尝试所有内容”粗网格热点中的细网格。” 我尝试使用 MCMC 方法,但我从未找到任何最佳值,主要是因为问题 2

2) 步骤 2-4 本身就非常低效。

我尝试过类似的东西(类似于伪代码;实际功能是由组成的)。关于在 A、B 上使用广播可以提出许多小问题,但这些问题不如需要为每一步进行插值的问题重要。

我认识的人建议使用某种期望最大化算法,但我对此知之甚少,无法从头开始编写代码。我真的希望有一些很棒的 scipy(或其他开源)算法我无法找到涵盖我的整个问题,但在这一点上我不抱希望。

0 投票
1 回答
1609 浏览

c++ - 将贝塞尔曲线解构为等间距斜率的线段

我目前正在开发一个程序,该程序采用赛道的比例 SVG 文件,并使用数据将赛道近似为点数组。理想情况下,任何两个连续点之间的斜率的绝对值是相同的,因为这将使我能够将角度、弧长和半径近似为已知精度,以用于计算曲线周围的最大速度。

SVG 使用具有 2 个控制点的 Bezier 近似。我有一个函数,它需要一个起点、2 个控制点和一个终点以及参数变量 t。我在这里找到了代码: 在 C++、OpenGL 中使用 De Casteljau 算法绘制贝塞尔曲线

我想要的结果是直道将由很少的线段组成(坡度变化很小),而急转弯将由许多线段组成(坡度变化很大)。这将在计算中保持恒定的准确性。

对 t 使用恒定步长不会在两点之间提供恒定斜率,这对于计算来说是一个大问题。有没有办法在知道结果线段的所需斜率的情况下找到正确的 t 值?

0 投票
1 回答
106 浏览

gnuplot - gnuplot parameter varying along a curve

I have a set of data, corresponding to N points of a parametric curve, defined by x(t),y(t),t. I would like to plot the curve in the x,y plane, putting a label with t value beside each point. I must use label command on each point or it is possible to use a specific plot type?

Many thanks! I've the only problem that the label appear without background and hence they are confused with the line connecting two points. Here, http://www.gnuplot.info/demo_svg_5.0/datastrings.html, on the last example, the author proposes the use of boxed option in the plot, which gives exactly what I'm searching for.

However, it seems that "boxed" only works in particular terminal types. There's any way to obtain the same effect in a postscript eps?

data set:

a 1. 2.

b 2. 4.

0 投票
1 回答
876 浏览

javascript - 如何用三角带渲染球体

我目前正在阅读有关渲染形状 WebGL(在这种情况下特别是球体)的教程,并且我了解球体上每个点的生成背后的数学。不过,在本教程中,作者定义了一种方法来查找所有顶点,另一种方法来生成构成球体的所有正方形。

从本教程中所做的事情中,有几件事尚不清楚。首先,参数方程生成的顶点如何与生成的正方形(三角形条)相连?在使用生成的顶点做同样的事情之前,我已经用普通的 javascript 和 HTML5 制作了一个简单的程序,所以我没有看到它们如何以及为什么必须与三角形条一起使用。另一个混淆点是关于生成正方形的函数:

要生成每个正方形的第一个点(左上角的点),请执行以下操作: var first = (latNumber * (longitudeBands + 1)) + longNumber;

我不确定为什么在每一步都需要将纬线的数量乘以经线的总数(加上 1 以完全环绕)。

这两个函数的代码都在教程的底部。在这种情况下使用三角条的一般解释也可能会有所帮助,谢谢。

0 投票
0 回答
48 浏览

python-3.x - 求解一组参数方程的参数变化

我正在尝试编写一些代码来计算 Q 变化时 X 和 Y 的值。我认为我需要基于参数方程来执行此操作,因为我需要绘制垂直线以及其他曲线以找到不同间隔的加速度和速度并找到路径的长度

下面的代码只包含我不知道如何解决的 XY 和 Q 部分。我可以发布完整的代码,但要长得多。我相信它显示了我遇到的实际问题。

我正在设置 Q 的开始(Qo)和结束(Qf)点,但我需要根据 X 和 Y 的新位置更新 Qi。这就是我不知道如何解决的问题

时间 (T) 是固定大小 ex .1。V 和 A 有一个由用户设置的起始值,其中 V = 输入,A = 重力。然后 V 和 A 的分量随着对象沿着基于每个点的斜率的路径移动而变化

当前程序运行良好,但前提是 X = Q 这意味着它不能用于垂直线

0 投票
1 回答
122 浏览

r - R 使用 rgp symbolicRegression 进行方程发现

我正在尝试使用包 rgp 进行方程式发现

但是,我不断收到一条错误消息。如果您能帮助指出我在上面所犯的错误,我将不胜感激。

有用的参考资料(在 R 中有这个会很棒):

https://www.researchgate.net/publication/237050734_Improving_Genetic_Programming_Based_Symbolic_Regression_Using_Deterministic_Machine_Learning

0 投票
1 回答
758 浏览

ios - 如何使用这个复杂的参数方程在 iOS 中绘制曲线

刚刚发现这个演示代码在 iOS 中使用参数方程绘制 在此处输入图像描述

可以看到关键代码就是生成这个点数组

这只是使用这个方程
在此处输入图像描述

现在我要画的是更复杂的毛曲线

在此处输入图像描述

但我遇到的问题是网站提供的参数方程中有一个数学符号,我不知道如何转换为iOS代码,这个
在此处输入图像描述

更新:现在我遇到一个新问题:“表达式太复杂,无法在合理的时间内解决”,除了像上面的心形曲线那样把它分解成小表达式之外,任何想法都可以y,因为手动分解它太难了

在此处输入图像描述

整个代码如下所示

0 投票
1 回答
360 浏览

c++ - 使用 3d 圆的参数方程旋转矢量

我在下面的代码中没有得到所需的输出,即 x2,y2,z2。这里角度 t 以度为单位,(x2,y2,z2) 是旋转后矢量面的品脱,(a2,b2,c2) 是旋转矢量的方向余弦。我使用 rviz 来可视化旋转矢量但是它没有像想象的那样来,即它没有旋转。

0 投票
1 回答
365 浏览

r - R:rgl 包的 writePLY 函数未正确写入顶点颜色

这是一个有趣的练习,它使用rgl包绘制 3D 参数化苹果,并将生成的网格写入文件。该对象在“RGL 设备”窗口中正确显示颜色(参见下面的屏幕截图)。但是,当我尝试使用 Blender 打开生成的 .PLY 文件时,颜色显示不正确(meshlab 也不起作用)。

问题:如何修复代码以便将苹果的颜色正确导入搅拌机。

下面的示例在屏幕上生成苹果对象,以及一个“.ply”

3D苹果参数化生成,但是,网格文件没有正确创建颜色

0 投票
0 回答
57 浏览

math - 近似贝塞尔曲线的均衡线

我有一条三次贝塞尔曲线,由f(t)t 在区间 [0..1] 中的位置定义,并且我用一个称为 p 的数组中表示的 n + 1 个顶点折线来近似贝塞尔曲线,每个顶点是 p[i] i 在 0..n 中,其中 p[i] = f(i / n)

但是,折线中的点实际上彼此之间的距离并不相同。p[i] 和 p[i+1] 之间的距离随曲线的长度而变化。我想让 p 中所有点之间的距离相同。

我该怎么做呢?