是否有可能产生这种随机曲线?

我已经尝试了IMagick bezier曲线(参见http://www.php.net/manual/en/function.imagickdraw-bezier.php),但即使有20-30分,它们看起来也不像这样.这是我的样本http://mechanicalzilla.com/sandbox/imagick/curve.php
谢谢.
先来看看:

猫需要在曲线中移动到x .(见箭头)
当猫击中x时,它应该保持10秒,之后猫应该回到o,再次在曲线中,然后重复.
我用这段代码试了一下:
function curve() {
$('#cat').delay(10000).animate({top: '-=20',left: '-=20'}, 500, function() {
$('#cat').delay(10000).animate({top: '+=20', left: '+=20'}, 500, function() {
curve();
});
});
}
curve();
Run Code Online (Sandbox Code Playgroud)
但猫正在这样移动:

有没有办法让猫在这种曲线中移动?
在我的OpenGL项目中,我想动态创建平滑的多边形,类似这样:
问题主要在于平滑过程.到目前为止,我的程序首先是创建一个随机放置顶点的VBO.
然后,在我的片段着色器中,(我正在使用可编程函数管道)应该发生平滑过程,或者换句话说,从顶点之间先前定义的"线"创建曲线.
而这正是问题所在:我对thoose复杂的数学算法并不十分熟悉,如果一个点位于"平滑多边形"内部,它将检查它.
我已经在互联网上搜索了一段时间,试图找到一种简单,直观,快速的方法来使用5个数据点逼近二次多项式.
我正在使用VC++ 2008.
我遇到过很多库,比如cminipack,cmpfit,lmfit等......但是它们都没有看起来非常直观,而且我很难实现代码.
最终我在一维数组中放置了一组离散值,我试图通过曲线拟合数据找到"虚拟最大点",然后在非整数值(其中一个整数)处找到该数据的最大点值只是看数组的最高精度).
无论如何,如果有人做了类似的事情,并且可以指出我们使用的软件包,也许是软件包的简单实现,那就太棒了!
我很乐意提供一些测试数据和图表来向您展示我正在使用的东西,但我觉得我的要求非常简单.非常感谢.
编辑:这是我写的代码有效! http://pastebin.com/tUvKmGPn
更改大小以更改使用的输入数量
0 0 1 1 2 4 4 16 7 49
a:1 b:0 c:0按任意键继续...
谢谢您的帮助!
我需要一个算法来生成一个封闭的简单(没有自交叉)多边形曲线.这将成为我游戏的完美迷宫.

你能指点我正确的关键词吗?
我想绘制任何(随机)曲线,给定:
我怎么能做这样的东西限制画布边界,加上曲线不能交叉.我试图找到一些解决方案,但我无法弄明白.谢谢你的时间.
以下是我想要完成的更详细的视图:
这是在画布上绘制的二次曲线.一切都好.问题是,如何在没有所有点的情况下绘制这个,只需要以像素为单位的固定长度,随机点,以画布大小和非交叉为界.

代码看起来像这样:
function fixedCurve( A, B, length ){
for(int i = A; i < B; i++){
//Calculate random point with propper distance to get first base point, random direction could be calculated before loop.
//Basicly this loop should calculate integrate of the curve and draw it each step.
}
}
Run Code Online (Sandbox Code Playgroud) 我不熟悉Python的一些基本知识matplotlib.pyplot.我的问题是如何绘制一些更高次多项式?我看到的一种方法是用x表示y,然后绘制值.但我有两个困难:
我试图绘制的多项式是:
c0 + c1*x + c2*y +c3*x*x + c4*x*y + c5*y*y + c6*x**3 + c7*x**2*y + ..... c26*x*y**5 + c27*y**6
Run Code Online (Sandbox Code Playgroud)
所有的系数c0来c27是已知的.如何绘制此曲线?
您还可以向我推荐一些资源,我可以从中学习Python中的绘图和可视化吗?
澄清: 对不起每个人都说不够清楚.它不是表面的方程(涉及3个变量:x,y和z).我应该在最后加零:c0 + c1*x + c2*y + c3*x*x + c4*x*y + c5*y*y + c6*x**3 + c7*x**2*y + ..... c26*x*y**5 + c27*y**6 = 0
我认为我的问题类似于:将对象的旋转方向旋转到THREE.JS中的样条点切线,但是我无法正确访问jsfiddle并且我在解释的第二部分中遇到了困难.
基本上,我创建了这个jsfiddle:http://jsfiddle.net/jayfield1979/qGPTT/2/,它演示了一个简单的立方体,遵循由样条曲线创建的路径SplineCurve3.使用标准的TrackBall鼠标交互进行导航.
沿着路径定位立方体很简单.但是我有两个问题.
首先,我使用spline.getTanget( t )where t是路径上的位置,以使立方体旋转(Y轴仅为UP).我想我错过了一些东西,因为即使我提取.y了所提供的切线的属性,旋转仍然显得不合适.是否需要进行一些正规化?
其次,沿着路径的速度变化很大,显然在创建更紧凑的曲线时会堆积更多的点,但我想知道有没有办法重构路径以更均匀地分布点之间的空间?我遇到了这个reparametrizeByArcLength功能,但很难找到如何使用它的解释.
如果对数学假人有任何帮助或解释,我们将非常感激.
我有一个函数,在分子中有一个向量,在分母中有向量的总和.因此,每个组件是向量的一个组件除以一个取决于组件总和的函数.我想绘制一条曲线,表示第一个组件中的功能,固定其他组件.为什么这段代码不起作用?
y <- vector(length=2)
y0 <- c(1,2)
f <- function(y) y/(1+sum(y))
g <- function(x) f(c(x,y0[2]))[1]
curve(g, 0, 2)
Run Code Online (Sandbox Code Playgroud)
f和g都在数值处按预期进行评估,但曲线函数给出了误差:
Error in curve(g, 0, 2) :
'expr' did not evaluate to an object of length 'n'
Run Code Online (Sandbox Code Playgroud)
我试过没有成功的矢量化g.感谢任何帮助.
在下面的曲线(蓝线)中,我试图检测应该位于x = 2.5附近的"膝盖/肘部"
这是我正在使用的一组值:
x = {-10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8 ,9,10}
y = {0,10,20,30,40,50,60,70,80,90,100,107,122,145,176,215,262,317,380,451,530,617}
我已经尝试了Kneedle算法和图形曲率的正式定义(带符号曲率).我对Kneedle算法的问题是在实时应用程序(嵌入式系统)中我不知道哪个是y轴的最大值,所以我不能正确地对点进行归一化,也找不到斜率值适用于所有情况.当使用图形曲率的形式定义时,我尝试用5阶多项式(绿线)拟合曲线,然后得到导数的值来计算曲率.然而,该方法在x = -2附近找到曲率,因为由于多项式,该点周围存在曲率.
有人可以建议我检测膝盖/肘部的方法吗?