Hướng dẫn python plot elliptic curve - đường cong elliptic âm mưu trăn

Tôi đang tự dạy mình về Matplotlib và Python và tôi đang gặp khó khăn trong việc vẽ một phương trình cho một đường cong hình elip. Tôi có phương trình xuống nhưng tôi không thực hiện y^2

Điều này là nhiều rắc rối như tôi có thể đưa mình vào cho đến nay:

from mpl_toolkits.axes_grid.axislines import SubplotZero import matplotlib.pyplot as plt import numpy as np from pylab import * def plotGraph(): fig = plt.figure(1) ax = SubplotZero(fig, 111) fig.add_subplot(ax) for direction in ["xzero", "yzero"]: ax.axis[direction].set_axisline_style("-|>") ax.axis[direction].set_visible(True) a = 5; b = 25 x = np.arange(-50.0, 50.0, 1.0) y = pow(x,3) + a*x + b xmin = -50; xmax = 50; ymin = -50; ymax = 50 v = [xmin, xmax, ymin, ymax] ax.axis(v) ax.plot(x, pow(y,2)) #grid() #ax.grid(color='r', linestyle='-', linewidth=2) show() def main(): plotGraph() if __name__ == '__main__': main()

axis() ở đó bởi vì tôi cũng đang cố gắng để có được một biểu đồ trông rõ ràng hơn với các đường lưới và tôi nghĩ rằng grid() cũng sẽ chăm sóc điều đó nhưng dường như không. Tôi cũng sẽ cố gắng làm cho nó tương tác khi bạn nhấp vào các điểm bạn muốn và nó tính toán, nhưng nhìn qua các tài liệu có vẻ như rất nhiều tùy chọn chuột tương tác nhưng tôi không thấy tương tác chuột tạo ra một số sự kiện bằng cách nhấp vào Trên một điểm trên biểu đồ (sau lần thứ 3 đọc nó, tôi vẫn còn thiếu nó).

Tôi chỉ đi từ bản tóm tắt pyplot trên matplotlib nhưng tôi không thấy những gì tôi đang làm sai ở đây. Cốt truyện của đường cong hình elip là cách, thậm chí không đóng.

Đây có lẽ là một sai lầm của người mới bắt đầu vì vậy một lập trình viên cơ sở, người mất một giây để đọc điều này có thể sẽ thấy rất nhanh tại sao tôi không nhận được đường cong mà tôi muốn.

    • Hành động

      Tự động hóa bất kỳ quy trình làm việc

    • Gói

      Máy chủ và quản lý các gói

    • Bảo vệ

      Tìm và sửa chữa lỗ hổng

    • Không gian mã hóa

      Môi trường dev tức thì

    • Phi công phụ

      Viết mã tốt hơn bằng AI

    • Đánh giá mã

      Quản lý thay đổi mã

    • Vấn đề

      Lập kế hoạch và theo dõi công việc

    • Thảo luận

      Hợp tác bên ngoài mã

    • Khám phá
    • Tất cả các tính năng
    • Tài liệu
    • Kỹ năng GitHub
    • Thay đổi
    • Theo kế hoạch
    • Doanh nghiệp
    • Đội
    • So sánh tất cả
    • Bằng giải pháp
    • CI/CD & tự động hóa
    • DevOps
    • DevSecops
    • Nghiên cứu trường hợp
    • Câu chuyện của khách hàng
    • Tài nguyên
    • Nhà tài trợ GitHub

      Quỹ phát triển nguồn mở

    • Dự án Readme

      Bài viết cộng đồng GitHub

    • Kho lưu trữ
    • Chủ đề
    • Xu hướng
    • Bộ sưu tập
  • Giá cả

# Khái niệm cơ bản về thực hiện mật mã đường cong elip trên pythonimportcollectionsdefinv (n, q): "" "Div trên pn modulo a/b mod% q == 1 "" "foriinrange (q): if (n*i) % q == 1: returnipassassertFalse," chưa được sử dụng "passdefsqrt (n, q):" ""Nếu không tồn tại >>> khẳng định (sqrt (n, q) [0] ** 2) % q == n >>> khẳng định (sqrt (n, q) [1] ** 2) % q == n """ khẳng định import collections def inv(n, q): """div on PN modulo a/b mod q as a * inv(b, q) mod q >>> assert n * inv(n, q) % q == 1 """ for i in range(q): if (n * i) % q == 1: return i pass assert False, "unreached" pass def sqrt(n, q): """sqrt on PN modulo: returns two numbers or exception if not exist >>> assert (sqrt(n, q)[0] ** 2) % q == n >>> assert (sqrt(n, q)[1] ** 2) % q == n """ assert n 1, self.add(m2, m2) pass # [ref] O(n) add #for i in range(n): # r = self.add(r, p) # pass return r def order(self, g): """order of point g >>> o = ec.order(g) >>> assert ec.is_valid(a) and ec.mul(a, o) == ec.zero >>> assert o

Chủ đề