相关疑难解决方法(0)

通过三个给定点绘制二次Bézier曲线

我在2D中有三个点,我想绘制一条穿过它们的二次贝塞尔曲线.如何计算中间控制点(x1y1quadTo一样)?我知道大学的线性代数但需要一些简单的帮助.

如何计算中间控制点以使曲线也通过它?

math bezier curve quadratic

24
推荐指数
1
解决办法
2万
查看次数

d3.js中的点数

我正在d3.js中创建一个折线图,如下所示:

var line = d3.svg.line()
    .interpolate("basis")
    .x(function(d) { return x(d.date); })
    .y(function(d) { return y(d.temperature); });
Run Code Online (Sandbox Code Playgroud)

然后我想在这些行数据点上加点:

var points = svg.selectAll(".point")
        .data(cities1[0].values)
      .enter().append("svg:circle")
         .attr("stroke", "black")
         .attr("fill", function(d, i) { return "black" })
         .attr("cx", function(d, i) { return x(d.date) })
         .attr("cy", function(d, i) { return y(d.temperature) })
         .attr("r", function(d, i) { return 3 });
Run Code Online (Sandbox Code Playgroud)

结果不是我所期望的:

在此输入图像描述

然后我改变插值("基础")到插值("基数")并获得我想要的东西:

在此输入图像描述

为什么我的基础错误?我怎么能用基础绘制准确的分数呢?

编辑:类似(未答复)的问题.看看这个jsfiddle.它仅在将插值从基础更改为基数(或其他)模式时才有效.但Cardinal有一个问题,它不尊重图的最大高度.我正在寻找的是解释为什么一些插值模式阻止将点放在正确的位置(以及为什么基数不尊重最大高度).

d3.js

13
推荐指数
1
解决办法
2万
查看次数

标签 统计

bezier ×1

curve ×1

d3.js ×1

math ×1

quadratic ×1