Файл:Шум Перлина с контуром.svg

Исходный файл (Файл SVG, номинально 720 × 810 пикселей, размер файла: 433 КБ)

Краткое содержание

ОписаниеШум Перлина с contour.svg
Русский: 2-D шум Перлина с контурной линией на нуле, чтобы показать, что шум равен нулю на пересечениях градиентной сетки. Для интерполяции использовалась функция smootherstep.
Дата
ИсточникСобственная работа
АвторУтро
Другие версии
с большим количеством контурных линий
SVG-разработка
Инфополе
 
Код SVG действителен .
 
Этот график был создан с помощью Matplotlib.
Исходный код
Инфополе

Код Python

Исходный код
# График шума Перлина с Matplotlibиз  pylab  импорт  * импорт  случайныйXDIM ,  YDIM  =  11 ,  11  # размер сетки градиента SCALE  =  50  # размер сетки шума на единицу размера сетки градиента XDP ,  YDP  =  ( XDIM  -  2 )  *  SCALE  +  1 ,  ( YDIM  -  2 )  *  SCALE  +  1phi  =  нули (( YDIM ,  XDIM ))  # углы фазы градиента perlin  =  нули (( YDP ,  XDP ))  # Массив шума Перлина# сделать график воспроизводимым, используя фиксированное случайное начальное число random . seed ( "Perlin" )# выбрать случайные фазовые углы для градиентов для  y  в  диапазоне ( YDIM ):  для  x  в  диапазоне ( XDIM ):  phi [ y , x ]  =  2  *  pi  *  random . random ()def  grad ( x0 ,  y0 ,  dx ,  dy ):  "Вычислить скалярное произведение между градиентом и вектором положения"  gx ,  gy  =  cos ( phi [ y0 , x0 ]),  sin ( phi [ y0 , x0 ])  return  gx  *  dx  +  gy  *  dydef  inter ( a ,  b ,  w ):  "Интерполировать между a и b, используя вес w"  return  ( b  -  a )  *  (( w  *  ( w  *  6  -  15 )  +  10 )  *  w  *  w  *  w )  +  a  # более плавный шаг  #return (b - a) * (3 - 2 * w) * w * w + a # плавный шаг  #return (b - a) * w + a # линейный# вычисление шума Перлина для  yi  в  диапазоне ( YDP ):  для  xi  в  диапазоне ( XDP ):  x ,  y  =  xi  /  SCALE ,  yi  /  SCALE  x0 ,  y0  =  int ( x ),  int ( y )  dx ,  dy  =  x  -  х0 ,  у  -  у0 g1  =  град ( x0 ,  y0 ,  dx ,  dy )  g2  =  град ( x0  +  1 ,  y0 ,  - 1  +  dx ,  dy )  g3  =  град ( x0 ,  y0  +  1 ,  dx ,  - 1  +  dy )  g4  =  град ( x0  +  1 ,  y0  +  1 ,  - 1  +  dx ,  - 1  +  dy ) perlin [ yi , xi ]  =  inter ( inter ( g1 ,  g2 ,  dx ),  inter ( g3 ,  g4 ,  dx ),  dy )print ( f "Макс { perlin . max () } , мин { perlin . min () } " )# используем Matplotlib для создания графика ( figsize =  (  8 , 9  ) ) X  =  array ( [ x  /  SCALE  for  x  in  range ( XDP )]) Y  =  array ( [ y  /  SCALE  for  y  in  range ( YDP )]) imshow ( perlin ,  interpolation  =  "bicubic" ,  cmap  =  plt . cm . bwr ,  vmin  =  - .8 ,  vmax  =  .8 ,  extend  =  ( X . min (),  X . max (),  Y . max (),  Y . min ())) cb  =  colorbar ( orientation  =  "horizontal" ) contour ( X ,  Y ,  perlin ,  ( 0 ,),  linewidths  =  2 ,  colors  =  "green" ) xticks ( range ( XDIM - 1 ),  labels  =  ""  *  XDIM ) yticks ( range ( YDIM - 1 ),  labels  =  ""  *  YDIM ) grid ( lw  =  1.2 ,  color  =  "black" ,  alpha  =  .8 ,  ls  =  "dashed" ) gca () . set_position ([ .1 ,  .2 ,  .8 ,  .8 ]) cb . ax . set_position ([ .1 ,  - .68 ,  .8 ,  .8 ]) title ( "2-D шум Перлина с контурной линией в нуле" )сохранитьfig ( "perlin_noise_with_contour.svg" ) показать ()

Лицензирование

Я, владелец авторских прав на данную работу, настоящим публикую ее на условиях следующей лицензии:
Творческие права общего пользования CC-нольЭтот файл предоставляется в соответствии с лицензией Creative Commons CC0 1.0 Universal Public Domain Dedication.
Лицо, связавшее работу с этим актом, передало работу в общественное достояние, отказавшись от всех своих прав на работу во всем мире в соответствии с законом об авторском праве, включая все смежные и смежные права, в объеме, разрешенном законом. Вы можете копировать, изменять, распространять и исполнять работу, даже в коммерческих целях, и все это без запроса разрешения.

http://creativecommons.org/publicdomain/zero/1.0/deed.enCC0Creative Commons Zero, передача в общественное достояниеЛОЖЬЛОЖЬ

Подписи

Добавьте однострочное объяснение того, что представляет собой этот файл.

Элементы, изображенные в этом файле

изображает

Шум Перлина

создатель

некоторая ценность

Имя автора строка : Morn
Имя пользователя Wikimedia : Morn
URL : https://commons.wikimedia.org/wiki/User:Morn

статус авторских прав

защищен авторским правом, передан в общественное достояние владельцем авторских прав

лицензия на авторское право

Лицензия Creative Commons CC0

источник файла

оригинальное создание загрузчика

зарождение

30 ноября 2023 г.

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

Нажмите на дату/время, чтобы просмотреть файл в том виде, в котором он был в тот момент.

Дата/ВремяМиниатюраРазмерыПользовательКомментарий
текущий12:30, 30 ноября 2023 г.720 × 810 (433 КБ)УтроЗагрузил собственную работу с помощью UploadWizard

Следующая страница использует этот файл:

Метаданные

Взято с "https://en.wikipedia.org/wiki/File:Perlin_noise_with_contour.svg"