gpt4 book ai didi

算法二维引用翻译

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:03:48 25 4
gpt4 key购买 nike

我正在尝试构建一个函数绘图器,

用户输入 xmin, xmax, ymin, ymax, 函数。我得到了所有点的 x、y。

现在我想将这个初始引用转换为从 0,0 开始到250,250。

有没有捷径或者我应该检查一下

if x < 0 
new x = (x - xmin) * (250 / (xmax - xmin)) ?

等..

此外,这种基本方法并未优化抽样。例如,如果我的函数 f(x) = 5 我不需要以 500 点对 xrange 进行采样,我只需要两点。我可以做一些启发式检查。

但是对于像 sin(2/x) 这样的函数,我需要围绕 x (-1,1) 进行更多采样,你会如何处理这样的事情?

谢谢

最佳答案

不是在原始坐标中迭代 x,而是在 Canvas 上迭代然后转换回原始坐标:

for (int xcanvas = 0; xcanvas <= 250; i++) {
double x = ((xmax - xmin) * xcanvas / 250.0) + xmin;
double y = f(x);

int ycanvas = 250 * (y - ymin) / (ymax - ymin) + .5;

// Plot (xcanvas, ycanvas)
}

这为 Canvas 的每一列提供了一个函数评估。

关于算法二维引用翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/343533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com