#!/usr/bin/env python

# -*- coding: utf-8 -*-


import matplotlib.pyplot as plt

import numpy as np

import time


# 打印爱心3D图案

def print_love3D():

   start = time.time()


   x_lim, y_lim, z_lim = np.linspace(-10, 10, 520), np.linspace(-10, 10, 520), np.linspace(-10, 10, 520)

   X_points, Y_points, Z_points = [], [], []


   for x in x_lim:

       for y in y_lim:

           for z in z_lim:

               if (x**2+(9/4)*y**2+z**2-1)**3-(9/80)*y**2*z**3-x**2*z**3<=0:

                   X_points.append(x)

                   Y_points.append(y)

                   Z_points.append(z)


   end = time.time()


   fig = plt.figure()

   ax = fig.add_subplot(111, projection='3d')

   ax.scatter(X_points, Y_points, Z_points, s=20, alpha=0.5, color="red")

   plt.show()


   print(end-start)


if __name__ == '__main__':

   print_love3D()

3D打印爱心4_3D