![]() |
像mathematica这样的程序如何绘制图形,我如何制作这样的程序?
我一直想知道像mathematica和mathlab之类的程序如何优雅而快速地绘制函数图。谁能向我解释他们如何做到这一点,此外,我如何做到这一点?它与计算机编程或数学的某个方面或课程有关吗?那是哪一个
[B]回答:[/B] 好吧,在belisarius的鼓励下,以下是我的评论作为答案:尝试查看[URL="http://matplotlib.sourceforge.net/"]matplotlib[/URL] 。在主页上: [INDENT] matplotlib是一个python 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版物质量数据。 matplotlib可用于python脚本,python和ipython shell(alaMATLAB®或Mathematica®),Web应用程序服务器和六个图形用户界面工具包中。 [/INDENT]它最初是受MATLAB的绘图功能启发的,尽管自那时以来它已经发展了很多。它是可靠的软件-在BSD许可下它是开源的,因此,您不仅可以阅读源代码,还可以对其进行破解,并以自己喜欢的方式使用它。 您可能会看到的另一个地方是[URL="http://www.gnuplot.info/"]gnuplot[/URL] 。它不是常见的开放源代码许可证之一,但肯定是开放源代码,具有一定的修改权限等。 [INDENT] Gnuplot是一个便携式命令行驱动的图形实用程序,适用于linux,OS / 2,MS Windows,OSX,VMS和许多其他平台。源代码受版权保护,但可以自由分发(即,您不必为此付费)。它最初是为了允许科学家和学生以交互方式可视化数学函数和数据而创建的,但现在已发展为支持许多非交互用途,例如Web脚本。它也被Octave等第三方应用程序用作绘图引擎。自1986年以来,Gnuplot就得到了支持并正在积极开发中。 [/INDENT]它也可以进行3D绘图,而matplotlib则不可以,并且已经进行了3D绘图。我首先想到matplotlib的原因是,它打算用作高级语言的库,而不是独立的应用程序,因此我想它可能对您来说更容易阅读。 为了了解Mathematica在幕后所做的各种事情,另一个建议是查看[URL="http://reference.wolfram.com/mathematica/ref/Plot.html"]Plot[/URL]的[URL="http://reference.wolfram.com/mathematica/ref/Plot.html"]文档[/URL] 。特别是,如果您查看可用的选项,则可以推断出事情。 [INDENT] MaxRecursion Automatic允许的最大递归细分数Method Automatic用于精炼曲线的方法PerformanceGoal $PerformanceGoal方面,以尝试优化PlotPoints Automatic初始采样点数 [/INDENT]从MaxRecursion和PlotPoints ,您可以看到它正在进行初始采样,然后以某种方式确定需要细分(重新采样)哪些区域才能获得该图的准确视图。从那里开始,这就是魔术:有一些Method可以使用,还有PerformanceGoal来指导它... [url=https://stackoverflow.com/questions/4772713]更多&回答...[/url] |
所有时间均为北京时间。现在的时间是 23:19。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.