2

我有一个曲线方程,我需要绘制如下:

((X^z)-1)/z = y

有谁知道我如何绘制这条曲线并使用 python 或 .net 将其保存为图像?

4

2 回答 2

7

一个很好的 Python 二维图库是http://matplotlib.sourceforge.net/。生成的绘图可以直接从绘图对话框中保存。

于 2011-05-17T22:09:12.550 回答
1

这是在 .NET/C# 中绘制曲线的示例:

参考:

using System;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

绘图代码:

const int imgSize = 500;
var bmp = new Bitmap(imgSize, imgSize);
using (var g = Graphics.FromImage(bmp))
{
    g.SmoothingMode = SmoothingMode.HighQuality;
    var points = new Point[imgSize];
    const int z = 10;
    g.FillRectangle(Brushes.White, 0, 0, bmp.Width, bmp.Height);

    for (var x = 0; x < imgSize; x++)
    {
        var y = bmp.Height - (x^z-1)/z;
        points[x] = new Point(x, y);
    }

    g.DrawCurve(Pens.Black, points);
}

bmp.Save(@"C:\Users\your_name_here\Desktop\myCurve.png", ImageFormat.Png);

我做了一些假设,例如使 Z 成为常数。此外,如果固定为 500 并且绘图仅发生在笛卡尔平面的右上角(正/正)位置,则图像大小也是如此。但这就是你能弄清楚的所有东西。请注意,由于 Windows 在屏幕左上角绘制 0,0,因此需要调整 Y:var y = bmp.Height - (x^z-1)/z;

于 2011-05-17T22:59:04.897 回答