绘制曲线和创建 JPEG 的最佳平台

发布于 2024-11-08 01:58:23 字数 113 浏览 2 评论 0原文

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

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

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

i have an equation of a curve that i need to draw like:

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

does anyone know how i can draw this curve and save it as an image using python or .net?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我做我的改变 2024-11-15 01:58:23

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

A good library for 2d plots in Python is http://matplotlib.sourceforge.net/. The resulting plot can be saved straight from the plot dialog.

如此安好 2024-11-15 01:58:23

下面是在 .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;

Here's an example of drawing your curve in .NET/C#:

References:

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

Drawing Code:

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);

I made some assumption such as making Z a constant. Also the image size if fixed at 500 and the plotting only happens in the upper-right (positive/positive) location of the cartesian plane. But that's all stuff you can figure out. Note that Y needs to be adjusted since Windows plots 0,0 at the upper left of the screen: var y = bmp.Height - (x^z-1)/z;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文