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

Файл:Uniaxial.png

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

Исходный файл (800 × 2000 пкс, размер файла: 26 КБ, MIME-тип: image/png)

Эту диаграмму желательно воссоздать или аккуратно преобразовать в векторный формат SVG. Это даёт несколько преимуществ, прочитать о которых подробнее вы можете на странице Commons:Media for cleanup. Если вам уже сейчас доступна векторная версия данного изображения, загрузите её, пожалуйста, а затем замените этот шаблон на следующий: {{Vector version available|Имя загруженного файла.svg}}.

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

Source code

Instructions: on a system with a modern TeTeX or similar installed save the following two files, then run

mpost uniaxial && pdftex uniaxial

You will then need to use ghostscript or similar to make a raster image out of the pdf.

Source code author: en:user:AndrewKepert

Source code license: GPL

 
Это растровое изображение в формате PNG было создано с помощью MetaPost

Исходный код

InfoField

PostScript code

picture pic[];
 pair pt[],pt[]n,pt[]e,pt[]w,pt[]s,pt[]ne,pt[]nw,pt[]se,pt[]sw;
 pair ux,uy,uz;
 path unitcircle; unitcircle=fullcircle scaled 2;
 boolean front[];
 color colour[];
 path p[];
 
 u=16;
 ux=.4*down*u;
 uy=right*2u;
 uz=up*.5u;
 
 transform xyplane[];
 (0,0) transformed xyplane0 = (0,0);
 (1,0) transformed xyplane0 = ux;
 (0,1) transformed xyplane0 = uy;
 for i = -1 step 1/16 until 1:
     xyplane[i]=xyplane[0] shifted (i*uz);
 endfor
 
 theta=10;
 alpha=8;
 
 N:=6;
 
 for i = -1 step .5 until N+1:
     pt[i]   = right rotated  theta        rotated (360i/N) transformed xyplane0;
     front[i]= ypart pt[i] < ypart xyplane0;
     pt[i]e  = right rotated (theta+alpha) rotated (360i/N) transformed xyplane0;
     pt[i]w  = right rotated (theta-alpha) rotated (360i/N) transformed xyplane0;
     pt[i]n  = right rotated  theta        rotated (360i/N) transformed xyplane[.75];
     pt[i]ne = right rotated (theta+alpha) rotated (360i/N) transformed xyplane[.75];
     pt[i]nw = right rotated (theta-alpha) rotated (360i/N) transformed xyplane[.75];
     pt[i]s  = right rotated  theta        rotated (360i/N) transformed xyplane[-.75];
     pt[i]se = right rotated (theta+alpha) rotated (360i/N) transformed xyplane[-.75];
     pt[i]sw = right rotated (theta-alpha) rotated (360i/N) transformed xyplane[-.75];
 endfor
 
 t0=directiontime uz of (unitcircle transformed xyplane0);
 t1=directiontime -uz of (unitcircle transformed xyplane0);
 t2=t0+length unitcircle;
 
 path backface,frontface;
 backface:=(subpath (t0,t1) of unitcircle transformed xyplane[1])
         -- (subpath (t1,t0) of unitcircle transformed xyplane[-1])
         -- cycle;
 frontface:= (subpath (t1,t2) of unitcircle transformed xyplane[1])
         -- (subpath (t2,t1) of unitcircle transformed xyplane[-1])
         -- cycle;
 
 colour0:=(.8,.85,1);
 colour1:=.8[black,colour0];
 colour2:=.6[black,colour1];
 
 def constructribbon(expr delta)=
     % stuff on back face
     pic1:=image( for i = 0 step delta until N-eps: if not front[i]: fill p[i]; fi endfor
         fill (subpath (t0,t1) of unitcircle transformed xyplane[1/16])
         -- (subpath (t1,t0) of unitcircle transformed xyplane[-1/16])
         -- cycle;);
     % stuff on front face
     pic2:=image( for i = 0 step delta until N-eps: if  front[i]: fill p[i]; fi endfor
         fill (subpath (t1,t2) of unitcircle transformed xyplane[1/16])
         -- (subpath (t2,t1) of unitcircle transformed xyplane[-1/16])
         -- cycle;);
     % all of back face
     pic0:=image(fill frontface withcolor colour0;
         fill backface withcolor colour1;
         draw pic1 withcolor colour2);
     fill backface withcolor colour0;
     fill frontface withcolor colour0;
     draw pic1;
     clip pic0 to frontface;
     draw pic0;
     draw pic2;
     draw unitcircle transformed xyplane[1] withpen pencircle scaled 0.2 withcolor colour1;
     draw subpath (t2,t1) of unitcircle transformed xyplane[-1] withpen pencircle scaled 0.2 withcolor colour1;
 enddef;
 
 beginfig(1)
     for i=0 upto N-1:
         p[i]:= pt[i]--pt[i]w--pt[i]ne--pt[i]e--cycle;
     endfor
     constructribbon(1);
 endfig;
 
 beginfig(2)
     for i=0 upto N-1:
         p[i]:=  pt[i]w--pt[i]ne--pt[i]se--cycle ;
     endfor
     constructribbon(1);
 endfig;
 
 beginfig(3)
     for i=0 upto N-1:
         p[i]:= pt[i]--pt[i]e--pt[i]n--pt[i]w--cycle ;
     endfor
     constructribbon(1);
 endfig;
 
 beginfig(4)
     for i=0 upto N-1:
         %p[i]:=  pt[i]--pt[i]ne--pt[i]e--pt[i]--pt[i]sw--pt[i]w--cycle ;
         p[i]:=          pt[i]ne--pt[i]e--       pt[i]sw--pt[i]w--cycle ;
     endfor
     constructribbon(1);
 endfig;
 
 beginfig(5)
     for i=0 upto N-1:
         p[i]:=  pt[i]n--pt[i]e--pt[i]s--pt[i]w--cycle ;
     endfor
     constructribbon(1);
 endfig;
 
 beginfig(6)
     for i=0 upto N-1:
         p[i]:=  pt[i]--pt[i]e--pt[i]n--pt[i]w--cycle ;
         p[i+.5]:=  pt[i+.5]--pt[i+.5]e--pt[i+.5]s--pt[i+.5]w--cycle ;
     endfor
     constructribbon(1/2);
 endfig;
 
 beginfig(7)
     for i=0 upto N-1:
         if odd i:
             p[i]:= pt[i]--pt[i]w--pt[i]ne--pt[i]e--cycle;
         else:
             p[i]:= pt[i]--pt[i]w--pt[i]se--pt[i]e--cycle;
         fi
     endfor
     constructribbon(1);
 endfig;
 
 
 bye

