首页 文章
  • 2 votes
     answers
     views

    在Python中绘制Bezier曲线的麻烦

    嗨,我需要一些帮助 . 我在Python(Tkinter)中编写了一个代码,它绘制了一个3度贝塞尔曲线,它的工作原理......有点问题 . 我的问题是:如何从keybord x和y坐标直接输入控件点,而不是第一个x然后y(就像在我的代码中) . 第二个问题是关于参数(u或t)值 . 通常它被规范化(值0到1)但是对于循环不能使用步数的十进制值(我知道)它显而易见:)) . 如果我把u = 1-&...
  • 5 votes
     answers
     views

    用多段三次贝塞尔曲线和距离以及曲率约束逼近数据

    我有一些地理数据(下面的图像显示了河流的路径为红点),我想用多段三次贝塞尔曲线近似 . 通过stackoverflow here和here上的其他问题,我发现了来自"Graphics Gems"的Philip J. Schneider的算法 . 我成功地实现了它并且可以报告即使有数千个点它也非常快 . 不幸的是,速度带来了一些缺点,即装配非常不合适 . 请考虑以下图形: 红点...
  • 1 votes
     answers
     views

    通过3个点绘制2条贝塞尔曲线,以模拟圆弧

    我有三个不在同一条线上的点,最初我想通过这三个点绘制一个圆弧,我做了 . 但实际上镀铬并没有画出真正的圆形,而是使用几条贝塞尔曲线来假装它是圆形,因为贝塞尔曲线很便宜 . 如果铬作为一个中间人这样做,为什么我不是自己绘制圆形贝塞尔(两个bezier,从点1到中点,中点到点3)?这将更清洁,更便宜(2与浏览器决定的未知数量的贝塞尔曲线相比) . 那是我被困的地方,怎么样? “控制点”应该在哪里? 这...
  • 1 votes
     answers
     views

    贝塞尔曲线的一致离散化

    我需要对具有沿曲线均匀分布的点的三阶贝塞尔曲线进行离散化 . 曲线由四个点p0,p1,p2,p3定义,通用点p(t)由0 <t <1给出: point_t = (1 - t) * (1 - t) * (1 - t) * p0 + 3 * (1 - t) * (1 - t) * t * p1 + 3 * (1 - t) * t * t * p2 + t * t * t * p3; 我的...
  • 4 votes
     answers
     views

    在C程序中复制Blender bezier曲线

    我正在尝试从Blender导出(3D)贝塞尔曲线到我的C程序 . I asked a related question a while back,我成功地被指示使用De Casteljau 's Algorithm to evaluate points (and tangents to these points) along a bezier curve. This works well. In...
  • -1 votes
     answers
     views

    绘制Bezier曲线问题并没有在最后一点结束

    我正在学校制作一个绘制Bezier曲线的程序(仅适用于n形式<1,9>) . 对于绘图,我使用了曲线定义中的强力算法(为简单起见) . 我知道De Casteljau会更好 . 当我根据参数t计算点数,即<0.0,1.0>时,我还必须设置参数化步骤(delta t) . 我称之为步骤 . 我有一个从0.1到0.05的可选步骤 - 我只是在GUI中选择它 . 我的主要问题是,...
  • 2 votes
     answers
     views

    立方贝塞尔曲线段

    如果我有4个点描述贝塞尔曲线P1,P2,P3,P4(其中P1和P4是曲线的终点,P2和P3是曲线的控制点),我怎么能找到描述的点只是这个贝塞尔曲线的一部分? 我发现这个answer正是我要找的,但答案似乎错了 . 如果我在应该代表整个贝塞尔曲线的方程中设置t0 = 0和t1 = 1,则结果点无效 . 它们不等于原始点 . 似乎该解决方案与De Casteljau的算法有关,但我无法理解它是如何工作...
  • 1 votes
     answers
     views

    Python - 在贝塞尔曲线上均匀分布对象

    我已经阅读了关于这个主题的所有内容,但是我没有设法将部分代码翻译成我理解的简单python . 我得到了这个,基于de Casteljau算法的this very good explanation: def divideCurve(p0, cp0, cp1, p1, t): # p0 and p1 are the start/end points of the bezier curve, ...
  • 1 votes
     answers
     views

    选择贝塞尔曲线绘制步骤

    贝塞尔曲线是参数曲线,意味着存在参数 t ,在该参数下可以评估多项式以找出放置在曲线上的点的位置 . 一些常见案例的多项式可以在en.wikipedia.org/wiki/B%C3%A9zier_curve#Specific_cases找到 要在屏幕上绘制贝塞尔曲线,可以通过微小的步骤来评估从 0 到 1 的多项式 . 然而,这将是非常浪费的,因为通常参数"space"不对应于...
  • 0 votes
     answers
     views

    将Bezier曲线解构为具有相等间距斜坡的线段

    我目前正在开发一个程序,该程序采用比赛轨道的比例SVG文件,并使用该数据将轨道近似为点阵列 . 理想情况下,任何两个连续点之间的斜率的绝对值将是相同的,因为这将允许我将角度,弧长和半径近似为已知精度,以用于计算曲线周围的最大速度 . SVG使用具有2个控制点的贝塞尔近似 . 我有一个函数,它采用起点,2个控制点和一个终点以及参数变量t . 我在这里找到了这个代码:Drawing Bezier cu...
  • 1 votes
     answers
     views

    在javascript中有效地细分贝塞尔曲线

    给定起点和终点以及贝塞尔曲线的两个控制点,我想计算细分(在JavaScript中)以近似曲线公差内的直线段(避免段之间的角度太大) . 在我尝试编写自己的算法之前,我主要想看看是否已经有一个高效的开源算法 . 以下是我发现接近这样做: https://github.com/turf-junkyard/turf-bezier - 虽然它不完全相同,但我可以使用一些代码,因为我已经有了样条曲线 . ...
  • 2 votes
     answers
     views

    高斯求积法近似于Java中的Bezier曲线长度

    我试图弄清楚如何近似我的n度贝塞尔曲线的长度,我发现我可以使用高斯正交积分来近似它 . 在我的控制点P1(220,40),P2(220,260)P3(35,200)和P4(120,160)多次尝试后,我的程序应该给我一个272.87的曲线长度(如图所示) here);但是,我只获得了大约229.18的结果 . 我已经检查了GaussLegendre class中的常量,它们是正确的 .有人可以告诉...
  • 2 votes
     answers
     views

    Bezier曲线弧长参数化

    我正在学习贝塞尔曲线,并希望使用估计方法参数化距离方程 . 到目前为止,我的代码似乎适用于单点(EG Bezier(start=0, mid=1, end=5, nPoints=6) 产生 [0 1 2 3 4 5] ) . 但是,当我尝试将其应用于多维曲线时,我的结果并不像预期的那样 . C#代码(在Unity中执行以实现可视化) . 函数(应该)在曲线上获得一个点(由点 pts 定义),长度...
  • 1 votes
     answers
     views

    贝塞尔曲线评估

    我在这里使用de Casteljau的算法http://www.cgafaq.info/wiki/B%C3%A9zier_curve_evaluation来关注本文,我尝试使用主题Drawing Bezier curves using De Casteljau Algorithm in C++ , OpenGL来帮助 . 没有成功 . 评估时,我的bezier曲线看起来像这样 正如你所看到的,即...
  • 5 votes
     answers
     views

    计算用于定义二次贝塞尔曲线子部分的参数

    我有一个描述为(startX,startY)到(anchorX,anchorY)并使用控制点(controlX,controlY)的二次贝塞尔曲线 . 我有两个问题: (1)我想根据x点确定该曲线上的y点 . (2)然后,在我的贝塞尔曲线上给出一个线段(由我的贝塞尔曲线上的两个中间点定义(startX',startY',anchorX',anchorY')),我想知道该线段的控制点这样它就会与原始...
  • 3 votes
     answers
     views

    查找线路的交叉点

    我有两条共享终点的贝塞尔曲线 . 这些曲线中的每一条在左侧和右侧都具有“延伸”,类似于道路的边缘 . 扩展部分由接近贝塞尔曲线的线段组成 . 我想找到这些路径到贝塞尔曲线的共享终点的最近交点 . Here is a diagram I've drawn of the problem 每条线路径都有超过100个顶点,因此每条线相交并保持最近的交叉点可能变得非常慢,因为它必须实时运行 . 我在线路上运...
  • 0 votes
     answers
     views

    Libgdx如何设置Bezier曲线的初始起点

    我正设法沿着bezier曲线绘制一个精灵,这让我非常高兴 . 但是我不能从我的定义的起点初始化它,无论我尝试过什么,它总是从位置0,0开始bezier . 这是我的bezier: final Vector2 tmpV = new Vector2(); paths.add(new Bezier<Vector2>(new Vector2(w, 150), new Vector2(w, h...
  • 4 votes
     answers
     views

    在Java中绘制贝塞尔曲线

    我需要创建一个简单的Java程序,通过任意数量的点逐个像素地绘制贝塞尔曲线 . 此刻,一切似乎都没问题,只是曲线总是在x = 0 y = 0坐标处结束 . 截图1 截图2 我需要它在最后一点结束 . 我的大脑今天工作不太好,所以我正在寻求帮助 . 这是我有的: private void drawScene(){ precision = Float.parseFloat(this.jT...

热门问题