2

私は次のように描く必要がある曲線の方程式を持っています:

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

この曲線を描画して、pythonまたは.netを使用して画像として保存する方法を知っている人はいますか?

4

2 に答える 2

7

Python での 2 次元プロットに適したライブラリは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 に答える