【问题标题】:How to get the x,y coordinates of a 2d contour conic with Scilab?如何使用 Scilab 获取 2d 轮廓圆锥的 x,y 坐标?
【发布时间】:2016-06-08 09:15:47
【问题描述】:

我是 SciLab 的初学者。

我对圆锥的问题是:

我的方程式是这样的:

axx + bxy + cyy + dx + ey + f = z 其中 z = 0

我想获取椭圆上 z=0 的所有点的 (x,y) 坐标

例如我使用 Scilab 代码的函数是:

function [z] = fct(x,y)
    z = -0.04088*x^2 - 0.10063*y^2 - 0.21767*x + 0.44632*y + 0.04286*x*y
endfunction

我将工作空间设置为:

x=-10:10; y=-10:10;

我画我的椭圆:

fcontour2d(x, y, fct, [0,0], style=[9,9])

现在我如何获得 z=0 的绘制椭圆的所有点((x,y) 坐标)?

也许我可以用z=feval(x,y,fct) 做点什么,我不知道。

感谢您的帮助。

朱利安

【问题讨论】:

    标签: coordinates contour scilab


    【解决方案1】:

    感谢我在网上找到的一些 pdf 文档,我终于找到了解决方案。

    这是我的 Scilab 源代码:

    // 二次函数

    函数 [z]=fct(x,y)

    z=-0.04088*x^2-0.10063*y^2-0.21767*x+0.44632*y+0.04286*x*y

    结束功能

    //平面z=0

    函数 [z]=f(x,y)

    z=0*x*y

    结束功能

    // 工作空间

    x=-10:10;y=-10:10;

    // 我们从 z=0 的二次函数中绘制二维椭圆

    fcontour2d(x,y,fct,[0,0],style=[9,9])

    //我们写了一个函数来找到圆锥和地方表面的交点

    函数 [Y]=coniques(X) , Y=[fct(X(1),X(2)),f(X(1),X(2))] 结束函数

    for i=-10:0.1:10 // 对于每个偏离 y 轴的偏移量(i 从 -10 到 10,步长为 0.1)

    rep=fsolve([-10,i],coniques); // 我们找到第一个交点的坐标(rep(1)=x, rep(2)=y)(从左到右搜索)

    xpolys(rep(1),rep(2),-1) // 我们在图表上绘制点

    rep=fsolve([10,i],coniques); // 我们找到第二个交点的坐标(rep(1)=x, rep(2)=y)(从右到左搜索)

    xpolys(rep(1),rep(2),-1) // 我们在图表上绘制点

    结束

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-09
      • 2017-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-17
      • 2015-07-24
      • 1970-01-01
      相关资源
      最近更新 更多