Файл:Gradient Visual.svg

Съдържанието на страницата не се поддържа на други езици.
от Уикипедия, свободната енциклопедия

Оригинален файл(Файл във формат SVG, основен размер: 720 × 540 пиксела, големина на файла: 197 КБ)

Емблемата на Общомедия Този файл е от Общомедия и може да се използва от други проекти.

Следва информация за файла, достъпна през оригиналната му описателна страница.

Резюме

 
Кодът на това SVG е валиден.
 
This plot was created with Matplotlib.
Описание
English: Recreate the PNG image Gradient99.png (see below) in SVG.
Дата
Източник Собствена творба
Автор IkamusumeFan
други версии
Изходен код
InfoField

Python code

"""Generate the graph of the function $f(x,y) = -(\cos^2x + \cos^2y)^2$."""

import numpy as np
from pylab import *
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.patches import FancyArrowPatch
from mpl_toolkits.mplot3d import proj3d

# Thanks to CT Zhu. See the link as follows
# http://stackoverflow.com/questions/22867620/putting-arrowheads-on-vectors-in-matplotlibs-3d-plot
class Arrow3D(FancyArrowPatch):
    def __init__(self, xs, ys, zs, *args, **kwargs):
        FancyArrowPatch.__init__(self, (0,0), (0,0), *args, **kwargs)
        self._verts3d = xs, ys, zs

    def draw(self, renderer):
        xs3d, ys3d, zs3d = self._verts3d
        xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M)
        self.set_positions((xs[0],ys[0]),(xs[1],ys[1]))
        FancyArrowPatch.draw(self, renderer)

# draw the frames
ax = Axes3D(figure(), azim = -135, elev = 45)
X = arange(-pi/2, pi/2, pi/100)	# set ranges
Y = arange(-pi/2, pi/2, pi/100)
X, Y = meshgrid(X, Y)
Z = -(cos(X)**2+cos(Y)**2)**2	# give the function
ax.plot_wireframe(X, Y, Z, rstride = 10, cstride = 10)
ax.set_xlabel("x")
ax.set_ylabel("y")
ax.set_zlabel('f(x,y)')
ax.set_xlim([-pi/2,pi/2])
ax.set_ylim([-pi/2,pi/2])
ax.set_zlim([-4,0])

# draw the contoured quiver
X1 = arange(-pi/2, pi/2, pi/20)	# start of the arrows
Y1 = arange(-pi/2, pi/2, pi/20)
for x in X1:
	for y in Y1:
		ax.add_artist(Arrow3D([x,x+4*sin(x)*cos(x)*(cos(x)**2+cos(y)**2)*0.06],\
		[y,y+4*sin(y)*cos(y)*(cos(x)**2+cos(y)**2)*0.06],\
		[-3.9999,-4.0000],lw=1, mutation_scale=5,arrowstyle="->", color="r"))

plt.savefig("gradient_vis.svg")

Лицензиране

Аз, носителят на авторските права над тази творба, я публикувам тук под следния лиценз:
w:bg:Криейтив Комънс
признание на авторството споделяне на споделеното
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
Можете свободно:
  • да споделяте – да копирате, разпространявате и излъчвате произведението
  • да ремиксирате – да адаптирате произведението
Съгласно следните условия:
  • признание на авторството – Трябва да посочите авторството, да добавите връзка към лиценза и да посочите дали са правени промени. Можете да направите това по всякакъв разумен начин, но не и по начин, оставящ впечатлението, че същият/същите подкрепят вас или използването по някакъв начин на творбата от вас.
  • споделяне на споделеното – В случай, че промените, видоизмените или използвайки като основа произведението, го надградите, то полученото производно произведение може да се разпространява само съгласно условията на същия или съвместим лиценз с оригиналния такъв.

Описания

Add a one-line explanation of what this file represents

Items portrayed in this file

изобразен обект

Някаква стойност без обект в Уикиданни

copyright status английски

copyrighted английски

26 октомври 2014

source of file английски

original creation by uploader английски

История на файла

Избирането на дата/час ще покаже как е изглеждал файлът към онзи момент.

Дата/ЧасМиникартинкаРазмерПотребителКоментар
текуща09:24, 26 октомври 2014Миникартинка на версията към 09:24, 26 октомври 2014720 × 540 (197 КБ)IkamusumeFanUser created page with UploadWizard

Следната страница използва следния файл:

Глобално използване на файл

Този файл се използва от следните други уикита:

Метаданни