Math 绘制数学函数/关系/曲线

Math 绘制数学函数/关系/曲线,math,drawing,webgl,equation,Math,Drawing,Webgl,Equation,我想复制由、和其他绘图工具(如和)提供的方程式绘图功能。我计划使用WebGL绘制方程 这个简单的正弦方程我很容易处理,因为每个x轴值都有一个y轴值,也就是说,它通过了。我可以迭代屏幕上的每个x轴像素,计算函数并获得相关的y轴值,给我一组点来画一条线。我不确定这是否是最理想的方式,但它确实有效 然而,对于这个方波,如果我在点x=0,1,2,3等处求值,我只能得到一个对应的y值。如何绘制此函数 再举一个例子,我如何画一个只提供这个隐式方程的圆 我不想使用图形库,也不想只画这3种形状。我更感兴趣

我想复制由、和其他绘图工具(如和)提供的方程式绘图功能。我计划使用WebGL绘制方程

这个简单的正弦方程我很容易处理,因为每个x轴值都有一个y轴值,也就是说,它通过了。我可以迭代屏幕上的每个x轴像素,计算函数并获得相关的y轴值,给我一组点来画一条线。我不确定这是否是最理想的方式,但它确实有效

然而,对于这个方波,如果我在点x=0,1,2,3等处求值,我只能得到一个对应的y值。如何绘制此函数

再举一个例子,我如何画一个只提供这个隐式方程的圆


我不想使用图形库,也不想只画这3种形状。我更感兴趣的是库本身如何提供一个通用的数学函数绘图功能,该功能能够绘制提供给它们的任何方程。

如果要正确地可视化方波,必须没有垂直线。问题中的可视化意味着函数通过立即数,但事实并非如此。所以我会投票支持不画垂直线。但是,如果您真的想要这样做,以下是一种方法:

如果你使用简单的方法将每个点连接到一条直线上,你就快到了。唯一的区别是垂直线不是垂直的,而是有点浅。为了避免这种情况,可以首先检测函数值跳转。如果检测到此类跳转,请在两个事件像素之间运行二进制搜索,以找到实际跳转位置。在直线上再添加两个点,然后在跳跃位置绘制一条垂直线

对于隐式形状,基本上有两种选择:要么尝试找到显式表示(这很可能不是选项),要么使用移动立方体提取轮廓