Файл:Uniaxial.png
Материал из Википедии — свободной энциклопедии
Перейти к навигации
Перейти к поиску
Размер этого предпросмотра: 240 × 600 пкс. Другие разрешения: 96 × 240 пкс | 192 × 480 пкс.
Исходный файл (800 × 2000 пкс, размер файла: 26 КБ, MIME-тип: image/png)
Этот файл находится на Викискладе. Сведения о нём показаны ниже.
Викисклад — централизованное хранилище для свободных файлов, используемых в проектах Викимедиа.
Сообщить об ошибке с файлом |
Эту диаграмму желательно воссоздать или аккуратно преобразовать в векторный формат SVG. Это даёт несколько преимуществ, прочитать о которых подробнее вы можете на странице Commons:Media for cleanup. Если вам уже сейчас доступна векторная версия данного изображения, загрузите её, пожалуйста, а затем замените этот шаблон на следующий: {{Vector version available|Имя загруженного файла.svg}}.
|
Краткое описание
- Author: en:user:AndrewKepert
- Toolchain: MetaPost and TeX.
- Source: below
- Description: Illustration of a typical member of each of 7 infinite families of 3D point groups.
- Destination: en:Point groups in three dimensions.
- Permission: GFDL / CC
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 Free Documentation License версии 1.2 или более поздней, опубликованной Фондом свободного программного обеспечения, без неизменяемых разделов, без текстов, помещаемых на первой и последней обложке. Копия лицензии включена в раздел, озаглавленный GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Этот файл доступен по лицензии Creative Commons Attribution-Share Alike 3.0 Unported. | ||
|
лицензию исходного произведения или лицензию, совместимую с исходной]]. | |
Этот признак лицензирования был добавлен к этому файлу как часть обновления лицензии GFDL.http://creativecommons.org/licenses/by-sa/3.0/CC BY-SA 3.0Creative Commons Attribution-Share Alike 3.0truetrue |
Этот файл доступен на условиях лицензий 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 | 800 × 2000 (26 КБ) | AndrewKepert~commonswiki | Author: 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 |
Использование файла
Следующая страница использует этот файл:
Глобальное использование файла
Данный файл используется в следующих вики:
- Использование в en.wikipedia.org
- Использование в es.wikipedia.org
- Использование в id.wikipedia.org
- Использование в nl.wikipedia.org
- Использование в zh.wikipedia.org