Перейти на страницу файла на Викискладе

Файл:Transformation example in MetaPost.svg

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Исходный файл(SVG-файл, номинально 183 × 73 пкс, размер файла: 7 Кб)

Краткое описание

Описание
Русский: Пример использования линейных преобразований в MetaPost. Сначала создаётся простой рисунок, затем он масштабируется и наклоняется для имитации трёхмерии. Исходный код для создания SVG-рисунка:
Дата
Источник Собственная работа
Автор Evgeny Baldin
SVG‑разработка
InfoField
 
Исходный код этого SVG-файла корректен.
 
Это векторное изображение было создано с помощью MetaPost
Исходный код
InfoField

PostScript code

defaultfont := "cmr12";
 defaultscale := 12pt /fontsize defaultfont;
 prologues := 3;
 outputformat := "svg";
 %пример использования slanted
 beginfig(1) ;
  numeric u;
  u = 0.8mm;
  cutdraw (0u,0u)--(20u,0u)--(20u,30u){dir 90}..
      {dir -90}(17u,30u)--(17u,3u)--(0u,3u)
  withpen pencircle scaled 0.5u;
  drawdblarrow (23u,10u)--(23u,1u);
  label.rt("h",1/2[(23u,10u),(23u,1u)]);
  drawdblarrow (30u,30u)--(30u,1u);
  label.lft("H",1/2[(30u,30u),(30u,1u)]);
  picture Base;
  Base:=currentpicture;
  clearit;
  fill (15u,0u)--(20u,0u)--(20u,20u)--(17u,20u)--(17u,3u)--(15u,3u)--cycle
   withcolor 0.7white;
  draw Base;
  draw ((12u,20u)--(20u,20u));
  draw ((12u,10u)--(20u,10u));
  drawdblarrow ((14u,20u)--(14u,10u));
  label.lft("d",(14u,16u));
  picture Slant;
  Slant=currentpicture;
  clearit;
  fill (5u,0u)--(20u,0u)--(20u,10u)--(17u,10u)--(17u,3u)--(5u,3u)--cycle
  withcolor 0.7white;
  draw Base;
 % Собственно говоря, приер линейных преобразований здесь.
  draw Slant yscaled 2/3 slanted 1/2 shifted (40u,0u);
 endfig;

Affine transformations example usage in MetaPost code

defaultfont := "cmr12";
 defaultscale := 12pt /fontsize defaultfont;
 prologues := 3;
 outputformat := "svg";
 beginfig(1) ;
  numeric u;
  u = 0.8mm;
  cutdraw (0u,0u)--(20u,0u)--(20u,30u){dir 90}..
      {dir -90}(17u,30u)--(17u,3u)--(0u,3u)
  withpen pencircle scaled 0.5u;
  drawdblarrow (23u,10u)--(23u,1u);
  label.rt("h",1/2[(23u,10u),(23u,1u)]);
  drawdblarrow (30u,30u)--(30u,1u);
  label.lft("H",1/2[(30u,30u),(30u,1u)]);
  picture Base;
  Base:=currentpicture;
  clearit;
  fill (15u,0u)--(20u,0u)--(20u,20u)--(17u,20u)--(17u,3u)--(15u,3u)--cycle
   withcolor 0.7white;
  draw Base;
  draw ((12u,20u)--(20u,20u));
  draw ((12u,10u)--(20u,10u));
  drawdblarrow ((14u,20u)--(14u,10u));
  label.lft("d",(14u,16u));
  picture Slant;
  Slant=currentpicture;
  clearit;
  fill (5u,0u)--(20u,0u)--(20u,10u)--(17u,10u)--(17u,3u)--(5u,3u)--cycle
  withcolor 0.7white;
  draw Base;
 % here it is transformation example
  draw Slant yscaled 2/3 slanted 1/2 shifted (40u,0u);
 endfig ;

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

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать лицензию исходного произведения или лицензию, совместимую с исходной.
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
Вы можете выбрать любую из этих лицензий.

Краткие подписи

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

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

изображённый объект

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

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

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий09:42, 4 января 2011Миниатюра для версии от 09:42, 4 января 2011183 × 73 (7 Кб)Evgueni{{Information |Description={{ru|1=Пример использования линейных преобразований в MetaPost. Сначала создаётся простой рисунок, затем он масштабируется и накл�

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