лучшая платформа для рисования кривых и создания JPEG - PullRequest
2 голосов

У меня есть уравнение кривой, которое мне нужно нарисовать как:

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

Кто-нибудь знает, как я могу нарисовать эту кривую и сохранить ее как изображение, используя python или .net?

Ответы [ 2 ]

7 голосов
/ 18 мая 2011

Хорошая библиотека для двухмерных графиков в Python: http://matplotlib.sourceforge.net/. Полученный график можно сохранить прямо из диалогового окна графика.

1 голос
/ 18 мая 2011

Вот пример рисования вашей кривой в .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, и построение графика происходит только в верхнем правом (положительном / положительном) месте декартовой плоскости Но это все, что вы можете выяснить. Обратите внимание, что Y необходимо настроить, так как Windows отображает 0,0 в левом верхнем углу экрана: var y = bmp.Height - (x^z-1)/z;

...