Javascript 如何绘制隐式函数?
我正在尝试开发一个隐式绘图仪。Javascript 如何绘制隐式函数?,javascript,math,plot,implicit,Javascript,Math,Plot,Implicit,我正在尝试开发一个隐式绘图仪。 例如,如果我想画一个寓言,x将变化,y将被计算为相应的x值 var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var canvas = document.getElementById('canvas'); var ctx = canvas.getContext('2d'); ctx.beginPath(); // y = (x-5)*(x-5
例如,如果我想画一个寓言,x将变化,y将被计算为相应的x值
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
// y = (x-5)*(x-5)
var iPoints=20,
nY=0;
for (var x=-10; x<=iPoints; x++) {
nY = ( (x-5)*(x-5) );
ctx.lineTo(200-x, 300-nY);
}
ctx.stroke();
var canvas=document.getElementById(“canvas”);
var ctx=canvas.getContext(“2d”);
var canvas=document.getElementById('canvas');
var ctx=canvas.getContext('2d');
ctx.beginPath();
//y=(x-5)*(x-5)
var iPoints=20,
nY=0;
对于(var x=-10;x绘制f(x,y)=0
,使用以下方法:
- 把你的区域划分成一个小格子
- 计算每个单元格顶点处的
f
符号
- 查找曲线与单元格相交的位置:在具有不同符号的边上。使用线性插值查找相交点,并将它们与线段连接在一起
这不是最好的方法,也不是最快的方法。但有一个简单的方法可以完成:
// x^2 + y^2 = 25^2
for (var x=-30; x<=+30; x+=0.01) {
var smallest=1e10;
var best_y=0;
for (var y=-30; y<=+30; y+=0.01) {
var v=Math.abs(x*x+y*y-625);
if(v<smallest) {smallest=v;best_y=y;}
}
if(smallest<0.1) {
ctx.fillRect(100+x, 100-best_y,1,1);
}
}
//x^2+y^2=25^2
对于(var x=-30;x)感谢答案。它同时改变x和y。也许我会使用“moveTo”和“lineTo”来代替“fillRect”。感谢答案。是的,我明白了,不幸的是,在“隐式函数”的情况下,没有“线性插值”和“行进方块”,绘制的曲线通常会被虚线。我还在编写“隐式函数”程序.但不幸的是失败了。在我看来,你似乎有一个线索。你能更详细地描述一下你的解决方案吗。也许你想看看我的方法,它已经失败了。在此也提前感谢你。