Data

\input supp-pdf
 {\tabskip=5pt  \lineskiplimit=5pt  \lineskip=\lineskiplimit
 \halign{\hfil#\hfil&\hfil$\vcenter{\convertMPtoPDF{#}{1}{1}}$\hfil\cr
     $C_6$&uniaxial.1\cr
     $C_{6h}$&uniaxial.2\cr
     $C_{6v}$&uniaxial.3\cr
     $D_6$&uniaxial.4\cr
     $D_{6h}$&uniaxial.5\cr
     $D_{6d}$&uniaxial.6\cr
     $S_6$&uniaxial.7\cr
     }
 }
 \bye

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

Я, владелец авторских прав на это произведение, добровольно публикую его на условиях следующих лицензий:
GNU head Разрешается копировать, распространять и/или изменять этот документ в соответствии с условиями GNU Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать [[ccorg:share-your-work/licensing-considerations/compatible-licenses
лицензию исходного произведения или лицензию, совместимую с исходной]].
Этот признак лицензирования был добавлен к этому файлу как часть обновления лицензии GFDL.
w:ru:Creative Commons
атрибуция распространение на тех же условиях
Этот файл доступен на условиях лицензий Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic и 1.0 Generic.
Вы можете свободно:
  • делиться произведением – копировать, распространять и передавать данное произведение
  • создавать производные – переделывать данное произведение
При соблюдении следующих условий:
  • атрибуция – Вы должны указать авторство, предоставить ссылку на лицензию и указать, внёс ли автор какие-либо изменения. Это можно сделать любым разумным способом, но не создавая впечатление, что лицензиат поддерживает вас или использование вами данного произведения.
  • распространение на тех же условиях – Если вы изменяете, преобразуете или создаёте иное произведение на основе данного, то обязаны использовать [[ccorg:share-your-work/licensing-considerations/compatible-licenses
|лицензию исходного произведения или лицензию, совместимую с исходной]].
Вы можете выбрать любую из этих лицензий.

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

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

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

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

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

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

Дата/времяМиниатюраРазмерыУчастникПримечание
текущий08:28, 5 июля 2006Миниатюра для версии от 08:28, 5 июля 2006800 × 2000 (26 КБ)AndrewKepert~commonswikiAuthor: user:en:AndrewKepert Toolchain: MetaPost and TeX. Source: will be uploaded Description: Illustration of a typical member of each of 7 infinite families of 3D point groups. Destination: en:Point groups in three dimensions. Permission: GF

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

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

Данный файл используется в следующих вики: