В активном элементе r: 1)В активном элементе R…: 1. Напряжение u(t) совпадает с током i(t) по фазе 2. Напряжение

Содержание

vertical-align | htmlbook.ru

Internet ExplorerChromeOperaSafariFirefoxAndroidiOS
6.0+8.0+1.0+3.5+1.0+1.0+1.0+1.0+

Краткая информация

Версии CSS

Описание

Выравнивает элемент по вертикали относительно своего родителя, окружающего текста или ячейки таблицы.

Синтаксис

vertical-align: baseline|bottom|middle|sub|super|text-bottom|text-top|top|inherit | значение | проценты

Значения

baseline
Выравнивает базовую линию текущего элемента по базовой линии родителя. Если родительский элемент не имеет базовой линии, то за нее принимается нижняя граница элемента.
bottom
Выравнивает основание текущего элемента по нижней части элемента строки, расположенного ниже всех.
middle
Выравнивание средней точки элемента по базовой линии родителя плюс половина высоты родительского элемента.
sub
Элемент изображается как подстрочный, в виде нижнего индекса. Размер шрифта при этом не меняется.
super
Элемент изображается как надстрочный, в виде верхнего индекса. Размер шрифта остается прежним.
text-bottom
Нижняя граница элемента выравнивается по самому нижнему краю текущей строки.
text-top
Верхняя граница элемента выравнивается по самому высокому текстовому элементу текущей строки.
top
Выравнивание верхнего края элемента по верху самого высокого элемента строки.
inherit
Наследует значение родителя.

В качестве значения также можно использовать проценты, пикселы или другие доступные единицы. Положительное число смещает элемент вверх относительно базовой линии, в то время как отрицательное число опускает его вниз. При использовании процентов, отсчет ведется от значения свойства line-height, при этом 0% аналогично значению baseline.

Для выравнивания по вертикали в ячейках таблицы применяются следующие значения.

baseline
Выравнивает базовую линию ячейки с базовой линией первой текстовой строки или другого вложенного элемента.
bottom
Выравнивает по нижнему краю ячейки.
middle
Выравнивает по середине ячейки.
top
Выравнивает содержимое ячейки по ее верхнему краю.

Пример

HTML5CSS2.1IECrOpSaFx

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8">
  <title>vertical-align</title>
 </head>
 <body>
  <div>
  T<span>E</span>X и L<span 
 >A</span>T<span 
 >E</span>X
  </div>
 </body>
</html>

Результат данного примера показан на рис. 1.

Рис. 1. Применение свойства vertical-align

Объектная модель

[window.]document.getElementById(«elementID»).style.verticalAlign

Браузеры

Internet Explorer до версии 7.0 включительно не поддерживает значение inherit.

Не удается найти страницу | Autodesk Knowledge Network

(* {{l10n_strings.REQUIRED_FIELD}})

{{l10n_strings.CREATE_NEW_COLLECTION}}*

{{l10n_strings.ADD_COLLECTION_DESCRIPTION}}

{{l10n_strings.COLLECTION_DESCRIPTION}} {{addToCollection.description.length}}/500 {{l10n_strings.TAGS}} {{$item}} {{l10n_strings.PRODUCTS}} {{l10n_strings.DRAG_TEXT}}  

{{l10n_strings.DRAG_TEXT_HELP}}

{{l10n_strings. LANGUAGE}} {{$select.selected.display}}

{{article.content_lang.display}}

{{l10n_strings.AUTHOR}}  

{{l10n_strings.AUTHOR_TOOLTIP_TEXT}}

{{$select.selected.display}} {{l10n_strings.CREATE_AND_ADD_TO_COLLECTION_MODAL_BUTTON}} {{l10n_strings.CREATE_A_COLLECTION_ERROR}}

Nd 3+ с повышенной частотой следования импульсов излучения

Высокоэффективный неохлаждаемый импульсно-периодический лазер на активном элементе

3+

из кристалла КСй^04)2: Мй с повышенной частотой следования импульсов излучения.

Сторощук О.Б. ( [email protected] )

Открытое акционерное общество «Вологодский оптико-механический завод»

В работе описана конструкция и представлены результаты исследований генерационных характеристик малогабаритного частотного лазера на активном элементе из кристалла КГВ с симметричным кондуктивным теплоотводом и неразьюстируемым в широком диапазоне климатических и механических воздействий плоскопараллельным призменным резонатором с изломом оси. Показано, что стабильные выходные параметры излучения при работе лазера с повышенными мощностями накачки обеспечиваются при оптимальной концентрации ионов неодима 2,5% и ориентации оси оптической индикатрисы Ыш параллельно плоскости, содержащей лампу накачки и активный элемент. (16 стр. 9 илл., библиогр. 11 наимен.)

Для решения большинства практических задач (дальнометрия, лазерное зондирование атмосферы и т.д.) с использованием импульсно-периодических лазеров циклического действия с неселективной оптической накачкой актуальной проблемой является получение стабильных энергетических и пространственных параметров излучения при минимальных весо-габаритных характеристиках. В наиболее полной мере требованиям компактности соответствуют лазеры с естественным охлаждением лампы накачки и активного элемента

При разработке указанного выше типа лазеров без принудительного охлаждения основной задачей является обеспечение теплоотвода от лампы накачки и активного элемента, уменьшение и (или) компенсация термооптических искажений активной среды, имеющих характер клиновой деформации и возникающих в результате преобладания притока тепла от разогретого до несколько сот градусов баллона лампы на ближнюю к ней часть активного элемента [1].

Предложенные для этой цели способы симметризации теплоотвода от активного элемента (АЭ) путем его установки в прозрачный для излучения накачки трубчатый держатель из материала с высокой теплопроводностью

( например, в сапфировую трубку [2]) или моноблок [3]) позволяют частично или полностью компенсировать клиновую деформацию в АЭ, особенно, если активная среда обладает хорошими теплофизическими характеристиками.

Однако известные методы компенсации термооптических деформаций совместно со схемными методами (например, петлеобразные резонаторы на базе интерферометра Саньяка [4]) не позволяют в достаточной мере компенсировать клиновые деформации в активных элементах с заметно худшими, чем для кристалла иттрий-алюминиевого граната (ИАГ:Nd3+), термофизическими параметрами (теплопроводность, механическая прочность и т. 04)2: Мй 3+ (в дальнейшем по тексту — КГВ).

Эффективность лазера на активном элементе из кристалла КГВ в 3-5 раз выше, чем у лазера на иттрий-алюминиевом гранате. В диапазоне энергий накачек 3-5 Дж он не уступает

по эффективности лазеру на галлий-скандий-гадолиниевом гранате, сенсибилизированым ионами хрома (ГСГГ :Nd3+:Cr3+)[5].

Несмотря на низкие по сравнению с ИАГ теплофизические параметры, он находит применение и в лазерах с повышенной частотой повторения импульсов излучения [6].

В настоящей работе рассмотрены особенности системы термостабилизации активного элемента из кристалла КГВ, что позволило получить совместно с предложенной схемой резонатора стабильные характеристики излучения при повышенных мощностях накачки в отсутствии жидкостного охлаждения; представлены результаты исследований выходных параметров лазера с учетом анизотропии теплофизических свойств активной среды и оптимальной концентрации активатора.

На Рис.1 представлена конструкция квантрона, обеспечивающая симметричный отвод тепла от активного элемента из кристалла КГВ.

Рис.1 Схема квантрона импульсно-периодического лазера.

Особенностью рассматриваемой конструкции квантрона является обеспечение симметричного теплоотвода от ближней к лампе накачки, соответственно, и более нагретой части активного элемента за счет ее контакта с прозрачной для излучения накачки сапфировой трубкой, замыкающей тепловой поток вокруг АЭ.

Конструктивно квантрон выполнен из алюминиевого корпуса 1 размерами 40х35х80мм, овальная полость которого покрыта диффузно-отражающим покрытием из двуокиси цинка. В полости осветителя расположена лампа накачки 2, контактирующая на 1/3 боковой поверхности через диффузно-отражающее покрытие с металлическим корпусом квантрона.

Активный элемент (АЭ) 3 по всей длине прижимался к сапфировой трубке 4 с помощью пластины 5. Для исключения прогиба активного элемента и обеспечения теплового контакта его прижим к сапфировому теплоотводу осуществлялся с помощью пружинного устройства 6. Усилие прижима выбиралось с таким расчетом, чтобы обеспечивать контакт АЭ с сапфировой трубкой и не вызывать в нем механических деформаций. 0,5 мм.

Прижим более нагретой части АЭ к сапфировому теплоотводу приводит к существенному снижению его температуры.

На рис.2 показана зависимость среднеобъемной температуры цилиндрического активного элемента из кристалла КГВ размерами 4х50 мм от времени работы при средней мощности накачки 90 Вт.

6

1

2

Температура АЭ, установленного в квантроне, конструкция которого представлена на Рис.1, снижается примерно на 25-30 % по сравнению с АЭ, установленным соосно в сапфировой трубке (кривая 2)

Рис.2. Зависимость температуры АЭ от времени работы: кривая 1- для АЭ, прижатого к сапфировой трубке, кривая 2- для АЭ, установленного соосно по центру сапфировой трубки.

Т-То, С

140 120 100 80 60 40 20 0

10

20 1, С

30

40

Снижение общего нагрева АЭ приводит к увеличению средней мощности излучения в циклическом режиме работы импульсно-периодического лазера. При этом уменьшается время паузы между циклами, необходимое для сброса тепла АЭ до уровня, обеспечивающего минимальное отклонение энергии генерации в начале каждого цикла излучения от начальной величины. с

Рис.3. Динамика изменения энергии генерации: кривая 1- для АЭ в рассматриваемой конструкции, кривая 2- для АЭ, соосно установленного в сапфировой трубке.

Как следует из графика, спад энергии излучения при обеспечении симметричного теплоотвода от ближней к лампе накачки части поверхности АЭ на сапфировую трубке уменьшается примерно в 1,4 раза по сравнению с соосно установленным в сапфировой трубке АЭ.

В процессе исследований энергетических и пространственных параметров излучения нами было выявлено значительное различие в динамике указанных параметров при работе лазера в частотном режиме в зависимости от концентрации ионов неодима и ориентации плоскости поляризации излучения (совпадает с осью оптической индикатрисы Ыш) относительно направления максимальной тепловой нагрузки на АЭ — в плоскости, проходящей через оси лампы накачки и АЭ.

Зависимость генерационных характеристик лазера на основе кристалла КГВ от концентрации ионов неодима исследовалась только в режиме однократных импульсов [7,8]. В практически используемых лазерах применяются активные элементы КГВ с атомной концентрацией ~3%, что, по-видимому, сложилось исторически. В кристаллы КГВ, в отличие от кристалла ИАГ, можно вводить ионы Ы<+ до атомных концентраций ~10% без существенного уменьшения времени жизни лазерного перехода и ухудшения оптического качества кристалла [9].

Исследования влияния концентрации ионов неодима активного элемента из КГВ на стабильность энергии генерации при работе неохлаждаемого импульсно-периодического с повышенной мощностью накачки проводились на серийных активных элементах размерами 04х50мм с концентрацией ионов неодима Сш=2,5%, Сш=3,5% и Сш=6,5%.

Активные элементы устанавливались в рассмотренный выше (Рис.1) квантрон и ориентировались относительно лампы накачки типа ИНП2-3/35А (с легированным ионами церия кварцевым баллоном) таким образом, чтобы плоскость поляризации излучения совпадала с направлением максимальной тепловой нагрузки (параллельно плоскости, проходящей через оси лампы накачки и АЭ).

Расстояние между баллоном лампы накачки и поверхностью сапфировой трубки 2,5мм. Длина плоскопараллельного резонатора 30см, коэффициент отражения выходного зеркала Я=30%. Длительность импульса накачки составляла 60 мкс по уровню 0,5.

Контроль изменения энергии при средней мощности накачки Рн=100Вт в серии импульсов излучения проводился с помощью фотоприемника ФД-24К, установленного за фокальной плоскостью длиннофокусного объектива. В фокальной плоскости объектива соосно излучению устанавливалась диафрагма с угловым размером 9& для оценки влияния наведенной тепловой линзы на пространственные параметры излучения.

Результаты экспериментальных зависимостей энергии генерации от энергии накачки в циклическом режиме для различных концентраций неодима представлены на рис. 4.

Е, отн.ед 1 и

0,8

0,6

0,4 <Р

0,2

С=2,5% С=3,5% -С=6,5% С=2,5% С=3,5% С=6,5%

10

12

14

16

Рис. 4. Динамика изменения энергии генерации лазера в циклическом режиме работы с АЭ из КГВ с различной концентрацией неодима, сплошные кривые для 1 цикла работы, пунктирные- для 4 цикла.

15 раз по сравнению с энергией в начале цикла.

Существенное снижение энергии генерации при повышении концентрации ионов неодима вызвано дополнительными внутренними тепловыделениями в активном элементе из-за увеличенного количества ионов неодима, поглощающих энергию накачки и неравномерностью распределения температуры по сечению АЭ, что приводит к образованию в нем отрицательной тепловой цилиндрической линзы.

Как показали результаты исследований, проведенные в работе [10], при увеличении концентрации неодима с Сш=3% до Сш=5% оптическая сила отрицательной тепловой цилиндрической линзы увеличивалась с 2,5 диоптрий до 4 диоптрий на каждый 1 кВт накачки. Для данной конструкции квантрона оптическая сила тепловой линзы в АЭ из КГВ размерами 4х50 мм и концентрации неодима Сш=2,5% не превышала 0,2 диоптрий при средней мощности накачки Рн= 90 Вт.

Таким образом, в результате проведенных исследований выявлено, что оптимальная концентрация ионов неодима в активном элементе из кристалла КГВ размерами 4х50 мм, используемого в качестве активной среды частотного неохлаждаемого лазера, в пределах Сш=2,5-3,0%.

На рис 5 и 6 представлены результаты исследований зависимости энергии генерации и клиновой деформации активного элемента из кристалла КГВ размерами 4х50 мм с оптимальной концентрацией ионов неодима (Сш=2,5% ) для различных ориентаций плоскости поляризации излучения относительно направления максимальной тепловой нагрузки в конструкции квантона с симметричным теплоотводом (см. Рис.1). Длительность

цикла накачки 15 с, пауза 10 с, средняя мощность накачки 100 Вт. Резонатор -плоскопараллельный, длиной 30 см.

Рис. 5. Спад энергии генерации в циклическом режиме работы:

1- ось оптической индикатрисы Ыш в плоскости лампы накачки и АЭ;

2- 2- ось Ыш перпендикулярна плоскости лампы накачки и АЭ.

Рис. 6. Динамика клиновой деформации АЭ в плоскости лампы накачки и АЭ:

3- ось оптической индикатрисы Ыш в плоскости лампы накачки и АЭ;

4- 2- ось Ыш перпендикулярна плоскости лампы накачки и АЭ.

Ярко выраженное различие клиновой деформации активного элемента из кристалла КГВ стандартной ориентации (вырезанном вдоль направления [010]) вызвано анизотропией его оптических и теплофизических параметров и сложными условиями теплообмена в полости квантрона.

Основные оптические и теплофизические параметры АЭ из кристалла КГВ представлены в табл.1[10 ].

Табл.1

Параметр Значение вдоль

[100] [010] [001]

Показатель преломления Ыр=1,937 N£=2,03 3 Ыш=1,986

Предел прочности, о, 14 10,2 6,4

Модуль Юнга, Е, Гпа 115,8 152,5 92,4

Коэффициент термического расширения, у, 10-6, К-1 (для 100 °С) 4 3,6 8,5

Теплопроводность, X, Вт/м-К-1(для 100 °С) 2,6 3,8 3,4

В начальный момент времени действия накачки (1-2 с) температурное поле сапфирового теплоотвода имеет малую неравномерность по угловой координате. Поэтому в течение этого промежутка времени перепады температуры между центром и поверхностью активного элемента в плоскости, проходящей через ось лампы накачки и АЭ (плоскость А) и перпендикулярной ей плоскости (плоскость Б) одинаковы (кривая 1, рис.2.5.2). По мере дальнейшего процесса накачки за счет анизотропии коэффициента теплопроводности и температурного изменения показателей преломления происходит увеличение преимущественное увеличение клиновой деформации для ориентации оси оптической индикатрисы Ыш перпендикулярно плоскости лампы накачки и АЭ.

Минимальные термооптические искажения активного элемента обеспечиваются при ориентации оси оптической индикатрисы Ыш параллельно плоскости, проходящей через оси лампы накачки и активного элемента (в направлении максимальной тепловой нагрузки). При этом максимальное значение величины клиновой деформации не превышает 30-40&\\ При ортогональной ориентации активного элемента (ось оптической индикатрисы Ыш перпендикулярна плоскости, проходящей через оси лампы накачки и активного элемента) клиновая деформация возрастает в 3-3,5 раза, что приводит к значительным спадам энергии генерации в циклическом режиме ( Рис 5 ).

Для компенсации остаточной клиновой деформации схемным путем использована схема резонатора с двумя призмами БР-180°, установленными таким образом, что их ребра при вершинах прямых углом взаимоперпендикулярны, причем одна из призм служит для излома оси резонатора, а вторая выполняет роль 100% отражающего зеркала. Ребро второй призмы при вершине двухгранного угла перпендикулярно к плоскости, содержащей лампу накачки и активный элемент [11].

На рис.7 представлена зависимость энергии генерации от разьюстировки концевых элементов резонатора.

По сравнению с классической схемой линейного призменного резонатора, в котором чувствительность к разьюстировкам в плоскости, содержащей ребро при вершине прямого угла столь же велика, как и в плоском резонаторе, (кривая 1), в предложенной схеме резонатора чувствительность к потерям в данной плоскости примерно на порядок ниже (кривая 2).

В плоскости, перпендикулярной ребру призмы-крыши, при разьюстировках концевых элементов до ±30 угл. мин энергия генерации изменялась не более, чем на 10%.

Рис. 7. Зависимость энергии генерации от величины разьюстировки резонатора в плоскости, перпендикулярной ребру призмы-крыши;

1-для резонатора с призмой БР-180 в качестве «глухого» зеркала,

2- для призменного резонатора

На Рис. 8 представлены осциллограммы изменения энергии генерации моноимпульсного лазера на АЭ из кристалла КГВ размерами 4х50 мм, установленным в рассматриваемом квантроне. Резонатор призменный, с изломом оси. Начальная энергия излучения при энергии накачки 4,5 Дж составила 40-45 мДж. Для модуляции добротности использовался электрооптический затвор из ниобата лития типа МНЛ-02, в качестве поляризатора использовался стеклянная пластина с нанесенным многослойным интерференционным покрытием.

Е, отн.ед 1,0 0,8 0,6 0,4 0,2 0,0

0

15 30 45 60 75 90 105 120 135 150

Рис.8. Осциллограммы изменения энергии генерации в призменном резонаторе при Рн=90 Вт.

Из приведенных зависимостей видно, что для предложенного типа резонатора нестабильность энергии генерации от цикла к циклу не превышает 10-15%, а монотонное снижение энергии генерации в конце каждого цикла от 30% в первом цикле до 50% в конце 6 цикла в основном пропорционально температурному уменьшению коэффициента усиления.

При уменьшении длительности цикла накачки с 15 с до 5 с и компенсации наведенной в активном элементе тепловой линзы путем замены плоскопараллельного выходного зеркала

на плосковогнутое с радиусом кривизны г=2800 мм реализован циклический режим работы лазера с частотой повторения импульсов излучения до 50 Гц. При средней мощности накачки Рнак=225 Вт (Ен=4,5 Дж, Б=50 Гц) нестабильность (спад) энергии генерации моноимпульсного лазера с активным элементом из КГВ размерами 4х50 мм в первых 8 циклах излучения не превышала 20%, а уход диаграммы направленности — не более 30″ при начальной энергии генерации 45 мДж и расходимости излучения по уровню 0,8 не более 11″.

Столь высокая стабильность энергетических и пространственных характеристик излучения обеспечивалась в основном за счет оптимального режима термостабилизации активного элемента с использованием рассмотренной выше конструкции квантрона и учета анизотропии термооптических свойств кристалла КГВ.

Для оценки эффективности рассмотренного выше квантрона и схемы призменного резонатора проведены сравнительные исследования относительного изменения энергии излучения в режиме свободной генерации для лазеров с цилиндрическими активными элементами одинаковых размеров 3х50 мм из кристаллов ГСГГ, с концентрацией ионов хрома 1 -1020 см-3 ,ионов неодима

20 3

2 -10 см , ИАГ с 1,1 % концентрацией неодима и КГВ с 3% концентрацией неодима.

Активные элементы устанавливались в одну и ту же сапфировую трубку с внутренним диаметром 3,7 мм, толщиной стенки 2 мм и упруго прижимались с помощью прижимной пластины толщиной 0,7 мм к ближней от лампы накачки поверхности сапфировой трубки (Рис.1). Расстояние между осями лампы накачки ИНП2-35А и активных элементов 5,5 мм. Длительность импульса накачки по уровню 0,5 составляла 60 мкс. Коэффициент отражения выходного зеркала призменного резонатора Я=30%, длина резонатора 30 см. Ребро при двухгранном угле призмы полного внутреннего отражения, используемой в качестве «глухого» зеркала, перпендикулярно к плоскости, содержащей лампу накачки и активный элемент. Значение расходимости излучения по уровню 0,85 в лазерах с активными элементами из ИАГ, ГСГГ и КГВ в данном резонаторе 6,5″, 8,5& и 7″, соответственно.

На рис. 9 представлены результаты относительного изменения энергии генерации в первых трех циклах излучения при средней мощности накачки 90 В (Енак=4,5 Дж). Длительность цикла накачки 15 с, пауза 10 с .

Еген, отн.ед

Рис.9 Зависимость относительного изменения энергии генерации от времени для лазера с разными типами активных элементов.

Из представленных графиков видно, что нестабильность энергии генерации лазеров на активных элементах из кристаллов ГСГГ и КГВ, работающих без охлаждения в частотном режиме в рассматриваемом квантроне, примерно одинаковая.

Таким образом, проведенные исследования показали, что предложенная в настоящей работе система термостабилизации активного элемента и схема призменого резонатора могут быть эффективно использованы в импульсно-периодических лазерах, работающих без жидкостного охлаждения при повышенных мощностях накачки. При использовании же в указанных лазерах активного элемента из кристалла КГВ минимальные термооптические искажения, а соответственно, и стабильные энергетические и пространственные характеристики излучения обеспечиваются при ориентации плоскости поляризации (оси оптической индикатрисы Ыш) параллельно направлению максимального теплового потока со стороны разогретого до высоких температур баллона лампы накачки.

Оптимальная концентрация ионов неодима в активном элементе из КГВ размерами 4х50 мм, используемого в качестве активной среды частотного неохлаждаемого лазера, должна быть в пределах Сш=2,5-3,0%.

Список литературы:

1. Балашов И.Ф., Березин Б.Г.,Кондратьев В.С., Ханков С.И. Термическая деформация активного элемента ОКГ периодического действия без принудительного охлаждения.// Известия вузов. Приборостроение, т.21, №2, 1978.-С. 122-126

2. Балашов И.Ф., Березин Б.Г, Егоров Л.П, Затуловский Л.М, Кравецкий Д.И, Письменный В.А, Поляков М.И. Ханков С.И. Применение монокристаллических труб для выравнивания температуры в активной среде твердотельного лазера// Известия АН СССР. Серия физическая, т.44, №2, 1980г.-С 393-396.

3. Балашов И.Ф., Березин Б.Г., Бученков В.А, Евдоимова В.Г, Егоров Л.П, Затуловский Л.М, Кравецкий Д.И, Поляков М.И, Степанов А.И, Ханков С.И.Применение профилированных монокристаллов в импульсных системах накачки.// Известия АН СССР. Серия физическая, т.44, №2, 1980.-С.389-392.

4.Карасев В.Б. Резонаторы с вращением поля.// Оптический журнал, №81995.-С.24-27

5. Жариков Е.В., Житнюк В.А., Зверев Г.М., Калитин С.П., Куратев И.И.,Лаптев В.В., Онищенко А.М., Осико В.В.,Пашков В.А., Пименов А.С.,Прохоров А.М., Смирнов В.А., Стельмах М.Ф., Шестаков А.В., Щербаков И.А. Активные среды для высокоэффективных неодимовых лазеров с неселективной накачкой// Квантовая электроника, 9, №12, 1982.-С.2531-2533.

6. Волынкин В.М, Лукин А.В., Саховский С.Е., Ханков С.И. Малогабаритный твердотельнй лазер с чстотой повторения до 100 Гц// Оптический журнал, т.67, № 8, 2000.- С.74-79

7. Kushawaha, Banerjee A., Major L. High-Efficiency Flashlamp-pumped Nd : KGW Laser.// Appl. Phys. B 56, 1993.- Р. 239-242.

8. Устименко Н.С., Гулин А.В., Павлюк А.А. Влияние концентрации ионов неодима Nd3+ в кристаллах KGd(WO4)2: Nd3+ на характеристики лазера.//Приборы и техника эксперимента, №3, 2001.-С.120-121.

9. Беренберг В.А., Болдырев С.А., Леонов Г.С., Нестеренко В.Ф., Павлюк А.А., Терпугов В. С. Твердотельные микролазеры с накачкой миниатюрными импульсными лампами.// Квантовая электроника, 12, №2, 1985.-С. 375-377.

10. 51. Мочалов И.В. Нелинейная оптика лазерного кристалла калий-гадолиниевого вольфрамата, активированного неодимом KGd(WO4)2 : Nd 3+.// Оптический журнал,1995, №11.- С.4-36.

11. Сторощук О.Б, Сизов О.В. Положительное решение по заявке № 99127558 от 22.12.1999 г.

Кнопки. Компоненты · Bootstrap. Версия v4.0.0

Используйте стили кнопок Bootstrap для взаимодействия с формами, диалогами, т.п. Имеется поддержка некоторых контекстуальных вариаций, размеров, состояний и т.п.

Примеры

Bootstrap имеет некоторые предопределенные стили кнопок, каждый из которых имеет свою семантическую цель, и имеет дополнительные параметры для большего контроля и гибкости.

Главный Вторичный Успех Опасность Предупреждение Инфо Светлый Темный Линк

<button type="button">Главный</button>
<button type="button">Вторичный</button>
<button type="button">Успех</button>
<button type="button">Опасность</button>
<button type="button">Предупреждение</button>
<button type="button">Инфо</button>
<button type="button">Светлый</button>
<button type="button">Темный</button>

<button type="button">Линк</button>
Использование вспомогательных технологий

Использование цвета как дополнительного инструмента информативности доступно только в визуальной сфере, что ограничивает пользователей вспомогательных технологий, например, программ для чтения текста с экрана. Удостоверьтесь, что информация, обозначенная цветом, также доступна из самого контента (т.е. в тексте) или содержится в альтернативных средствах – таких как дополнительный скрытый в классе .sr-only текст.

Классы .btn созданы для использования с элементом <button>. Однако их также можно использовать внутри <a> или <input> (хотя из-за этого некоторые браузеры могут рендерить это немного иначе).

При использовании классов .btn в элементах <a>, которые в данном случае используются не как линк, ведущий на новые страницы или как якорь, а как триггер внутристраничной функциональности (такой как сворачивание содержимого), необходимо задать этим <a> атрибут role="button" для правильного поведения в случае применения вспомогательных технологий таких как «экранная читалка».

<a href="#" role="button">Link</a>
<button type="submit">Button</button>
<input type="button" value="Input">
<input type="submit" value="Submit">
<input type="reset" value="Reset">

Контурные кнопки (без фона)

Нужна кнопка, но без «тяжелых» фоновых цветов? Замените дефолтные классы-модификаторы на классы .btn-outline-* для удаления всех фоновых изображений и цветов в любой кнопке.

Главный Вторичный Успех Опасность Предупреждение Инфо Светлый Темный

<button type="button">Главный</button>
<button type="button">Вторичный</button>
<button type="button">Успех</button>
<button type="button">Опасность</button>
<button type="button">Предупреждение</button>
<button type="button">Инфо</button>
<button type="button">Светлый</button>
<button type="button">Темный</button>

Размеры

Нужно изменить размеры кнопки? Добавьте в нее классы .btn-lg или .btn-sm для получения дополнительных размеров.

Большая кнопка Большая кнопка

<button type="button">Большая кнопка</button>
<button type="button">Большая кнопка</button>

Маленькая кнопка Маленькая кнопка

<button type="button">Маленькая кнопка</button>
<button type="button">Маленькая кнопка</button>

Создайте кнопки блочного уровня – которые занимают полную ширину родительского элемента – добавлением класса .btn-block.

Кнопка блочного уровня Кнопка блочного уровня

<button type="button">Кнопка блочного уровня</button>
<button type="button">Кнопка блочного уровня</button>

Активное состояние

Когда кнопки нажимают, появляется более темный фон, границы и внутренняя тень. В BS4 нет необходимости добавлять класс в <button>, т.к. тут используется псевдо-класс. Однако вы можете вызвать «активное» поведение и соответствующий внешний вид, добавив класс .active (и включив атрибут aria-pressed="true") , когда необходимо прямо объявить такое поведение.

<a href="#" role="button" aria-pressed="true">Главная ссылка</a>
<a href="#" role="button" aria-pressed="true">Ссылка</a>

«Отключенние» кнопки

Заставьте кнопки выглядеть «неактивными» добавлением булеанова атрибута disabled к любому элементу <button>.

Главная кнопка Кнопка

<button type="button" disabled>Главная кнопка</button>
<button type="button" disabled>Кнопка</button>

«Отключенные» кнопки, созданные из элемента <a>, ведут себя немного иначе:

  • Элемент <a> не поддерживает атрибут disabled, так что для соответствующих свойств вместо него надо добавлять класс .disabled;
  • Некоторые future-friendly стили, которые поддерживаются не всеми юзер-агентами, (т.е. «возможно будут поддерживаться в будущем») включены в <a> для отключения всех событий pointer-events на кнопках-якорях. В браузерах, которые поддерживают это свойство, вы вовсе не увидите деактивированный курсор.
  • Отключенные кнопки должны содержать атрибут aria-disabled="true" для указания вспомогательным технологиям состояния элемента.
<a href="#" role="button" aria-disabled="true">Главный линк</a>
<a href="#" role="button" aria-disabled="true">Линк</a>
Оговорка о некоторых аспектах функциональности ссылок

Класс .disabled использует pointer-events: none для попытки деактивации ссылочной функциональности <a>, но это свойство CSS еще не полностью стандартизовано. В дополнение, даже в браузерах, поддерживающих свойство pointer-events: none, при навигации с клавиатуры пользователи клавиатур для слабовидящих и иных вспомогательных технологий могут нечаянно пройти по данной ссылке. Так что для полной «безопасности» добавляйте в эти ссылки атрибут tabindex="-1" (для предотвращения возможности «нахождения» их с клавиатуры) и используйте обычные скрипты JavaScript для деактивации их функциональности.

Плагины кнопок

Контролируйте состояния кнопок или создавайте группы кнопок для компонентов, таких как «тулбары».

Переключение состояний

Добавьте data-toggle="button" для переключения на активное состояние кнопки. Если вы делаете это, вы должны вручную добавить в <button> класс .active и aria-pressed="true".

Одиночный переключатель

<button type="button" data-toggle="button" aria-pressed="false" autocomplete="off">
  Одиночный переключатель
</button>

Переключатели («галочки») и «кнопки радио»

Стили классов .button могут применяться к прочим элементам, таким как <label>, для создания переключателей («галочек») или «кнопок радио». Добавьте data-toggle="buttons" к классу .btn-group, содержащему эти измененные кнопки, для включения «переключателей» в их соответствующих стилях.

Состояние выбора (т.е. когда ставится «галочка») обновляется лишь событием клика click по кнопке. Если вы используете другой метод для обновления ввода – например <input type="reset"> или вручную применяя свойство ввода checked – вам потребуется вручную применить класс .active к <label>.

Заметьте, что кнопки с предустановленным выбором требуют вручную добавить класс .active к элементу ввода <label>.

<div data-toggle="buttons">
  <label>
    <input type="checkbox" checked autocomplete="off"> Checked
  </label>
</div>
<div data-toggle="buttons">
  <label>
    <input type="radio" name="options" autocomplete="off" checked> Active
  </label>
  <label>
    <input type="radio" name="options" autocomplete="off"> Radio
  </label>
  <label>
    <input type="radio" name="options" autocomplete="off"> Radio
  </label>
</div>

Методы

Метод Описание
$().button('toggle') Задействует состояние «нажатия». Дает кнопке вид активированной (нажатой) кнопки.
$().button('dispose') Уничтожает кнопку элемента (в элементе).

CSS селекторы

Селектор — это часть CSS-правила, которая сообщает браузеру, к какому элементу (или элементам) веб-страницы будет применён стиль.

Термин селектор может относиться к простому селектору (simple selector), составному селектору (compound selector), сложному селектору (complex selector) или списку селекторов.

К простым селекторам относятся:

  • селектор типа
  • универсальный селектор
  • селекторы атрибутов
  • селектор идентификатора
  • селектор класса
  • псевдо-классы
CSS селекторПримерОписаниеCSS
.class .myClass Выбирает все элементы с классом myClass (class="myClass"). 1
#id #main Выбирает элемент с идентификатором main (id="main"). 1
* * Выбор всех элементов. 2
элемент span Выбор всех элементов <span>. 1
элемент,элемент div,span Выбор всех элементов <div> и всех элементов <span>. 1
[атрибут] [title] Выбирает все элементы с атрибутом title. 2
[атрибут=»значение»] [title="cost"] Выбирает все элементы с атрибутом title, значение которого в точности совпадает со значением указанным в селекторе (title="cost").=»https»] Выбор каждого элемента <a> с атрибутом href, значение которого начинается с «https». 3
[атрибут$=»значение»] [src$=".png"] Выбирает все элементы с атрибутом src, значение которого оканчивается на «.png» (src="some_img.png"). 3
[атрибут*=»значение»] [title*="один"] Выбирает все элементы с атрибутом title, в значении которого (в любом месте) встречается подстрока (в виде отдельного слова или его части) «один» (title="один и два"). 3

Составной селектор — это последовательность простых селекторов, которые не разделены комбинаторами, т. е. за одним селектором сразу идёт следующий. Он выбирает элемент, который соответствует всем простым селекторам, которые он содержит. Селектор типа или универсальный селектор, входящий в составной селектор, должен быть расположен первым в этой последовательности. В составном селекторе допустим только один селектор типа или универсальный селектор.


span[title].className
p.className1.className2#someId:hover

Сложный селектор — это последовательность селекторов, которые разделены комбинаторами.

Список селекторов — это селекторы, перечисленные через запятую.

Комбинаторы

Для объединения простых CSS селекторов, используются комбинаторы, которые указывают взаимосвязь между простыми селекторами. Существует несколько различных комбинаторов в CSS2, и один дополнительный в CSS3, когда вы их используете, они меняют характер самого селектора.

КомбинаторПримерОписаниеCSS
элемент элемент div span Выбор всех элементов <span> внутри <div>. 1
элемент>элемент div>span Выбирает все дочерние элементы <span>, у которых родитель — элемент <div>. 2
элемент+элемент div+p Выбирает все элементы <p>, которые расположены сразу после элементов <div>. 2
элемент1~элемент2 p~ol Выбор всех элементов <ol>, которым предшествует элемент <p>. 3

Псевдо-классы

Псевдо-класс – это простой селектор, который используется для выбора того, что не может быть выбрано с помощью других селекторов или может быть выбрано, но достаточно трудным способом.

Псевдо-классПримерОписаниеCSS
:link a:link Выбор всех не посещенных ссылок. 1
:visited a:visited Выбор всех посещенных ссылок. 1
:active a:active Выбор активной ссылки. 1
:hover a:hover Выбор ссылки при наведении курсора мышки. 1
:focus input:focus Выбор элемента <input>, который находится в фокусе. 2
:first-child p:first-child Выбор каждого элемента <p>, который является первым дочерним элементом своего родителя. 2
:lang(язык) p:lang(ru) Выбор каждого элемента <p> с атрибутом lang, значение которого начинается с «ru». 2
:first-of-type p:first-of-type Выбор каждого элемента <p>, который является первым из элементов <p> своего родительского элемента. 3
:last-of-type p:last-of-type Выбор каждого элемента <p>, который является последним из элементов <p> своего родительского элемента. 3
:only-of-type p:only-of-type Выбор каждого элемента <p>, который является единственным элементом <p> своего родительского элемента. 3
:only-child p:only-child Выбор каждого элемента <p>, который является единственным дочерним элементом своего родительского элемента. 3
:nth-child(n) p:nth-child(2) Выбор каждого элемента <p>, который является вторым дочерним элементом своего родительского элемента. 3
:nth-last-child(n) p:nth-last-child(2) Выбор каждого элемента <p>, который является вторым дочерним элементом своего родительского элемента, считая от последнего дочернего элемента. 3
:nth-of-type(n) p:nth-of-type(2) Выбор каждого элемента <p>, который является вторым дочерним элементом <p> своего родительского элемента. 3
:nth-last-of-type(n) p:nth-last-of-type(2) Выбор каждого элемента <p>, который является вторым дочерним элементом <p> своего родительского элемента, считая от последнего дочернего элемента. 3
:last-child p:last-child Выбор каждого элемента <p>, который является последним элементом своего родительского элемента. 3
:root :root Выбор корневого элемента в документе. 3
:empty p:empty Выбор каждого элемента <p>, который не содержит дочерних элементов (включая текст). 3
:target :target Выбор текущего целевого элемента на странице, то есть элемента, к которому был осуществлён переход по ссылке внутри страницы. 3
:enabled input:enabled Выбор каждого включенного элемента <input>. 3
:disabled input:disabled Выбор каждого выключенного элемента <input>. 3
:checked input:checked Выбор элемента <input>, выбранного по умолчанию или пользователем. 3
:not(селектор) :not(p) Выбор всех элементов, кроме элемента <p>. 3

Псевдо-элементы

Псевдо-элемент – это виртуальный элемент, который не существует в явном виде в дереве элементов документа. Псевдо-элементы используются для выбора тех частей элемента, которые не могут быть выбраны с помощью других селекторов, а также для стилизации не всего элемента, а отдельных его частей.

Псевдо-элементПримерОписаниеCSS
::first-letter p::first-letter Выбор первой буквы каждого элемента <p>. 1
::first-line p::first-line Выбор первой строки каждого элемента <p>. 1
::before p::before Добавляет элемент с содержимым перед содержимым каждого элемента <p>. 2
::after p::after Добавляет элемент с содержимым после содержимого каждого элемента <p>. 2

Добавление сервисов WFS—ArcGIS Pro | Документация

Форма параметра пользовательского запроса может использоваться для ввода дополнительных возможностей, которые поддерживаются вашим сервисом WFS. Входная пара ключ-значение может быть пользовательским параметром, который является специфичным для внедрения вашего сервера WFS, или вы можете использовать одно из зарезервированных ключевых слов, встроенных клиентом ArcGIS Pro.

Использование пары ключ-значение

Некоторые из сервисов WFS могут иметь определенные пары ключ-значение, используемые для выполнения пользовательского запроса к сервису. Пара ключ-значение будет добавлена к адресу URL WFS после символа вопросительного знака (?) символа вопросительного знака. В данном примере, ваш полный URL-адрес WFS будет таким: http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?. Если у вас есть пользовательский параметр с именем myCustomKey, вы можете ввести значение myCustomKey в ячейку Параметр и ввести его значение в ячейку Значение. Когда ArcGIS Pro делает запрос на подключение к вашему сервису WFS, он применит пару ключ-значение к URL-адресу WFS, например, http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS&myCustomKey=myValue.

Использование зарезервированного ключевого слова

Клиент ArcGIS Pro WFS содержит зарезервированные ключевые слова, которые могут использоваться для указания свойства подключения для подключения к серверу WFS. Значение, которое вы задаете для этих параметров, будет применяться ко всем слоям в сервисе WFS. Если вы хотите применить зарезервированное ключевое слово к отдельным слоям в сервисе WFS вместо того, чтобы применять их к подключению, необходимо создать несколько подключений с различными значениями параметров или обновить свойства слоев WFS на карте. В следующей таблице перечислены имена и значения пользовательских параметров, которые можно использовать для задания свойств файла подключения к серверу WFS:

Ключевое словоОписание

BBOX

Предоставляет экстент BBOX для ограничения экстента возвращаемых объектов, например, -122.5,37.7,-122.3,37.8. Этот параметр полезен, если нужно ограничить число возвращаемых объектов во всех слоях WFS определенной географической областью. Этот параметр применим только для режима снимка.

MAXFEATURES

Задает максимальное количество объектов, возвращаемых для слоев подключения к серверу WFS. Этот параметр позволяет избежать проблем с производительностью в случаях, когда в сервисе имеется очень большое количество объектов. Значение по умолчанию – 3000.

OUTPUTFORMAT

Укажите формат, в котором запрашиваются объекты. WFS-сервисы могут поддерживать множество типов выходных форматов, но по умолчанию используется формат GML. Используйте эту опцию только, если ваш сервис поддерживает указанный выходной формат. Вы можете проверить, какие выходные форматы поддерживает ваш сервис в ответе на запрос GetCapabilities.

  • GEOJSON – работает с объектами в формате GeoJSON.
  • GEOJSON + GZIP – работает с объектами в формате GeoJSON GZip, например, GEOJSON%2BGZIP.
  • ESRIGEOJSON – работает с объектами в формате Esri GeoJSON.
  • ESRIGEOJSON + GZIP – работает с объектами в формате Esri GeoJSON GZip, например, ESRIGEOJSON%2BGZIP.

Свойства SWAPXY и SWAPXYFILTER не применяются, когда используется выходной формат GeoJSON.

PAGESIZE

Укажите размер страницы, который будет использоваться при выполнении запроса GetFeature для загрузки данных в карту. По умолчанию размер страницы не задан. Это может привести к снижению производительности сервиса при возврате большого количества объектов в одном запросе. Используйте это ключевое слово для запроса меньшего количества объектов на нескольких страницах. Например, PAGESIZE равно 1000.

Это ключевое слово применимо только для сервисов WFS 2.0, которые поддерживают параметры startIndex и count.

STRINGLENGTH

Задает длину текстовый полей в слое WFS. Когда слой открыт в карте, длина всех текстовых полей обрезается до 255 символов по умолчанию.

SWAPXY

Переставляет координаты x,y для отображения вашего слоя.

  • TRUE – изменить порядок X,Y.
  • FALSE – не изменять порядок X,Y. Это значение по умолчанию Короткое целое.

SWAPXYFILTER

Взаимно переставляет координаты x,y для запросов пространственного фильтра, отправляемых на сервер.

  • TRUE – изменяет порядок X,Y для запросов к фильтру.
  • FALSE – не изменяет порядок координат X,Y для запросов к фильтру. Это значение по умолчанию Короткое целое.

За исключением ключевых слов BBOX, STRINGLENGTH, OUTPUTFORMAT и PAGESIZE ключевые слова имеют соответствующие им настройки для слоя, находящиеся в свойствах слоя WFS. Доступ к свойствам слоя WFS можно получить, щелкнув слой правой кнопкой мыши на панели Содержание и выбрав Свойства.

Дополнительно к перечисленным ключевым словам, которые могут использоваться для указания свойства подключения к WFS серверу, существуют другие зарезервированные ключевые слова, которые использовать нельзя, поскольку они имеют особенное значение для сервисов WFS или для ArcGIS. Эти ключевые слова включают NAMESPACE, TYPENAME, VERSION, SERVICE, CRSNAME, REQUEST, USER, URL, PASSWORD, MODE, ANONYMOUS, HTTPTIMEOUT, CAPABILITIES_PARAMETERS и CONNECTIONPATH.

Селекторы

Селекторы

 


В CSS правила совпадения символов определяют, какое правило стиля применить к элементам дерева документа. Такие блоки символов (патэрн), называемые селекторами, могут иметь диапазон имён от простых имён элементов до сложных контекстуальных блоков. Если все условия в патэрн верны для конкретного элемента, селектор совпадает с элементом.

Чувствительность к регистру имён элементов в селекторах зависит от языка документа. Например, в HTML имена элементов нечувствительны к регистру, а в XML — чувствительны к регистру.

В этой таблице суммирован синтаксис селекторов CSS2:

ПатэрнСмыслОписан в разделе
*Совпадает любой элемент.Универсальный селектор
EСовпадает любой элемент E (т.е. элемент типа E).Типы селекторов
E FСовпадает любой элемент F, являющийся потомком элемента E.Селекторы-потомки
E > FСовпадает любой элемент F, являющийся дочерним относительно элемента E.Дочерние селекторы
E:first-childСовпадает элемент E, если E является первым дочерним элементом своего родителя.Псевдокласс :first-child
E:link
E:visited
Совпадает элемент E, если E является якорем ещё не посещённого ресурса гиперссылки (:link) или уже посещённого (:visited).Псевдоклассы гиперссылки
E:active
E:hover
E:focus
Совпадает элемент E во время определённых действий пользователя.Динамические псевдоклассы
E:lang(c)Совпадает элемент типа E, если он на (человеческом) языке с (язык документа специфицирует то, как определяется язык).Псевдокласс  :lang()
E + FСовпадает любой элемент F, непосредственно перед которым идёт элемент E.Смежные селекторы
E[foo]Совпадает любой элемент E с установленным атрибутом «foo» (с каким-либо значением).Селекторы атрибутов
E[foo=»warning»]Совпадает любой элемент E, чьё значение атрибута «foo» точно равно «warning».Селекторы атрибутов
E[foo~=»warning»]Совпадает любой элемент E, чьё значение атрибута «foo» является списком разделённых пробелами значений, одно из которых точно равно «warning».Селекторы атрибутов
E[lang|=»en»]Совпадает любой элемент E, чей атрибут «lang» содержит список разделённых дефисами значений, начинающийся (слева) с «en».Селекторы атрибутов
DIV.warningТолько в HTML. То же, что DIV[class~=»warning»].Селекторы классов
E#myidСовпадает любой ID элемента E, эквивалентный «myid».Селекторы ID

Простой селектор — селектор типа или универсальный селектор, непосредственно после которого идёт ноль или более селекторов атрибутов, селекторов ID или псевдоклассов в любом порядке. Простой селектор совпадает, если совпадают все его компоненты.

Селектор это цепь из одного или более простых селекторов, разделённых комбинаторами. Комбинаторами являются: пробелы, «>» и «+». Пробелы могут появляться между комбинатором и простыми селекторами вокруг него.

Элементы дерева документов, совпадающие с селектором, называются субъектами селектора. Селектор, состоящий из одного простого селектора, совпадает с любым элементом, удовлетворяющим его условиям. Предопределённость простого селектора и комбинатора в цепи вызывает дополнительные ограничения для совпадения, так что субъекты селектора всегда являются поднабором элементов, совпадающим с самым правым простым селектором.

Один псевдоэлемент может быть присоединён к последнему простому селектору в цепи, и в этом случае информация стиля применяется к подразделу каждого субъекта.


5.2.1  Группирование

Если несколько селекторов используют общие объявления, то они могут быть сгруппированы в список с разделением запятыми.

Пример(ы):

Здесь три правила с идентичными объявлениями собраны в одно. Таким образом,

h2 { font-family: sans-serif }
h3 { font-family: sans-serif }
h4 { font-family: sans-serif }

эквивалентно:

h2, h3, h4 { font-family: sans-serif }

CSS предлагает также другие механизмы «сокращений», включая множественные объявления и сокращённые свойства.

Универсальный селектор, записываемый «*», совпадает с именем любого типа элемента. Он совпадает с любым простым элементом в дереве документа.

Универсальный селектор не является единственным компонентом простого селектора, символ «*» может быть опущен. Например:

  • *[LANG=fr] и [LANG=fr] эквивалентны.
  • *.warning и .warning  эквивалентны.
  • *#myid и #myid  эквивалентны.

Селектор типа совпадает с именем типа элемента языка документа. Селектор типа совпадает с каждым вхождением типа элемента в дереве документа.

Пример(ы):

Следующее правило совпадает со всеми элементами h2 в дереве документа:

h2 { font-family: sans-serif }

Авторам может понадобиться, чтобы селекторы совпадали с элементом, который является потомком другого элемента в дереве документа (например, «Совпадать с теми элементами EM, которые содержаться в элементе h2»). Селекторы потомков выражают следующие взаимоотношения в патэрн. Селектор потомков состоит из двух или более селекторов, разделённых пробелами. Селектор потомков  «A B» совпадает, если элемент  B  является произвольным потомком некоторого элемента-предка  A.

Пример(ы):

Рассмотрим следующие правила:

h2 { color: red }
EM { color: red }

Хотя смысл этих правил в том, чтобы выделять текст путём изменения его цвета, в следующем случае эффект не будет достигнут:

<h2>This headline is <EM>very</EM> important</h2>

В этом случае мы дополняем предыдущие правила правилом, которое устанавливает голубой цвет текста, если EM появляется где-либо внутри h2:

h2 { color: red }
EM { color: red }
h2 EM { color: blue }

Третье правило совпадёт с элементом EM в следующем фрагменте:

<h2>This <SPAN>headline 
is <EM>very</EM> important</SPAN></h2>

Пример(ы):

Следующий селектор:

DIV * P

совпадает с элементом P, который является внуком, или позднейшим потомком, элемента DIV. Обратите внимание на пробелы с каждой стороны от «*».

Пример(ы):

Селектор в следующем правиле, сочетающий селекторы потомка и атрибута, совпадает с любым элементом, имеющим (1) установленный атрибут «href» и (2) находящимся внутри P, который сам находится внутри DIV:

DIV P *[href]

Селектор дочерних элементов совпадает, если элемент является дочерним относительно другого элемента. Селектор дочерних элементов состоит из двух или более селекторов, разделённых символом «>».

Пример(ы):

Это правило устанавливает стиль всех элементов P, являющихся дочерними относительно BODY:

BODY > P { line-height: 1.3 }

Пример(ы):

Здесь сочетаются селекторы потомков и селекторы дочерних элементов:

DIV OL>LI P

Здесь селектор совпадает с элементом P, являющимся потомком LI; элемент LI обязан быть дочерним относительно элемента OL; элемент OL обязан быть потомком DIV.
Обратите внимание, что необязательные пробелы вокруг комбинатора «>» опущены.

Информацию о выборе первого дочернего элемента данного элемента см. ниже в разделе о псевдоклассе :first-child.

Смежные селекторы-родственники имеют следующий синтаксис: E1 + E2, где E2 является субъектом селектора. Селектор совпадает, если E1 и E2 имеют одного общего предка в дереве документа и E1 непосредственно предшествует E2.

В определённых контекстах смежные элементы генерируют форматированные объекты, чьё представление обрабатывается автоматически (например, сжатие вертикальных полей между смежными боксами). Селектор «+» позволяет авторам специфицировать дополнительный стиль для смежных элементов.

Пример(ы):

Так, следующее правило указывает, что если элемент P следует непосредственно за элементом MATH, то он не должен учитываться:

MATH + P { text-indent: 0 } 

Следующий пример уменьшает вертикальное пространство, разделяющее h2 и h3:

h2 + h3 { margin-top: -5mm }   

Пример(ы):

Следующее правило аналогично одному из вышеприведённых примеров, за исключением того, что оно добавляет селектор атрибута. Таким образом, специальное форматирование возникает только тогда, когда h2 имеет class=»opener»:

h2.opener + h3 { margin-top: -5mm }   

CSS2 позволяет авторам специфицировать правила, которые определяют совпадение атрибутов, определённых в документе-источнике.


5.8.1 Совпадение атрибутов и их значений

Селекторы атрибутов могут совпадать четырьмя способами:

[att]
Если элемент устанавливает атрибут «att» с каким-либо значением атрибута.
[att=val]
Если значение атрибута «att» элемента — точно «val».
[att~=val]
Если значение атрибута «att» элемента — список разделённых пробелами «слов», одно из которых — «val». Если используется данный селектор, то слова в значении обязаны не содержать пробелов (поскольку они сами разделяются пробелами).
[att|=val]
Если значения атрибута «att» элемента — список разделённых дефисами «слов», начинающийся с «val». Совпадение всегда стартует от начала значения атрибута. Это принимается во внимание прежде всего для того, чтобы позволить совпасть субкоду языка (например, атрибут «lang» в HTML), как описано в RFC 1766 ([RFC1766]).

Значением атрибута обязана быть строка или идентификатор. Чувствительность к регистру имён атрибутов и значений в селекторах зависит от языка документа.

Пример(ы):

Следующий селектор атрибута совпадает со всеми элементами h2, которые специфицировали атрибут «title» с любым значением:

h2[title] { color: blue; }

Пример(ы):

Здесь селектор совпадает со всеми элементами SPAN, чей атрибут «class» имеет значение «example»:

SPAN[class=example] { color: blue; }

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

Пример(ы):

Здесь селектор совпадает со всеми элементами SPAN, чей атрибут «hello» имеет значение «Cleveland» и чей атрибут «goodbye» имеет значение «Columbus»:

SPAN[hello="Cleveland"][goodbye="Columbus"] { color: blue; }

Пример(ы):

Следующие селекторы иллюстрируют разницу между «=» и «~=». первый селектор совпадает, к примеру, со значением «copyright copyleft copyeditor» атрибута «rel». Второй селектор совпадает только тогда, когда атрибут «href» имеет значение «http://www.w3.org/».

A[rel~="copyright"]
A[href="http://www.w3.org/"]

Пример(ы):

Следующее правило скрывает все элементы, у которых атрибут «lang» имеет значение «fr» (т.е. язык — французский).

*[LANG=fr] { display : none }

Пример(ы):

Следующее правило совпадает для значений атрибута «lang», начинающихся с «en», включая «en», «en-US» и «en-cockney»:

*[LANG|="en"] { color : red }

Пример(ы):

Таким же образом, следующие правила звуковой таблицы стилей позволяют громко читать скрипт различными для каждой роли голосами:

DIALOGUE[character=romeo] 
     { voice-family: "Lawrence Olivier", charles, male }
      
DIALOGUE[character=juliet]  
     { voice-family: "Vivien Leigh", victoria, female }

5.8.2  Значения по умолчанию для атрибутов в ОТД

Совпадение происходит в значениях атрибутов в дереве документа. Для языков документа, отличных от HTML, значения по умолчанию для атрибутов могут определяться в ОТД или где-либо ещё. Таблицы стилей  должны создаваться так, чтобы они работали даже тогда, когда значения по умолчанию не включены в дерево документа.

Пример(ы):

Рассмотрим элемент EXAMPLE с атрибутом «notation», имеющим значение по умолчанию «decimal».
Фрагмент ОТД может быть таким:

<!ATTLIST EXAMPLE notation (decimal,octal) "decimal">

Если таблица стилей содержит правила

EXAMPLE[notation=decimal] { /*... установки по умолчанию для свойства ...*/ }
EXAMPLE[notation=octal] { /*... другие установки ...*/ }

тогда, чтобы отобрать случаи, когда атрибут установлен по умолчанию, а не явно, можно добавить следующее правило:

EXAMPLE { /*... значения по умолчанию для свойства  ...*/ }

Поскольку этот селектор менее специфичен, чем селектор атрибута, он будет использоваться только для случаев установки значения по умолчанию. Это делается для того, чтобы все другие значения атрибута, не получающие тот же стиль, что и стиль по умолчанию, были охвачены явно.


5.8.3 Селекторы класса

В таблицах стилей, используемых в HTML, авторы могут употреблять точку (.) как альтернативу «~=» при совпадении с атрибутом «class». Таким образом, в HTML «DIV.value» и «DIV[class~=value]» имеют одно значение. Значение атрибута обязано следовать сразу за «.».

Пример(ы):

Мы можем назначить стилевую информацию всем элементам class~=»pastoral»  следующим образом:

*.pastoral { color: green }  /* все элементы с class~=pastoral */
или просто
.pastoral { color: green }  /* все элементы с class~=pastoral */

Следующее — назначает стиль только элементам h2 с class~=»pastoral»:

h2.pastoral { color: green }  /* элементы h2 с class~=pastoral */

При назначении эти правил первое вхождение h2 ниже не имеет зелёного цвета текста, а второе — имеет:

<h2>Not green</h2>
<h2>Very green</h2>

Чтобы совпасть с поднабором значений «class», каждое значение обязано иметь предшествующую «.».

Пример(ы):

Следующее правило совпадает с любым элементом P, чей атрибут «class» сопоставлен списку разделённых пробелами значений «pastoral» и «marine»:

 P.pastoral.marine { color: green }

Правило совпадает, если  class=»pastoral blue aqua marine», но не совпадает  class=»pastoral blue».

Примечание. CSS даёт такую мощь атрибуту «class», что авторы могут создавать свои собственные «языки документа» на базе элементов с почти не ассоциированным представлением (таких как DIV и SPAN в HTML) и назначать стилевую информацию через атрибут «class». Авторам следует избегать такой практики, поскольку структурные элементы языка документа часто имеют распознаваемые и принимаемые значения, а классы, определённые авторами — не могут.

Языки документов могут содержать атрибуты, которые объявлены как имеющие тип ID. Особенностью атрибутов типа ID является то, что они могут иметь одно значение; независимо от языка документа, атрибут ID может использоваться для уникальной идентификации элемента. В HTML все атрибуты ID именуются «id»; приложения XML могут именовать атрибуты ID по-разному, но с применением одинаковых ограничений.

Атрибут ID языка документа позволяет авторам назначать идентификатор объекту элемента в дереве документа. В CSS ID-селекторы совпадают с объектом элемента на базе идентификатора. ID-селектор CSS содержит «#» непосредственно перед значением ID.

Пример(ы):

Следующий ID-селектор совпадает с элементом h2, чей атрибут ID имеет значение «chapter1»:

h2#chapter1 { text-align: center }

В следующем пример правило таблицы стилей устанавливает совпадение  элементом, чьё значение ID — «z98y». Правило, таким образом, совпадает для элемента P:

<HEAD>
  <TITLE>Match P</TITLE>
  <STYLE type="text/css">
    *#z98y { letter-spacing: 0.3em }
  </STYLE>
</HEAD>
<BODY>
   <P id=z98y>Wide text</P>
</BODY>

В следующем пример, однако, правило стиля совпадает только с тем элементом h2, который имеет значение ID — «z98y». Правило в этом примере не совпадает с элементом P:

<HEAD>
  <TITLE>Match h2 only</TITLE>
  <STYLE type="text/css">
    h2#z98y { letter-spacing: 0.5em }
  </STYLE>
</HEAD>
<BODY>
   <P id=z98y>Wide text</P>
</BODY>

ID-селекторы имеют более высокий приоритет, чем селекторы атрибутов. Например, в HTML селектор  #p123  более специфичен, чем  [ID=p123], в терминах каскада.

Примечание. В XML 1.0 [XML10] информация о том, какой атрибут содержит ID-ы элемента, находится в ОТД. При разборе XML, ПА не всегда читают ОТД и поэтому могут не знать, какой ID у элемента. Если дизайнер таблицы стилей знает или предполагает, что это именно данный случай, он должен использовать нормальные селекторы атрибутов: [name=p371]  вместо  #p371. Однако каскадный порядок нормальных селекторов атрибутов отличается от ID-селекторов. Может понадобиться добавить приоритет «!important» в объявления: [name=p371] {color: red ! important}. Конечно, элементы в документах XML 1.без ОТД не имеют ID-ов вообще.

В CSS2 стиль обычно присоединяется к элементу на базе его позиции в дереве документа. Этой простой модели во многих случаях достаточно, но некоторые обычные сценарии могут оказаться недоступными из-за структуры дерева документа. Например, в HTML 4.0 (см. [HTML40]) нет элементов, относящихся к первой строке параграфа, и, следовательно, простой селектор CSS не может с ним соотноситься.

CSS вводит псевдоэлементы и псевдоклассы, чтобы разрешить форматирование на базе информации, находящейся вне дерева документа.

  • Псевдоэлементы создают абстракции дерева документа наряду с абстракциями, специфицированными языком документа. Например, языки документа не имеют механизмов для доступа к первой букве или первой строке содержимого элемента . Псевдоэлементы CSS позволяют дизайнерам таблиц стилей получить доступ к информации, иначе не доступной. Псевдоэлементы могут также предоставить способ назначить стиль содержимому, которое не существует в документе-источнике (например, псевдоэлементы :before и :after дают доступ к генерируемому содержимому).
  • Псевдоклассы классифицируют элементы не по их именам, атрибутам или содержимому, а по другим характеристикам ; по характеристикам, которые в принципе не могут быть получены из дерева документа. Псевдоклассы могут быть динамическими в предположении, что элемент может получить или потерять псевдокласс, пока пользователь взаимодействует с документом. Исключением является ‘:first-child’, который может быть вычислен из дерева документа.

Ни псевдоэлементы, ни псевдоклассы не появляются в документе-источнике или в дереве документа.

Псевдоклассы допустимы в селекторах везде, в то время как псевдоэлементы могут появляться только после субъекта селектора.

Имена псевдоэлементов и псевдоклассов нечувствительны к регистру.

Некоторые псевдоклассы взаимоисключающи, а другие могут применяться одновременно в одном и том же элементе. В случае конфликта правил, нормальный порядок каскадирования определяет выход.

ПА, соответствующие HTML могут игнорировать все правила с селекторами :first-line или :first-letter или, альтернативно, могут поддерживать только поднаборы свойств этих псевдоэлементов.

5.11.1 Псевдокласс :first-child  

Псевдокласс :first-child совпадает с элементом, являющимся первым дочерним элементом какого-либо другого элемента.

Пример(ы):

Здесь селектор совпадает с любым элементом P, являющимся первым дочерним элементом элемента DIV. Правило подавляет отступ для первого параграфа DIV:

DIV > P:first-child { text-indent: 0 }
Следующий селектор может совпасть с элементом P внутри DIV в следующем фрагменте:
<P> Последний P перед note.
<DIV>
   <P> Первый P внутри note.
</DIV>
но не совпадёт со вторым P в следующем фрагменте:
<P> Последний P перед note.
<DIV>
   <h3>Note</h3>
   <P> Первый P внутри note.
</DIV>

Пример(ы):

Следующее правило устанавливает вес шрифта ‘bold’ для любого элемента EM, являющегося каким-либо потомком элемента P, который, в свою очередь, является первым дочерним элементом:

P:first-child EM { font-weight : bold }

Заметьте, что анонимные боксы не являются частью дерева документа, они не учитываются при вычислении первого дочернего элемента.

Например, EM в:

<P>abc <EM>default</EM> 
является первым дочерним элементом от P.

Следующие два раздела эквивалентны:

* > A:first-child   /* первый дочерний элемент любого элемента */
A:first-child       /* То же самое */

5.11.2 Псевдоклассы гиперссылки: :link и :visited

ПА обычно отображают непосещённые гиперссылки иначе, чем посещённые. CSS имеет псевдоклассы ‘:link’ и ‘:visited’ для этих случаев:

  • Псевдокласс :link применяется к ссылкам, которые ещё не посещены.
  • Псевдокласс :visited применяется после того, как пользователь посетил ссылку.

Примечание. По истечении некоторого времени ПА могут вернуть посещённую гиперссылку к первоначальному состоянию (непосещённому) ‘:link’.

Эти два состояния взаимоисключающи.

Язык документа определяет, какие элементы являются якорями ссылки на ресурс. Например, в HTML 4.0 псевдоклассы гиперссылки применяются к элементам A с атрибутом «href». Таким образом, следующие два объявления CSS2 имеют один эффект:

A:link { color: red }
:link  { color: red }

Пример(ы):

Если следующая ссылка:

<A href="http://out.side/">external link</A>
будет посещена, то данное правило:
A.external:visited { color: blue }
сделает её голубой.


5.11.3 Динамические псевдоклассы: :hover, :active и :focus

Интерактивные ПА иногда изменяют представление в ответ на действия пользователя. CSS имеет три псевдокласса для общих случаев:

  • Псевдокласс :hover применяется, если указал на элемент (каким-либо указательным устройством), но не активировал его. Например, визуальный ПА может применить этот псевдокласс, когда курсор (указатель мыши) проходит над боксом, сгенерированным элементом. ПА, не поддерживающие интерактивные носители, не должны поддерживать этот псевдокласс. Некоторые соответствующие ПА, поддерживающие интерактивные носители, могут оказаться неспособными поддерживать этот псевдокласс (например, устройство «карандаш»).
  • Псевдокласс :active применяется, если элемент активирован пользователем. Например, между нажатием и отпусканием пользователем клавиши мыши.
  • Псевдокласс :focus применяется, если элемент имеет фокус (принял событие от клавиатуры или другие формы ввода текста).

Эти псевдоклассы не являются взаимоисключающими. Элемент может совпадать с несколькими из них одновременно.

CSS не определяет, какие элементы могут быть в вышеуказанных состояниях и как осуществляется вход и выход из этих состояний. Сценарий может меняться в зависимости от того, реагирует элемент на действия пользователя или нет, и различные устройства и ПА могут иметь разные способы указания на элементы (их активации).

От ПА не требуется перерисовывать отображаемый в данный момент документ из-за переносов псевдоклассов. Например, таблица стилей может специфицировать, что ‘font-size’ гиперссылки  :active должен быть больше, чем у неактивной гиперссылки, но поскольку это может вызвать изменение положения букв при выборе пользователем гиперссылки, ПА может проигнорировать соответствующее правило стиля.

Пример(ы):

A:link    { color: red }    /* непосещённые ссылки */
A:visited { color: blue }   /* посещённые ссылки   */
A:hover   { color: yellow } /* пользователь провёл над */
A:active  { color: lime }   /* активные ссылки    */

Заметьте, что A:hover обязан размещаться после правил A:link и A:visited, поскольку иначе правила каскадирования спрячут свойство ‘color’ правила A:hover. Аналогично, поскольку A:active размещено после A:hover, цвет активной ссылки (lime) будет применён, когда пользователь и активирует и проведёт над элементом A.

Пример(ы):

Пример комбинации динамических псевдоклассов:

A:focus { background: yellow }
A:focus:hover { background: white }

Последний селектор совпадает с элементами A, которые входят в псевдоклассы :focus и :hover.

О представлении контуров фокуса см. раздел динамические контуры фокуса.

Примечание. В CSS1 псевдокласс ‘:active’ взаимно исключался с ‘:link’ и ‘:visited’. Сейчас это уже не так. Элемент может быть и  ‘:visited’, и ‘:active’ (или ‘:link’ и ‘:active’), и нормальные правила каскадирования определяют применение свойств.


5.11.4 Псевдокласс языка  :lang

Если язык документа специфицирует, как определяется человеческий язык, то становится возможным записывать селекторы CSS, которые совпадают с элементом, на базе его языка. Например, в HTML [HTML40] язык определяется комбинацией атрибута «lang», элемента META и, возможно, информацией из протокола (такой как в «шапках» HTTP). XML использует атрибут, называемый XML:LANG, и могут быть также и другие методы определения языка, зависящие от языковой специфики.

Псевдокласс ‘:lang(C)’ совпадает, если документ написан на языке C. Здесь C — это код языка, как специфицировано в HTML 4.0 [HTML40] и RFC 1766 [RFC1766]. Он совпадает тем же способом, что и для оператора ‘|=’.

Пример(ы):

Следующие правила устанавливают знаки кавычек для документа HTML на французском или немецком языке:

HTML:lang(fr) { quotes: '« ' ' »' }
HTML:lang(de) { quotes: '»' '«' '\2039' '\203A' }
:lang(fr) > Q { quotes: '« ' ' »' }
:lang(de) > Q { quotes: '»' '«' '\2039' '\203A' }

Вторая пара правил в действительности устанавливает свойство ‘quotes’ элементов Q в соответствии с языком его предка. Так делается, потому что выбор знаков кавычек обычно базируется на языке элемента, окружающего кавычки, а не самих кавычек, и кусок французского текста “à l’improviste” в середине английского текста использует английские знаки кавычек.

5.12.1 Псевдоэлемент :first-line

Псевдоэлемент :first-line применяет специальный стиль к первой форматированной строке параграфа. К примеру:

P:first-line { text-transform: uppercase }

Это правило говорит: «Перевести буквы первой строки каждого параграфа в верхний регистр». Однако селектор «P:first-line» не совпадёт ни с каким реальным элементом HTML. Он совпадёт с псевдоэлементом, который соответствующие ПА будут вставлять в начале каждого параграфа.

Заметьте, что длина первой строки зависит от нескольких факторов, включая ширину страницы, размер шрифта и т.д. Таким образом, обычный параграф HTML:

<P>This is a somewhat long HTML 
paragraph that will be broken into several 
lines. The first line will be identified
by a fictional tag sequence. The other lines 
will be treated as ordinary lines in the 
paragraph.</P>
строки которого могут быть разбиты так:
THIS IS A SOMEWHAT LONG HTML PARAGRAPH THAT
will be broken into several lines. The first
line will be identified by a fictional tag 
sequence. The other lines will be treated as 
ordinary lines in the paragraph.
может быть «переписан» ПАгентами с включением последовательности фиктивных тэгов для :first-line. Эта фиктивная последовательность тэгов поможет продемонстрировать, как наследуются свойства:
<P><P:first-line> This is a somewhat long HTML 
paragraph that will </P:first-line> be broken into several
lines. The first line will be identified 
by a fictional tag sequence. The other lines 
will be treated as ordinary lines in the 
paragraph.</P>

Если псевдоэлемент разрывает реальный элемент, то желаемый эффект может часто быть описан последовательностью фиктивных тэгов, которая закрывает и затем снова открывает элемент. Таким образом, если мы разметим предыдущий параграф с использованием элемента SPAN:

<P><SPAN> This is a somewhat long HTML
paragraph that will be broken into several
lines.</SPAN> The first line will be identified
by a fictional tag sequence. The other lines 
will be treated as ordinary lines in the 
paragraph.</P>
ПА сможет сгенерировать соответствующие начальный и конечный тэги для SPAN при вставке последовательности фиктивных тэгов для :first-line.
<P><P:first-line><SPAN> This is a
somewhat long HTML
paragraph that will </SPAN></P:first-line><SPAN> be
broken into several
lines.</SPAN> The first line will be identified
by a fictional tag sequence. The other lines
will be treated as ordinary lines in the 
paragraph.</P>

Псевдоэлемент :first-line может быть присоединён только к элементу уровня блока.

Псевдоэлемент :first-line подобен инлайн-элементу, но с некоторыми ограничениями. К псевдоэлементу :first-line применяются только следующие свойства : свойства шрифта, свойства цвета, свойства фона, ‘word-spacing’, ‘letter-spacing’, ‘text-decoration’, ‘vertical-align’, ‘text-transform’, ‘line-height’, ‘text-shadow’ и ‘clear’.


5.12.2 Псевдоэлемент :first-letter

Псевдоэлемент :first-letter можно использовать для «начальных заглавных» и «зависающих заглавных», которые являются распространёнными типографскими эффектами. Этот тип начальных букв похож на инлайн-элемент, если его свойство ‘float’ — ‘none’, иначе он похож на всплывающий элемент.

Вот свойства, применимые к псевдоэлементу :first-letter: свойства шрифта, свойства цвета, свойства фона, ‘text-decoration’, ‘vertical-align’ (только если ‘float’ установлен в  ‘none’), ‘text-transform’, ‘line-height’, свойства полей, свойства заполнения, свойства рамок, ‘float’, ‘text-shadow’ и ‘clear’.

Следующий CSS2 сделает начальную заглавную зависающую букву, захватывающую две строки:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<HTML>
 <HEAD>
  <TITLE>Drop cap initial letter</TITLE>
  <STYLE type="text/css">
   P              { font-size: 12pt; line-height: 12pt }
   P:first-letter { font-size: 200%; font-style: italic;
                    font-weight: bold; float: left }
   SPAN           { text-transform: uppercase }
  </STYLE>
 </HEAD>
 <BODY>
  <P><SPAN>The first</SPAN> few words of an article
    in The Economist.</P>
 </BODY>
</HTML>

Этот пример может быть сформатирован так:

Последовательность фиктивных тэгов такова:

<P>
<SPAN>
<P:first-letter>
T
</P:first-letter>he first
</SPAN> 
few words of an article in the Economist.
</P>

Обратите внимание, что тэги псевдоэлемента :first-letter примыкают к содержимому (т.е. к начальному символу), поскольку начальный тэг псевдоэлемента :first-line вставлен справа после начального тэга элемента, к которому он присоединён.

Чтобы выполнить форматирование традиционных зависающих заглавных букв, ПА могут выровнять размеры шрифта, например, по базовой линии. Также и контуры глифов могут быть приняты в расчёт при форматировании.

Пунктуация (т.е. символы, определённые в Unicode [UNICODE] в классах пунктуации «open» (Ps), «close» (Pe) и «other» (Po)), которая предшествует первой букве, должна включаться, как в этом примере:

Псевдоэлемент :first-letter совпадает только с частью элементов уровня блока.

В некоторых языках могут быть специфические правила рассмотрения определённых сочетаний букв. В датском языке, например, если комбинация «ij» появляется в начале слова, обе буквы должны рассматриваться псевдоэлементом :first-letter.

Пример(ы):

Следующий пример иллюстрирует,  как может действовать перекрывание псевдоэлементов. Первые буквы каждого элемента P будут зелёными и размером ’24pt’. Остаток первой форматированной строки будет ‘blue’, а остаток параграфа — ‘red’.

P { color: red; font-size: 12pt }
P:first-letter { color: green; font-size: 200% }
P:first-line { color: blue }

<P>Какой-нибудь текст не менее двух строк.</P>

Если предположить, что разрыв строки появится перед словом «не», последовательность фиктивных тэгов для этого фрагмента может быть такой:

<P>
<P:first-line>
<P:first-letter> 
К
</P:first-letter>акой-нибудь текст 
</P:first-line> 
не менее двух строк.
</P>

Заметьте, что элемент :first-letter находится внутри элемента :first-line. Свойства, установленные в :first-line, наследуются в :first-letter, но переопределяются, если то же самое свойство установлено в :first-letter.


5.12.3 Псевдоэлементы :before и :after

Псевдоэлементы ‘:before’ и ‘:after’ можно использовать для вставки генерируемого содержимого до или после содержимого элемента. Они разъясняются в разделе генерируемый текст.

Пример(ы):

h2:before {content: counter(chapno, upper-roman) ". "}

Если псевдоэлементы :first-letter и :first-line сочетаются с  :before и :after, то они применяются к первой букве или строке элемента, включая вставленный текст.

Пример(ы):

P.special:before {content: "Special! "}
P.special:first-letter {color: #ffd800}

Это выведет «S» в слове «Special!» золотом.

 



3. Активный элемент R в мосту Уитстона …

  1. наука
  2. расширенная физика
  3. расширенные вопросы и ответы по физике
  4. 3. Активным элементом R в мосту Уитстона является установленный тензодатчик. Внизу …

Показать расшифрованный текст изображения

Ответ эксперта

Предыдущий вопрос Следующий вопрос

3. Активным элементом R в мосту Уитстона является тензодатчик, установленный в нижней части автоматических весов, используемых для измерения веса пакетов с сухим молоком.Тензодатчик имеет номинальное сопротивление 500 2 и коэффициент измерения 12. Остальные резисторы фиксируются на номинальном сопротивлении датчика. Напряжение возбуждения моста выбирается таким образом, чтобы ток через датчик был ограничен до 5 мА. Для упаковки сухого молока массой 1 кг приложенная нагрузка на весах составляет 50. (a) Объясните деформацию [3 балла) (b) Спроектируйте и нарисуйте мост Уитстона, необходимый для системы, с четкой маркировкой активного элемента. и другие значения компонентов.Определите максимальное значение напряжения возбуждения моста. [6 баллов) (c) Чтобы уменьшить количество отходов, упаковочная линия должна гарантировать, что ни одна из упаковок не превышает 1,05 кг. Установлен зуммер, предупреждающий оператора о превышении допустимого веса упаковки. Если увеличение деформации пропорционально весу упаковки, определите выходное напряжение моста, которое можно использовать в качестве порогового значения для системы оповещения. Считаем детектор вольтметром идеальным. [4 балла] (d) Определите изменение сопротивления датчика и выходного напряжения моста, когда ПЯТЬ (5) упаковок сухого молока загружены на весы.Предположим, что нагрузка равномерно распределена по тензодатчику и детектор вольтметр идеален. [6 баллов] (e) Вольтметр в части (d) заменяется амперметром с внутренним сопротивлением 100 2. Из ПЯТИ (5) упаковок сухого молока получить результирующий выходной ток и чувствительность общая автоматическая система взвешивания. [6 баллов]

Активный и пассивный компоненты — в чем разница между ними? — Компоненты ES

Два типа электронных устройств

Электронные элементы, составляющие цепь, соединяются вместе проводниками, образуя законченную цепь.

  • Активные компоненты

  • Пассивные компоненты

Активные компоненты

Активный компонент — это электронный компонент, который подает энергию в цепь.

Общие примеры активных компонентов включают:

  • Источники напряжения

  • Источники тока

  • Генераторы (например, генераторы переменного тока и генераторы постоянного тока)

  • Все различные типы транзисторов (например, транзисторы с биполярным переходом, МОП-транзисторы, полевые транзисторы и JFET)

  • Диоды (например, стабилитроны, фотодиоды, диоды Шоттки и светодиоды)

Источники напряжения

Источник напряжения является примером активного компонента в цепи.Когда ток уходит от положительной клеммы источника напряжения, в цепь подается энергия. Согласно определению активного элемента, аккумулятор также можно рассматривать как активный элемент, поскольку он непрерывно подает энергию в схему во время разряда.

Источники тока

Источник тока также считается активным компонентом. Ток, подаваемый в цепь от идеального источника тока, не зависит от напряжения в цепи. Поскольку источник тока управляет потоком заряда в цепи, он классифицируется как активный элемент.

Транзисторы

Транзисторы, хотя и не так очевидны, как источник тока или напряжения, также являются активным компонентом схемы. Это связано с тем, что транзисторы могут усиливать мощность сигнала (см. Нашу статью о транзисторах как усилителе, если вы хотите точно знать, как).

Пассивные компоненты

Пассивный компонент — это электронный компонент, который может только получать энергию, которую он может рассеивать, поглощать или накапливать в электрическом поле или магнитном поле.Пассивным элементам для работы не требуется электричество.

Как следует из названия «пассивные» — пассивные устройства не обеспечивают усиления или усиления. Пассивные компоненты не могут усиливать, генерировать колебания или генерировать электрический сигнал.

Общие примеры пассивных компонентов включают:

  • Резисторы

  • Катушки индуктивности

  • Конденсаторы

  • Трансформаторы

Резисторы

Резистор считается пассивным элементом, поскольку он не может доставить никакой энергия в цепь.Вместо этого резисторы могут получать только энергию, которую они могут рассеивать в виде тепла, пока через них протекает ток.

Катушки индуктивности

Катушка индуктивности также считается пассивным элементом схемы, потому что она может накапливать в ней энергию в виде магнитного поля и передавать эту энергию в цепь, но не непрерывно. Способность индуктора к поглощению и передаче энергии ограничена и носит временный характер. Поэтому индуктор взят как пассивный элемент цепи .

Конденсаторы

Конденсатор считается пассивным элементом, поскольку он может накапливать в нем энергию в виде электрического поля. Энергетическая способность конденсатора ограничена и нестационарна — он фактически не подает энергию, а накапливает ее для дальнейшего использования.

Таким образом, он не считается активным компонентом, так как энергия не подается и не усиливается.

Трансформаторы

Трансформатор также является пассивным электронным компонентом. Хотя это может показаться удивительным, поскольку для повышения уровня напряжения часто используются трансформаторы — помните, что мощность остается постоянной.

Когда трансформаторы повышают (или понижают) напряжение, мощность и энергия на первичной и вторичной стороне остаются неизменными. Поскольку энергия фактически не усиливается, трансформатор классифицируется как пассивный элемент.

Источник: El; ectrical 4U.com

Пассивные элементы | Renesas

Введение в электронные схемы: 1 из 3

Электронные устройства, с которыми мы сталкиваемся повсюду вокруг нас, приводятся в действие и управляются потоком электрического тока через электронные схемы.Каждая цепь представляет собой набор электрических элементов, предназначенных для выполнения определенных функций. Цепи могут быть спроектированы для выполнения широкого спектра операций, от простых действий до сложных задач, в соответствии с работой (ями), которую должна выполнять система.

Давайте начнем с рассмотрения того, как работают ключевые пассивные элементы большинства электронных схем.

Пассивный элемент — это электрический компонент, который не генерирует мощность, а вместо этого рассеивает, накапливает и / или высвобождает ее.К пассивным элементам относятся сопротивления, конденсаторы и катушки (также называемые индукторами). Эти компоненты обозначены на принципиальных схемах как Rs, Cs и Ls соответственно. В большинстве схем они подключены к активным элементам, обычно полупроводниковым устройствам, таким как усилители и микросхемы цифровой логики.

Резисторы

Резистор — это основной тип физического компонента, который используется в электронных схемах. Имеет два (сменных) вывода. Материал, помещенный внутри между двумя выводами резистора, препятствует (ограничивает) прохождение тока.Величина этого сопротивления называется его сопротивлением, которое измеряется в омах (Ом). Резисторы используются для управления различными токами в областях цепи и для управления уровнями напряжения в различных точках в ней путем создания падений напряжения. Когда на резистор подается напряжение, через него течет ток. Закон Ома для резисторов: E = IR, где E — напряжение на резисторе, R — сопротивление резистора, а I — ток, протекающий через резистор. Этот ток пропорционален приложенному напряжению и обратно пропорционален сопротивлению.Таким образом, по мере увеличения сопротивления ток через элемент падает, так что при высоких сопротивлениях ток очень мал.

Закон

Ома позволяет вычислить любое из трех значений цепи (ток, напряжение или сопротивление) из двух других.

Конденсаторы

Конденсатор — это еще один основной тип физических компонентов, используемых в электронных схемах. Он имеет два вывода и используется для хранения и высвобождения электрического заряда. Способность конденсатора накапливать заряд называется его емкостью, измеряемой в фарадах (Ф).

Типичный конденсатор представляет собой две проводящие пластины, разделенные изолятором (диэлектриком). Этот тип элемента схемы не может пропускать постоянный ток (DC), потому что электроны не могут проходить через диэлектрик. Однако конденсатор пропускает переменный ток (AC), потому что переменное напряжение заставляет конденсатор многократно заряжаться и разряжаться, накапливая и высвобождая энергию. Действительно, одним из основных применений конденсаторов является пропускание переменного тока при блокировании постоянного тока, функция, называемая «связь по переменному току».

Когда в конденсатор течет постоянный ток, положительный заряд быстро накапливается на положительной пластине, а соответствующий отрицательный заряд заполняет отрицательную пластину (см. Рисунок 1). Накопление продолжается до тех пор, пока конденсатор не будет полностью заряжен, то есть когда пластины накопят столько заряда (Q), сколько они могут удерживать. Эта величина определяется значением емкости (C) и напряжением, приложенным к компоненту: (Q = CV). В этот момент ток перестает течь (см. Рисунок 2).

Рисунок 1: Конденсатор заряжается / Рисунок 2: Конденсатор заряжен (и стабильно)

Однако, когда в цепи протекает переменный ток, результат совсем другой.

Поскольку переменный ток постоянно меняется, конденсатор постоянно заряжается и разряжается (см. Рисунок 3). Несмотря на то, что диэлектрик в конденсаторе не пропускает электроны, ток, который в данном случае называется током смещения, эффективно проходит через конденсатор. Противодействие конденсатора переменному току называется его емкостным реактивным сопротивлением, которое, как и сопротивление, измеряется в омах (Ом).

Рисунок 3: Многократная зарядка и разрядка

Катушки

Катушка, также называемая индуктором, является еще одним основным типом физического компонента, который используется в электронных схемах.Он имеет два вывода и обычно представляет собой одну или несколько витков (петель) проводящего провода. Этот провод часто, но не обязательно, формируется вокруг сердечника из железа, стали или другого магнитного материала. Ток через катушку индуцирует магнитное поле, которое служит накопителем энергии. Индуктивность измеряется в генри (H).

Более конкретно, ток, протекающий по проводу, создает магнитное поле, направление которого направлено вправо относительно потока тока, как описано «правилом правой руки» (см. Рисунок 4).Если проволока свернута, потоки совпадают. Согласно закону Ленца, изменения магнитного поля катушки создают противоэлектродвижущую силу (и индуцированный ток), которая противодействует этим изменениям. Таким образом, катушки могут использоваться в электронных схемах для ограничения потока переменного тока, позволяя при этом проходить постоянному току.

Рисунок 4: Ток и магнитное поле

Правило правой руки:

Ток (I), протекающий по проводнику, создает магнитное поле (B), которое вращается вправо вокруг проводника.

Рис. 5: Закон Ленца: Индуцированный ток в катушке протекает таким образом, чтобы противодействовать изменениям в количестве силовых линий магнитного поля, проходящих через катушку.

Цепи фильтров (ФВЧ и ФНЧ)

Схема фильтра — это электрическая функция, состоящая из соединенных элементов, которая используется для устранения нежелательных электрических сигналов, позволяя проходить полезным сигналам определенных частот. Например, распространенным типом схемы фильтра является RC-последовательная цепь, в которой сопротивление и емкость соединены последовательно.

В фильтрах

RC можно использовать либо фильтр высоких частот (HPF), либо фильтр низких частот (LPF). RC-фильтр, в котором падение напряжения на резисторе (Vr) принимается за выход, будет пропускать высокочастотные сигналы напряжения со входа, при этом отфильтровывая (ослабляя) низкие частоты на входе (см. Рисунок 6). RC-фильтр, в котором падение напряжения на конденсаторе (Vc) принимается в качестве выходного сигнала, позволяет пропускать низкочастотные компоненты входного сигнала, но снижает или устраняет высокие частоты (см. рисунок 7).

Рисунок 6: Фильтр высоких частот (HPF) / Рисунок 7: Фильтр низких частот (LPF)

Список модулей

  1. Пассивные элементы
  2. Диоды, транзисторы и полевые транзисторы
  3. Операционные усилители, схема компаратора

Случай для отказа от мемристора как основного элемента схемы

Периодическая таблица основных пассивных элементов

Периодическая таблица на рис. 2 имеет строки и столбцы сетки, обозначенные буквами верхнего регистра вдоль левого и верхнего краев.Мы будем обращаться к сетке по ее метке (строка, столбец). Фактическая электрическая переменная, которая применяется к каждой строке или столбцу, отображается вдоль правого и нижнего края. На горизонтальной оси каждый столбец справа представляет собой производную по времени от столбца слева. Например, ось x отрезка (A, Y) равна \ (\ dot {\ varnothing} \), которая является производной от ϕ , оси x отрезка (A, Z). Точно так же по оси Y ось Y каждой более высокой строки является производной от строки под ней.

Рисунок 2

Периодическая таблица основных пассивных элементов в области заряд-напряжение.

Существующие основные элементы удовлетворяют следующим правилам. Мы ожидаем такой же податливости от мемристора.

  1. (я)

    Правило 1. Только один фундаментальный элемент может занимать позицию в периодической таблице.

  2. (ii)

    Правило 2: Переходное событие не считается удовлетворяющим конститутивным отношениям.

Правило 1 основывается на периодической таблице химических элементов, в которой элементы упорядочены по атомному номеру. {- 1 } \ точка {q} = \ точка {\ nu} \).Аналогично в столбце X мы замечаем, что (C, X) — это \ (r \, \ ddot {q} = \ dot {\ nu} \), что является определением малого сигнала резистора, эквивалентным \ (r = \ гидроразрыва {d \ nu} {di} \). Осмотр показывает, что каждый из известных фундаментальных элементов движется по диагоналям в нашей периодической таблице, что приводит к представлению производной n th в терминах заряда и напряжения.

Толстый вертикальный разделитель между столбцами Z и Y подтверждает идею о том, что основные элементы не проникают в столбец Z.{2}} \), где U — некоторая еще не открытая феноменологическая константа. Однако позже мы продемонстрируем, что оккупант (D, Y) будет активным, следовательно, ни пассивным, ни основным.

Прежде чем обсуждать столбец Z, давайте рассмотрим основное уравнение, которое связывает напряжение с магнитным потоком; а именно закон Фарадея. Закон Фарадея гласит, что отрицательная величина скорости изменения магнитного потока (\ ({\ varnothing} _ {B} \)) будет равна электрическому потенциалу (∈), развиваемому в элементе, таком как индуктор.

$$ {\ epsilon} = — \, \ frac {d {\ varnothing} _ {B}} {dt} $$

(1)

Предположим, что экспериментатор вызывает изменение магнитного потока. Отрицательный знак означает, что результирующее напряжение будет в таком направлении, чтобы генерировать ток, магнитное поле которого будет пытаться противодействовать принудительно индуцированному изменению потока. Уравнение предназначено для использования в ситуации, когда поток действительно является магнитным потоком. Однако мы замечаем, что мы можем интегрировать левую часть уравнения (1), чтобы получить \ (\ varphi = — \, \ int {\ epsilon} \, dt \), не настаивая на магнитном поле.Мы использовали ϕ без индекса для обозначения вычисленного потока, а не реального магнитного потока. Хотя этот подход является математически правильным, он может привести к неправильному использованию термина «поток». Постулат 1971 года колеблется из-за использования как ϕ (временной интеграл напряжения), так и слов потокосцепление (используемых в нем семь раз), предполагая, что первоначально постулированная концепция мемристора действительно зависела от существования магнитного потока 5 .Учитывая, что у нас уже есть плоскость заряда-напряжения для проверки, давайте приспособимся к определению \ (\ varphi = — \, \ int {\ epsilon} \, dt \) и проигнорируем потребность в магнитном потоке.

Это перемещает наше обсуждение в столбец Z на рис. 2. Все элементы в столбце Z генерируют поток \ (\ varphi = \ int \ nu \, dt \). Здесь \ (\ nu \ Equiv {\ epsilon} \) и представляет напряжение (электрический потенциал). Отсутствующий отрицательный знак (в отношении магнитного контекста) служит только для определения направления напряжения, и его отсутствие не приводит к потере точности при обсуждении.{-1} \ int q \, dt \) и быть правильным. Однако это поставило бы нас в бессмысленный слот ниже (A, Z). В этой системе с пассивными элементами конденсатор не попал в столбец Z, потому что заряд на конденсаторе не может быть осмысленно преобразован в интеграл напряжения. Этот пример с конденсатором показывает, как создать периодическую таблицу с бесконечной сеткой.

Обращаем внимание на слот (A, Z), обобщенное определяющее уравнение — \ (U \, q = \ varnothing \). Мы временно ввели феноменологическую константу U , чтобы заменить то, что мы можем обнаружить.Простая перестановка дает \ (U = \ frac {\ varnothing} {q} \). Мы можем переписать это на основе его формы производной по времени, где точка над точкой представляет производную по времени.

$$ U = \ frac {\ dot {\ varnothing}} {\ dot {q}} = \ frac {d \ varphi} {dq} = \ frac {\ nu} {i} $$

(2)

Уравнение (2) определяет резистор, делая U в (A, Z) равным R , как показано на рис. 2. Prodromakis et al . среди прочего используйте промежуточное выражение \ ((\ frac {\ frac {d \ varnothing} {dt}} {\ frac {dq} {dt}}) \), содержащее ссылку на заряд, чтобы предположить, что U = M = M ( q ( t )) 6 .Здесь есть два неудобных момента.

  1. (я)

    Хотя вывод не является ошибочным, он нарушает правило 1, потому что простой резистор также будет подходящим образом занимать слот (A, Z).

  2. (ii)

    Любая феноменологическая константа, выведенная из зависимых от времени промежуточных уравнений, является ненадежной и нарушает Правило 2.

Сравнение с таблицей фундаментальных элементов Струкова

На рисунке 3 сравнивается периодическая таблица фундаментальных элементов, опубликованная Струковым и др. . в Hewlett Packard (HP) с предложением в этой статье 7 . Мы видим, что поворот на девяносто градусов влево на сетке (A, Z) — (B, Y) на рис. 3 (b) определенно делает ее похожей на диаграмму Струкова. В исходной таблице фундаментальных элементов есть ошибка 7,8,9 .Выражение в рамке на положительной оси x, dq = idt , конфликтует с положительной осью x, которая одновременно помечена как q . Алгебраическая обработка сформированного выражения дает \ (\ frac {dq} {dt} = i \); подразумевая, что ток равен заряду метки вдоль положительной оси x. Это может быть типографская ошибка и не наблюдается, чтобы повлиять на какие-либо выводы, потому что выражение всегда игнорируется. Nalawade и др. . исправили это, но сумели неправильно пометить ось потока 10 .Кватинский и др. . просто оставьте пустые рамки 11 . Кумар правильно обозначил оси диаграммы в обзоре 12 .

Рисунок 3

Схема основных пассивных элементов в области заряда-напряжения. ( a ) Интерпретация Струкова, приписываемая Чуа. ( b ) В нашем представлении диаграмма Струкова представлена ​​в виде подмножества, заключенного в синий пунктирный прямоугольник.

При параллельном сравнении на рис. 3 мы видим, что нижняя часть диаграммы Струкова соответствует нашему столбцу Z на рис.3 (б). Жители столбца Z не являются фундаментальными, потому что их отношения определяются математическим интегрированием, требующим начальных условий. Даже если мы впустили такие элементы в основную складку, то место, предложенное для мемристора, уже занято резистором.

Плоскость заряда-напряжения иногда называют областью заряда-потока, что совпадает с рисунком 2, включая запрещенный столбец Z. Резистор памяти 2008 года с его феноменологической константой M не находит место в плоскости заряда-напряжения по двум причинам.

  1. (я)

    Слот (A, Z) уже занят резистором. Правило 1 запрещает второго жильца.

  2. (ii)

    Мемристор с \ (M (q (t)) = \ frac {\ varnothing} {q} \) может быть оценен только интегрированием, нарушая Правило 2, требуя временного окна для интеграла.

Теоретико-схемотехническая периодическая таблица пассивных элементов

Движущийся заряд генерирует магнитное поле. Закон Ампера можно использовать для вывода, что провод с током будет создавать силовые линии магнитного поля, перпендикулярные проводу, в направлении, предлагаемом правилом правой руки. Это означает, что рис. 1 (b) и (c) имеют магнитные вклады, отмеченные пунктирными изогнутыми стрелками. Это побуждает нас расширить периодическую таблицу фундаментальных элементов в магнитную плоскость.

Рисунок 4 — это расширенная версия рисунка 2, с плоскостью заряда-напряжения справа от пунктирной синей центральной иглы и плоскостью потока заряда (магнитной) слева от пунктирной синей центральной линии. Поток на магнитной стороне — это истинный магнитный поток, представленный как ϕ B . Заряд и его производные расположены по оси y. Столбцы помечены шляпками на магнитной стороне; указатели строк являются общими для обоих доменов. Обсуждение будет касаться слотов в стиле (строка, столбец).Для всех устройств в столбцах Z и \ (\ hat {{\ rm {Z}}} \) необходимо указать начальные условия в их производных формах от Y и \ (\ hat {{\ rm {Y}}}} \). Слева от центра каждый столбец ведет к производной n истинного магнитного потока. Справа каждый столбец аналогичным образом ведет к производной n -го вычисленного потока, определяемой как интеграл напряжения от времени. Фундаментальные элементы выделены светло-зелеными прямоугольниками, которые представляют их конститутивные отношения. Начнем обсуждение с известных кандидатов.

Рис. 4

Периодическая таблица основных элементов в областях заряд-поток (магнитный) и заряд-напряжение.

Конденсатор из плоскости заряда-напряжения не проявляется на магнитной стороне, потому что для стационарных зарядов нет магнетизма. Это автоматически удаляет все магнитные диагонали с емкостью C , например \ (({\ rm {A}}, \ hat {{\ rm {Y}}}) \), \ (({\ rm {B}} , \ hat {{\ rm {X}}}) \), \ (({\ rm {C}}, \ hat {{\ rm {W}}}) \) и т.д., показанные в красных пунктирных прямоугольниках.

Что касается катушек индуктивности, мы сразу же замечаем, что катушка индуктивности существует, как и должна, в слоте \ (({\ rm {C}}, \ hat {{\ rm {Y}}}) \). Индуктор переходит в паз \ (({\ rm {B}}, \ hat {{\ rm {Z}}}) \), переходит в электрическую область в точке (B, Z) и далее в прорезь (C, Y ). Катушка индуктивности может жить в обеих плоскостях. Катушка индуктивности генерирует напряжение, пропорциональное скорости изменения тока.

Катушка индуктивности также создает истинное магнитное поле вокруг катушек для условий переменного тока в \ (({\ rm {C}}, \ hat {{\ rm {Y}}}) \).

$$ — {\ dot {\ varphi}} _ {B} = L \, \ ddot {q} $$

(4)

В условиях постоянного тока индуктор удовлетворяет следующему соотношению в \ (({\ rm {B}}, \ hat {{\ rm {Z}}}) \) и (B, Z).

$$ — {\ varphi} _ {B} = L \, i = \ varnothing $$

(5)

Мы понимаем, что \ (({\ rm {B}}, \ hat {{\ rm {Z}}}) \) — это односторонняя связь, когда постоянный ток может создавать постоянное магнитное поле, но не наоборот.Аналогично \ (L \, i = \ varnothing \) в (B, Z) требует интегрирования. Следовательно, уравнение (5) не является определяющим соотношением для индуктора. Уравнение (4) из паза \ (({\ rm {C}}, \ hat {{\ rm {Y}}}) \) или уравнение (3) из (C, Y) является истинным определяющим соотношением для индуктора потому что только он описывает способность индуктора соединять магнитные и электрические домены 2,3 .

Предположим теперь, что исходный постулат о магнитном мемристоре верен. Это будет означать, что устройство должно занимать слот \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) на основе определяющего отношения \ (M = — \, \ frac {{ \ varnothing} _ {B}} {q} \) с правильным знаком и нижним индексом.На данный момент у нас недостаточно данных, чтобы опровергнуть это существование. Из множества фундаментальных элементов мы знаем, что действующий элемент в \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) также должен жить в \ (({\ rm {B }}, \ hat {{\ rm {Y}}}) \). Управляющее уравнение для слота \ (({\ rm {B}}, \ hat {{\ rm {Y}}}) \): \ (U \, \ dot {q} = — \, {\ dot {\ varphi}} _ {B} \). Это правило требует, чтобы было какое-то устройство с феноменологической постоянной U , которое будет создавать магнитное поле, которое изменяется с постоянной скоростью, когда через него проходит постоянный ток (\ (\ dot {q} \)).Рассмотрим мемристор HP 2008 года (или Chua 1971 года) для этого слота. Подача постоянного тока в мемристор вызовет изменение напряжения на устройстве \ ((\ dot {v}) \) при изменении его сопротивления. Однако постоянный ток стимула будет создавать только постоянное магнитное поле, а не \ (- {\ dot {\ varphi}} _ {B} \). Следовательно, устройство HP 2008 года (и устройство Чуа 1971 года) не может занимать \ (({\ rm {B}}, \ hat {{\ rm {Y}}}) \), кроме тривиального условия \ (- {\ dot {\ varnothing}} _ {B} = 0 \). Резистор также удовлетворяет этому тривиальному условию.Попробуем вывести правило наблюдаемого \ (\ dot {\ nu} \) из основных законов. Дифференциация закона Фарадея по времени дает \ (\ frac {d} {dt} {\ epsilon} = — \, \ frac {d} {dt} (\ frac {d {\ varphi} _ {B}} {dt}) \), то есть \ (\ dot {\ nu} = — \, {\ ddot {\ varphi}} _ {B} \). Мы видим \ (- {\ ddot {\ varphi}} _ {B} \) в слоте \ (({\ rm {C}}, \ hat {{\ rm {X}}}) \). Для этого требуется, чтобы устройство генерировало скорость магнитного потока, когда через него проходит ток, то есть \ (r \ frac {di} {dt} = — \, {\ ddot {\ varphi}} _ {B} = \ frac {dv} {dt} \). Другими словами, подача тока в устройство должна привести к изменению напряжения \ (\ dot {\ nu} \); что будет происходить на устройствах HP 2008 года и Chua 1971 года.Однако изменение напряжения является нетривиальным только на мгновение и будет оцениваться как ноль, как только завершится переход от низкого сопротивления к высокому (или наоборот); что делает это временным событием и нарушает Правило 2. Следовательно, в \ (({\ rm {C}}, \ hat {{\ rm {X}}}) \) нет места для мемристора 2008 (или 1971). Следовательно, если \ (({\ rm {C}}, \ hat {{\ rm {X}}}) \) и \ (({\ rm {B}}, \ hat {{\ rm {Y}) }}) \) лишены мемристоров, то \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) также запрещены для мемристоров. Кроме того, в \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) нет действующего возможного, потому что стационарные электрические заряды не могут создавать магнитное поле.Таким образом, мы покрасили все исключенные квадраты периодической таблицы в красный цвет, исключив устройство HP 2008 года (и 1971 года) из магнитной плоскости. Предположение, что q в \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) является интегралом тока, а не буквальным стационарным зарядом, помещает нас в область абстракции -путем интеграции. Тогда мемристор — это абстрактное устройство, реагирующее на абстрактный электрический заряд. В любом случае резистор уже удовлетворяет условиям \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \) даже в этой области абстракции.

Может ли постулат 1971 быть вероятным где-нибудь на магнитной стороне? Расположение основных элементов предполагает, что ничто иное, как резистор, не может занимать траекторию \ (({\ rm {A}}, \ hat {{\ rm {Z}}}) \), \ (({\ rm {B}}, \ hat {{\ rm {Y}}}) \), \ (({\ rm {C}}, \ hat {{\ rm {X}}}) \), \ (({ \ rm {D}}, \ hat {{\ rm {W}}}) \) и т. д., предложенных для мемристора. Таким образом, мемристор в любом проявлении исключен из магнитной и электрической стороны периодической таблицы в соответствии с Правилом 1 и / или Правилом 2.

Общая оппозиция концепции мемристора

Vongehr et al .указать на проблемы со смешиванием ϕ B и ϕ 13 . Для них отсутствие магнетизма в модели HP 2008 года является ее основным дисквалификацией, и они полагают, что если мемристор без магнетизма действителен, то мы также обнаружили индуктор, который работает без магнетизма. Ди Вентра и Першин интерпретируют мем-устройства как ответные функции. Они предлагают возможность получения вольт-амперных кривых, которые не пересекают начало координат 14 .Это не согласуется с определением Чуа, согласно которому в случае защемления это мемристор 15 . Чуа очень четко заявляет: «В этой статье любой черный ящик с двумя выводами называется мемристором тогда и только тогда, когда он демонстрирует сжатую петлю гистерезиса для всех биполярных периодических сигналов входного тока (соответственно, сигналов входного напряжения). ), что приводит к периодической характеристике напряжения (соответственно, тока) с той же частотой в плоскости напряжение-ток ( v i ) » 15 .Сундквист и др. . изучите мемристор с термодинамическими соображениями и сделайте вывод, что уравнения мемристора физически неполны по отношению к пассивности или активности 16,17 . Они возражают против утверждения, что существующий претендент на мемристор является пассивным устройством, потому что он нарушает второй закон термодинамики в бесконечно большом количестве случаев, в то время как никакой положительный пример не может быть идентифицирован из-за нефизического характера фундаментального определения мемристора Чуа.Аналогичные критические замечания по поводу нарушения принципа Ландауэра, отсутствия магнитного потока, изменения определений и т. Д. Представлены Jeltsema 18 . Общий знаменатель возражений сводится к отсутствию магнетизма и вероятной необходимости присутствия активных элементов.

Линейно-нелинейные дебаты

Представление о том, что мемристор, постулированный в 1971 году, может каким-то образом существовать как нелинейный, но фундаментальный объект, можно развеять, просмотрев основополагающую статью Чуа.В разделе III статьи Чуа говорится, что, когда кривая мемристора ϕ q является прямой линией, мемристор сокращается до линейного резистора , не зависящего от времени; в значительной степени соответствует нашим выводам в предыдущих разделах 5 .

Теперь рассмотрим нелинейный случай. Чуа заявляет, что «… только мемристоры, характеризующиеся монотонно возрастающей кривой ϕ q , могут существовать в виде устройства без внутренних источников питания». Нелинейная кривая ϕ q всегда будет иметь положительный, хотя и переменный наклон.Однако отношение ϕ к q все еще имеет единицы Ом, без фазового сдвига , что делает его нелинейным резистором. Простые pn-диоды или транзисторы, показанные в таблице 1, могут имитировать нелинейные резисторы. В контексте трех известных фундаментальных устройств Tour et al . заявляют, что «Поведение каждого из этих элементов описывается простой линейной зависимостью…», четко подтверждая, что линейность является центральным элементом фундаментальности 8 .Нелинейные резисторы не являются фундаментальными, потому что они могут быть смоделированы сборкой кусочно-линейных компонентов.

Отчет Ди Вентра и др. . а общие знания о моделировании показывают, что только активный элемент может создавать отрицательное дифференциальное сопротивление (NDR), которое видно на вольт-амперных кривых мемристора 14 . NDR исключает возможность моделирования мемристора нелинейным пассивным диодом, оставляя активные схемы в качестве единственного варианта для моделирования мемристоров.

Рассмотрим мемристор в свете выражения Струкова для феноменологической константы \ (M (q (t)) = \ frac {\ varnothing} {q} \). Когда M ( q ( t )) является положительной константой и \ (\ frac {d} {dq} M (q (t)) = 0 \), тогда устройство является линейным устройством времени — инвариантный резистор , который является уже известным фундаментальным элементом R . Все остальные случаи как минимум нелинейны и исключены из фундаментальных. В силу нелинейности и игнорирования любого критерия активности мемристор должен занимать (C, X) на рис.4.

Предположение, что элемент схемы может быть фундаментальным пассивом в силу нелинейности, ошибочно. Если бы это было правдой, то маломощный резистор r в (C, X), который мог бы представлять пассивный диод, также был бы фундаментальным элементом. Даже если отныне мы решим признать нелинейные пассивные устройства фундаментальными в некотором «расширенном пространстве проектирования», как было предложено Уильямсом и др. ., (i) мемристор не может занимать (A, Z) или \ (({\ rm {A }}, \ hat {{\ rm {Z}}}) \), потому что эти слоты заняты линейным резистором и (ii) мемристор не может занимать (C, X), потому что в вольт-амперной области устройство демонстрирует гистерезис — активное явление, тем самым полностью исключив его из любой таблицы фундаментальных пассивных элементов 5,7,19 .Слот \ (({\ rm {C}}, \ hat {{\ rm {X}}) \) был отклонен в предыдущем обсуждении.

Расширение области применения периодической таблицы

Имея в своем распоряжении хорошо разработанную таблицу понятий в таблице 1, периодическую таблицу и два кратких правила, мы хорошо подготовлены и склонны рассматривать другие формы устройств, такие как устройства с контролируемым потоком. индуктор, конденсатор с контролируемым зарядом и т. д.

Например, рассмотрим устройство, которое удовлетворяет соотношению \ (i = f ({\ varnothing} _ {B}) \), где мы предполагаем, что поток ∅ B является магнитным поток.Любая катушка индуктивности будет создавать напряжение на клеммах устройства с определяющим соотношением \ (L \ frac {di} {dt} = \ nu \) в (C, Y). Замените i в основном уравнении после обобщения всех величин, чтобы они зависели от потока. Получаем \ (L ({\ varnothing} _ {B}) \ frac {d \, f ({\ varnothing} _ {B})} {dt} = \ nu ({\ varnothing} _ {B}) \ ), поэтому \ (L ({\ varnothing} _ {B}) = \ frac {\ nu ({\ varnothing} _ {B})} {\ dot {f} ({\ varnothing} _ {B})} \). Устройство является фундаментальным, если L (∅ B ) является положительной константой и \ (\ frac {d} {d {\ varnothing} _ {B}} L ({\ varnothing} _ {B}) \) тождественно равен нулю.{2}} i \).

В качестве другого примера рассмотрим устройство с ν = г ( q ). Все конденсаторы реагируют на заряд и вырабатывают напряжение в соответствии с = q . Переформатируя определяющее отношение, чтобы оно соответствовало нашему тесту, мы получаем C ( q ) g ( q ) = q . Транспонирование, \ (C (q) = \ frac {q} {g (q)} \). Устройство является фундаментальным, если C ( q ) является положительной константой и \ (\ frac {d} {dq} C (q) \) тождественно равен нулю.{-1} \ frac {d} {dt} q \).

Оглядываясь назад, мы замечаем, что столбец X содержит малосигнальное представление фундаментальных элементов, точно так же, как только столбец Y содержит определяющие отношения фундаментальных элементов.

Что такое мемристор Чуа или HP

Если мемристор не является фундаментальным, мы стремимся понять, что это такое. Первое свидетельство — оригинальная модель от HP. Так выглядит потенциометр из двух резисторов и ползунка 7 . Ползунок должен перемещаться в зависимости от времени, чтобы устройство переходило между состояниями с низким и высоким сопротивлением.Несмотря на множество недостатков модели HP, она отражает суть мемристора — двухконтактное последовательное соединение резисторов с низким сопротивлением R LO и высоким сопротивлением R HI , демонстрируя NDR. Хотя Ди Вентра и др. . утверждают, что отрицательное сопротивление может происходить только от активного элемента, сообщество мемристоров не всегда приравнивает NDR к наличию активного элемента 14 .Благодаря грамотному использованию оконных функций, произвольно вводимых в уравнения, HP скрывает присутствие активных элементов в своей мемристорной модели. В конце концов, потенциометру нет гистерезиса.

Оригинальное исследование в области символьного моделирования выявило два импеданса, которые скручивают в комплексной плоскости 20,21 . Этот подход предлагает логистическую функцию как решение уравнения Бюргерса с переменным коэффициентом. Модель Бюргерса показывает мемристор как сумму реального и отрицательного импеданса; где сумма реактивных компонентов всегда равна нулю.Комплексные резисторы имеют вид \ ({R} _ {1} = \ pm \, a \ mp j \, b \) и \ ({R} _ {2} = \ mp \, c \ pm j \, b \), где положительный член из числа a , c всегда больше. Следовательно, композитное сопротивление всегда положительное. Модель однозначно выявляет наличие недоминантного отрицательного сопротивления. Отрицательный импеданс можно связать с ударной волной, которую Tang et al . вывели 22 . Отрицательное сопротивление не видно внешнему наблюдателю, кроме как во время перехода, и необходимо для представления гистерезиса, зависящего от потока, который является ключом к функциональности мемристора.Без гистерезиса вольт-амперные кривые мемристора не могут иметь лепестков. Вольт-амперная кривая со сжатым гистерезисом является отличительной чертой мемристора 15 . Символьная модель Абрахама генерирует традиционные вольт-амперные кривые и демонстрирует разумное соответствие эмпирическим данным о времени переключения 21 . Также было продемонстрировано, что указанная модель демонстрирует правильную температурную зависимость от эмпирических данных 20 .

Миграция вакансий в мемристоре похожа на пузырьки в стекле по аналогии Вильямса или, скорее, на поведение устройств с токами, ограниченными пространственным зарядом, где постоянная времени тепловой релаксации пространственного заряда велика 19 .Полученная граница между областями низкой и высокой концентрации вакансий в мемристоре имитирует ползунок реостата, разделяет устройство на два (последовательно) резистора и реализует (активный) гистерезис. Гистерезис признан многими авторами, включая Чуа, Уильямс, Струков и Биолек 5,7,15,19,23 . Гистерезис может быть реализован в схеме с операционным усилителем, триггером Шмитта или элементами управления напряжением / током, все из которых являются активными.

Веб-сайт Мемристорного центра Чуа утверждает, что Corinto et al .сконструировали мемристорную модель с однопортовыми пассивными компонентами 24,25 . Это невозможно, если мемристор является фундаментальным элементом. В другой рецензируемой публикации, связанной со схемой, предполагаемый пассивный резистор заменяется диодом Чуа; который является локально активным устройством 26 . Местная активность подразумевает отрицательное сопротивление 27 . Для моделирования мемристора всегда требовались активные элементы, потому что он неявно активен 5,28,29 .

На рис.5 мы моделируем мемристор в виде двух резисторов, выбираемых с помощью двухполюсного двухпозиционного переключателя U3, управляемого генератором гистерезиса U2. Клеммы устройства: a и b . Модель VTEAM имеет положительный и отрицательный порог, который может быть произведен U2 30 . Интегратор U1 вычисляет поток. Генератор гистерезиса U2 — неизбежный активный компонент.

Рисунок 5

Модель схемы мемристора с гистерезисом на основе потока. ( a ) Гистерезис необходим для правильного выбора низкого или высокого сопротивления при заданном пороге магнитного потока.{-1} \ nu \, t \). Однако для умножения требуются активные элементы, поэтому пассивные устройства никогда не занимают (D, Y). Поэтому набор основных элементов строго ограничен C , R и L вдоль ([A, B, C], Y) на рис. 4.

Мы суммируем наши выводы в таблице 2, где мы перечисляем каждый фундаментальный элемент и его определяющие отношения в электрической и магнитной плоскостях. Переменная ν представляет напряжение (В), а ϕ B представляет истинный магнитный поток в Вебере (Wb).Возвращаясь к рис. 4, мы видим, что в электрической области напряжение — это измеряемая величина, которая генерируется на выводах основных элементов в столбце Y. В силу симметрии скорость изменения магнитного потока \ (- {\ dot {\ varphi}} _ {B} \) — единственная измеримая величина, которая должна помочь найти фундаментальный элемент в магнитной области в столбце \ (\ hat {{\ rm {Y}}} \).

Таблица 2 Таблица определяющих соотношений для основных элементов.

Bentley — Документация по продукту

MicroStation

Справка MicroStation

Ознакомительные сведения о MicroStation

Справка по MicroStation PowerDraft

Ознакомительные сведения о MicroStation PowerDraft

Краткое руководство по началу работы с MicroStation

Справка по синхронизатору iTwin

ProjectWise

Справка службы автоматизации Bentley Automation

Ознакомительные сведения об услуге Bentley Automation

Bentley i-model Composition Server для PDF

Подключаемый модуль службы разметки

PDF для ProjectWise Explorer

Справка администратора ProjectWise

Справка службы загрузки данных ProjectWise Analytics

Коннектор ProjectWise для ArcGIS — Справка по расширению администратора

Коннектор ProjectWise для ArcGIS — Справка по расширению Explorer

Коннектор ProjectWise для ArcGIS Справка

Коннектор ProjectWise для Oracle — Справка по расширению администратора

Коннектор ProjectWise для Oracle — Справка по расширению Explorer

Коннектор ProjectWise для справки Oracle

Коннектор управления результатами ProjectWise для ProjectWise

Справка портала управления результатами ProjectWise

Сведения об управлении результатами ProjectWise

Справка ProjectWise Explorer

Справка по управлению полевыми данными ProjectWise

Справка администратора ProjectWise Geospatial Management

Справка обозревателя геопространственного управления ProjectWise

Сведения о геопространственном управлении ProjectWise

Модуль интеграции ProjectWise для Revit Readme

Руководство по настройке управляемой конфигурации ProjectWise

Справка по ProjectWise Project Insights

Плагин

ProjectWise для шлюза веб-служб Bentley Readme

ProjectWise ReadMe

Матрица поддержки версий ProjectWise

Веб-справка ProjectWise

Справка по ProjectWise Web View

Справка портала цепочки поставок

Услуги цифрового двойника активов

PlantSight AVEVA Diagrams Bridge Help

PlantSight AVEVA PID Bridge Help

Справка по экстрактору мостов PlantSight E3D

Справка по PlantSight Enterprise

Справка по PlantSight Essentials

PlantSight Открыть 3D-модель Справка по мосту

Справка по PlantSight Smart 3D Bridge Extractor

Справка по PlantSight SPPID Bridge

Управление эффективностью активов

Справка по AssetWise 4D Analytics

AssetWise ALIM Web Help

Руководство по внедрению AssetWise ALIM в Интернете

AssetWise ALIM Web Quick Reference Сравнительное руководство

Справка по AssetWise CONNECT Edition

Руководство по внедрению AssetWise CONNECT Edition

Справка по AssetWise Director

Руководство по внедрению AssetWise

Справка консоли управления системой AssetWise

Анализ моста

Справка по OpenBridge Designer

Справка по OpenBridge Modeler

Строительное проектирование

Справка проектировщика зданий AECOsim

AECOsim Building Designer Readme

AECOsim Building Designer SDK Readme

Генеративные компоненты для Building Designer Help

Ознакомительные сведения о компонентах генерации

Справка конструктора OpenBuildings

Ознакомительные сведения для

OpenBuildings Designer

Руководство по настройке OpenBuildings Designer

OpenBuildings Designer SDK Readme

Справка по генеративным компонентам OpenBuildings

OpenBuildings GenerativeComponents Readme

Справка OpenBuildings Speedikon

OpenBuildings Speedikon Readme

OpenBuildings StationDesigner Help

OpenBuildings StationDesigner Readme

Гражданское проектирование

Дренаж и коммунальные услуги

Справка OpenRail ConceptStation

Ознакомительные сведения о

OpenRail ConceptStation

Справка по OpenRail Designer

Файл ознакомительных сведений для

OpenRail Designer

Справка по конструктору надземных линий OpenRail

Справка OpenRoads ConceptStation

Ознакомительные сведения о

OpenRoads ConceptStation

Справка по OpenRoads Designer

Файл ознакомительных сведений для

OpenRoads Designer

Справка по OpenSite Designer

Файл ReadMe для

OpenSite Designer

Инфраструктура связи

Bentley Coax Help

Bentley Communications PowerView Help

Ознакомительные сведения о Bentley Communications PowerView

Справка по Bentley Copper

Справка по Bentley Fiber

Bentley Inside Plant Справка

Справка конструктора OpenComms

Ознакомительные сведения о конструкторе OpenComms

Справка OpenComms PowerView

Ознакомительные сведения OpenComms PowerView

Справка инженера OpenComms Workprint

OpenComms Workprint Engineer Readme

Строительство

ConstructSim Справка для руководителей

ConstructSim Исполнительный файл ReadMe

ConstructSim Справка издателя i-model

Справка по планировщику ConstructSim

Файл ReadMe для

ConstructSim Planner

Справка по стандартному шаблону ConstructSim

ConstructSim Work Package Server Client Руководство по установке клиента

Справка по серверу рабочих пакетов ConstructSim

ConstructSim Руководство по установке сервера рабочих пакетов

SYNCHRO Control Help

SYNCHRO Pro Readme

Энергетическая инфраструктура

Справка конструктора Bentley OpenUtilities

Ознакомительные сведения о Bentley OpenUtilities Designer

Справка по подстанции Bentley

Ознакомительные сведения о подстанции Bentley

Справка подстанции OpenUtilities

Ознакомительные сведения о подстанции OpenUtilities

Promis.e Справка

Promis.e Readme

Руководство по установке Promis.e — управляемая конфигурация ProjectWise

Руководство по настройке подстанции

— управляемая конфигурация ProjectWise

Геотехнический анализ

PLAXIS LE Readme

Ознакомительные сведения о PLAXIS 2D

Ознакомительные сведения о программе просмотра вывода PLAXIS 2D

Ознакомительные сведения о PLAXIS 3D

Ознакомительные сведения о программе просмотра 3D-вывода PLAXIS

PLAXIS Monopile Designer Readme

Управление геотехнической информацией

Справка администратора gINT

Справка gINT Civil Tools Pro

Справка gINT Civil Tools Pro Plus

Справка коллекционера gINT

Справка по OpenGround Cloud

Гидравлика и гидрология

Справка Bentley CivilStorm

Справка Bentley HAMMER

Справка Bentley SewerCAD

Справка Bentley SewerGEMS

Справка Bentley StormCAD

Справка Bentley WaterCAD

Справка Bentley WaterGEMS

Управление активами линейной инфраструктуры

Справка по услугам AssetWise ALIM Linear Referencing Services

Руководство администратора мобильной связи TMA

Мобильная справка TMA

Картография и геодезия

Справка карты OpenCities

Ознакомительные сведения о карте

OpenCities

OpenCities Map Ultimate для Финляндии Справка

Обзор

OpenCities Map Ultimate для Финляндии

Справка по карте Bentley

Справка по мобильной публикации Bentley Map

Ознакомительные сведения о карте Bentley для

Проектирование шахты

Справка по транспортировке материалов MineCycle

Ознакомительные сведения по транспортировке материалов MineCycle

Моделирование мобильности и аналитика

LEGION CAD Prep Help

Справка по построителю моделей LEGION

Справка по API симулятора LEGION

Ознакомительные сведения об API-интерфейсе симулятора LEGION

Справка по симулятору LEGION

Моделирование и визуализация

Bentley Посмотреть справку

Bentley Посмотреть ознакомительные сведения

Морской структурный анализ

SACS Close the Collaboration Gap (электронная книга)

Ознакомительные сведения о SACS

Анализ напряжений в трубах и сосудов

AutoPIPE Accelerated Pipe Design (электронная книга)

Советы новым пользователям AutoPIPE

Краткое руководство по AutoPIPE

AutoPIPE & STAAD.Pro

Завод Дизайн

Информация об экспортере завода Bentley

Bentley Raceway and Cable Management Help

Bentley Raceway and Cable Management Readme

Bentley Raceway and Cable Management — Руководство по настройке управляемой конфигурации ProjectWise

Справка по OpenPlant Isometrics Manager

Ознакомительные сведения о менеджере изометрических данных OpenPlant

Справка OpenPlant Modeler

Ознакомительные сведения о программе OpenPlant Modeler

Справка по OpenPlant Orthographics Manager

Ознакомительные сведения для менеджера орфографии OpenPlant

Справка OpenPlant PID

Ознакомительные сведения о PID OpenPlant

Справка администратора проекта OpenPlant

Файл Readme для администратора проекта OpenPlant

Техническая поддержка OpenPlant Support

Ознакомительные сведения о технической поддержке OpenPlant

Справка PlantWise

Ознакомительные сведения о PlantWise

Реализация проекта

Справка рабочего стола Bentley Navigator

Моделирование реальности

Справка консоли облачной обработки ContextCapture

Справка редактора ContextCapture

Файл ознакомительных сведений для редактора ContextCapture

Справка для мобильных устройств ContextCapture

ContextCapture Руководство пользователя

Справка Декарта

Descartes Readme

Структурный анализ

RAM Concept Help

Справка по структурной системе ОЗУ

STAAD Close the Collaboration Gap (электронная книга)

STAAD.Pro Help

Ознакомительные сведения о STAAD.Pro

STAAD.Pro Физическое моделирование

Расширенная справка по STAAD Foundation

Дополнительные сведения о STAAD Foundation

Детализация конструкций

Справка ProStructures

Ознакомительные сведения о

ProStructures

ProStructures CONNECT Edition Руководство по внедрению конфигурации

ProStructures CONNECT Edition Руководство по установке — Управляемая конфигурация ProjectWise

Модули

— WebAssembly 1.1

Программы

WebAssembly организованы в модули , , которые являются единицами развертывания, загрузки и компиляции. Модуль собирает определения для типов, функций, таблиц, памяти и глобальных объектов. Кроме того, он может декларировать импорт и экспорт. и обеспечить инициализацию в виде сегментов данных и элементов или функции запуска.

\ [\ begin {split} \ begin {array} {lllll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {module} & \ href {../ syntax / modules.html # syntax-module} {\ mathit {module}} & :: = & \ {& \ href {../syntax/modules.html#syntax-module}{\mathsf{types}}~\href{../syntax/conventions.html#syntax-vec}{\mathit{vec}}(\href{../ syntax / types.html # syntax-functype} {\ mathit {functype}}), \\ &&&& \ href {../ syntax / modules.html # syntax-module} {\ mathsf {funcs}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} (\ href {../syntax/modules.html#syntax-func}{\mathit{func}}), \\ &&&& \ href {../ syntax / modules.html # syntax-module} {\ mathsf {tables}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} (\ href {../syntax/modules.html#syntax-table}{\mathit{table}}), \\ &&&& \ href {../ syntax / modules.html # syntax-module} {\ mathsf {mems}} ~ \ href {../ syntax / Conventions. ?, \\ &&&& \ href {../syntax/modules.html#syntax-module}{\mathsf{imports}}~\href{../syntax/conventions.html#syntax-vec}{\mathit{vec}}(\href{../ syntax / modules.html # syntax-import} {\ mathit {import}}), \\ &&&& \ href {../ syntax / modules.html # syntax-module} {\ mathsf {exports}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} (\ href {../syntax/modules.html#syntax-export}{\mathit{export}}) \ quad \} \\ \ end {array} \ end {split} \]

Каждый из векторов — и, следовательно, весь модуль — может быть пустым.

Индексы

Определения ссылаются на отсчитываемые от нуля индексы .Каждый класс определения имеет собственное индексное пространство , которое различается следующими классами.

\ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {индекс типа} & \ href {../ syntax / modules.html # syntax-typeidx} {\ mathit {typeidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {function index} & \ href {../ syntax / modules.html # syntax-funcidx} {\ mathit {funcidx}} & :: = & \ href {.. / синтаксис / значения.html # syntax-int} {\ mathit {u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {индекс таблицы} & \ href {../ syntax / modules.html # syntax-tableidx} {\ mathit {tableidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {индекс памяти} & \ href {../ syntax / modules.html # syntax-memidx} {\ mathit {memidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {глобальный индекс} & \ href {../ syntax / modules.html # syntax-globalidx} {\ mathit {globalidx}} & :: = & \ href {../syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {индекс элемента} & \ href {../ syntax / modules.html # syntax-elemidx} {\ mathit {elemidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {индекс данных} & \ href {../ syntax / modules.html # syntax-dataidx} {\ mathit {dataidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {локальный индекс} & \ href {../ синтаксис / модули.html # syntax-localidx} {\ mathit {localidx}} & :: = & \ href {../ syntax / values.html # syntax-int} {\ mathit {u32}} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {label index} & \ href {../ syntax / modules.html # syntax-labelidx} {\ mathit {labelidx}} & :: = & \ href {.. /syntax/values.html#syntax-int}{\mathit{u32}} \\ \ end {array} \ end {split} \]

Индексное пространство для функций, таблиц, памяти и глобальных объектов включает соответствующий импорт, объявленный в том же модуле. Индексы этого импорта предшествуют индексам других определений в том же индексном пространстве.

Индексы элементов ссылаются на сегменты элементов, а индексы данных ссылаются на сегменты данных.

Индексное пространство для локальных переменных доступно только внутри функции и включает параметры этой функции, которые предшествуют локальным переменным.

Индексы меток ссылаются на структурированные команды управления внутри последовательности команд.

Условные обозначения

  • Мета-переменная \ (l \) находится в пределах индексов меток.

  • Мета-переменные \ (x, y \) изменяются по индексам в любом из других индексных пространств.\ ast) = \ {x, y \} \).

    Типы

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {types}} \) модуля определяет вектор типов функций.

    Все типы функций, используемые в модуле, должны быть определены в этом компоненте. На них ссылаются индексы типа.

    Примечание

    В будущих версиях WebAssembly могут быть добавлены дополнительные формы определений типов.

    Функции

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {funcs}} \) модуля определяет вектор функций со следующей структурой:

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {функция} & \ href {../syntax/modules.html#syntax-func}{\mathit{func}} & :: = & \ {\ href {../ syntax / modules.html # syntax-func} {\ mathsf {type}} ~ \ href {../ syntax / modules.html # syntax-typeidx} {\ mathit {typeidx}}, \ href {../ syntax / modules.html # syntax-func} {\ mathsf {locals}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} (\ href {../syntax/types.html#syntax-valtype}{\mathit{valtype}}), \ href {../ syntax / modules.html # syntax-func} {\ mathsf {body}} ~ \ href { ../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} \\ \ end {array} \ end {split} \]

    Файл \ (\ href {../syntax/modules.html#syntax-func} {\ mathsf {type}} \) функции объявляет свою подпись посредством ссылки на тип, определенный в модуле. На параметры функции ссылаются через локальные индексы, отсчитываемые от 0 в теле функции; они изменчивы.

    \ (\ href {../ syntax / modules.html # syntax-func} {\ mathsf {locals}} \) объявляет вектор изменяемых локальных переменных и их типов. На эти переменные ссылаются через локальные индексы в теле функции. Индекс первого локального — это наименьший индекс, не ссылающийся на параметр.

    \ (\ href {../ syntax / modules.html # syntax-func} {\ mathsf {body}} \) — это последовательность инструкций, которая после завершения должна создать стек, соответствующий типу результата типа функции.

    На функции ссылаются через индексы функций, начиная с наименьшего индекса, не ссылающегося на импорт функции.

    Столы

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {tables}} \) модуля определяет вектор таблиц , описанный их типом таблицы:

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {table} & \ href {../syntax/modules.html#syntax-table}{\mathit{table}} & :: = & \ {\ href {../ syntax / modules.html # syntax-table} {\ mathsf {type}} ~ \ href {../ syntax / types.html # syntax-tabletype} {\ mathit {tabletype}} \ } \\ \ end {array} \ end {split} \]

    Таблица — это вектор непрозрачных значений определенного типа элемента таблицы. Размер \ (\ href {../ syntax / types.html # syntax-limits} {\ mathsf {min}} \) в пределах типа таблицы указывает начальный размер этой таблицы, а ее \ (\ href {../ syntax / types.html # syntax-limits} {\ mathsf {max}} \), если присутствует, ограничивает размер, до которого он может увеличиться позже.

    Таблицы могут быть инициализированы через сегменты элементов.

    На таблицы ссылаются через индексы таблиц, начиная с наименьшего индекса, не ссылающегося на импорт таблицы. Большинство конструкций неявно ссылаются на индекс таблицы \ (0 \).

    Примечание

    В текущей версии WebAssembly не более одной таблицы можно определить или импортировать в одном модуле, и все конструкции неявно ссылаются на эту таблицу \ (0 \). Это ограничение может быть снято в будущих версиях.

    Воспоминания

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {mems}} \) модуля определяет вектор из линейной памяти (или для краткости памяти ) как описывается их типом памяти:

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {memory} & \ href {../ syntax / modules.html # syntax-mem} {\ mathit {mem}} & :: = & \ {\ href {../ syntax / modules.html # syntax-mem} {\ mathsf {type}} ~ \ href {../ syntax / types.html # syntax-memtype} {\ mathit {memtype}} \} \\ \ end {array} \ end {split} \]

    Память — это вектор необработанных неинтерпретированных байтов. Размер \ (\ href {../ syntax / types.html # syntax-limits} {\ mathsf {min}} \) в пределах типа памяти указывает начальный размер этой памяти, а ее \ (\ href {../ syntax / types.html # syntax-limits} {\ mathsf {max}} \), если присутствует, ограничивает размер, до которого он может увеличиться позже. Оба даны в единицах размера страницы.

    Ячейки памяти могут быть инициализированы через сегменты данных.

    Воспоминания ссылаются на индексы памяти, начиная с наименьшего индекса, не ссылающегося на импорт памяти. Большинство конструкций неявно ссылаются на индекс памяти \ (0 \).

    Примечание

    В текущей версии WebAssembly не более одной памяти может быть определено или импортировано в одном модуле, и все конструкции неявно ссылаются на эту память \ (0 \). Это ограничение может быть снято в будущих версиях.

    Глобалы

    Файл \ (\ href {../syntax/modules.html#syntax-module} {\ mathsf {globals}} \) компонент модуля определяет вектор глобальных переменных (или глобальных переменных для краткости):

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {global} & \ href {../ syntax / modules.html # syntax-global} {\ mathit {global}} & :: = & \ {\ href {../ syntax / modules.html # syntax-global} {\ mathsf {type}} ~ \ href {../ syntax / types.html # syntax-globaltype} {\ mathit {globaltype}}, \ href {../ syntax / modules.html # syntax-global} {\ mathsf {init}} ~ \ href {../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} \\ \ end {array} \ end {split} \]

    Каждый глобал хранит одно значение данного глобального типа. Его \ (\ href {../ syntax / modules.html # syntax-global} {\ mathsf {type}} \) также указывает, является ли глобальный неизменяемым или изменяемым. Более того, каждый глобал инициализируется значением \ (\ href {../ syntax / modules.html # syntax-global} {\ mathsf {init}} \), заданным постоянным выражением инициализатора.

    На

    глобалы ссылаются через глобальные индексы, начиная с наименьшего индекса, не ссылающегося на глобальный импорт.

    Сегменты элемента

    Исходное содержимое таблицы не инициализировано. Сегменты элементов могут использоваться для инициализации поддиапазона таблицы из статического вектора элементов.

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {elems}} \) модуля определяет вектор сегментов элемента. Каждый сегмент элемента определяет тип элемента и соответствующий список выражений элемента.

    Сегменты элемента

    имеют режим, который идентифицирует их как пассивный или активный .Элементы сегмента пассивного элемента можно скопировать в таблицу с помощью инструкции \ (\ href {../ syntax / instructions.html # syntax-instr-table} {\ mathsf {table.init}} \). Сегмент активного элемента копирует свои элементы в таблицу во время создания экземпляра, как указано индексом таблицы и постоянным выражением, определяющим смещение в этой таблице.

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {сегмент элемента} & \ href {../ syntax / modules.html # syntax-elem} {\ mathit {elem}} & :: = & \ {\ href {../syntax/modules.html#syntax-elem}{\mathsf{type}}~\href{../syntax/types.html#syntax-elemtype}{\mathit{elemtype}}, \ href {../ syntax / modules.html # syntax-elem} {\ mathsf {init}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} (\ href {../ syntax / modules.html # syntax-elemexpr} {\ mathit {elemexpr}}), \ href {../ syntax / modules.html # syntax-elem} {\ mathsf {mode}} ~ \ href {../ syntax / modules .html # syntax-elemmode} {\ mathit {elemmode}} \} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {режим сегмента элемента} & \ href {../ синтаксис / модули.html # syntax-elemmode} {\ mathit {elemmode}} & :: = & \ href {../ syntax / modules.html # syntax-elem} {\ mathsf {passive}} \\ && | & \ href {../ syntax / modules.html # syntax-elem} {\ mathsf {active}} ~ \ {\ href {../ syntax / modules.html # syntax-elem} {\ mathsf {table}} ~ \ href {../ syntax / modules.html # syntax-tableidx} {\ mathit {tableidx}}, \ href {../ syntax / modules.html # syntax-elem} {\ mathsf {offset}} ~ \ href {../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {elemexpr} & \ href {../syntax/modules.html#syntax-elemexpr}{\mathit{elemexpr}} & :: = & \ href {../ syntax / modules.html # syntax-elemexpr} {\ mathsf {ref.null}} ~ \ href {../ syntax / instructions.html # syntax-instr-control} {\ mathsf {end} } \\ && | & (\ href {../ syntax / modules.html # syntax-elemexpr} {\ mathsf {ref.func}} ~ \ href {../ syntax / modules.html # syntax-funcidx} {\ mathit {funcidx}} ) ~ \ href {../ syntax / instructions.html # syntax-instr-control} {\ mathsf {end}} \\ \ end {array} \ end {split} \]

    Синтаксис \ (\ href {../ / modules.html # syntax-elem} {\ mathsf {offset}} \) задается постоянным выражением.

    Сегменты элементов указываются с помощью индексов элементов.

    Примечание

    В текущей версии WebAssembly в модуле допускается не более одной таблицы. Следовательно, единственный допустимый \ (\ href {../ syntax / modules.html # syntax-tableidx} {\ mathit {tableidx}} \) — это \ (0 \).

    Сегменты данных

    Начальное содержимое памяти — нулевые байты. Сегменты данных могут использоваться для инициализации диапазона памяти из статического вектора байтов.

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {datas}} \) модуля определяет вектор сегментов данных.

    Подобно сегментам элементов, сегменты данных имеют режим, который идентифицирует их как пассивный или активный . Содержимое пассивного сегмента данных можно скопировать в память с помощью инструкции \ (\ href {../ syntax / instructions.html # syntax-instr-memory} {\ mathsf {memory.init}} \). Активный сегмент данных копирует свое содержимое в память во время создания экземпляра, как указано индексом памяти и постоянным выражением, определяющим смещение в этой памяти.

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {сегмент данных} & \ href {../ syntax / modules.html # syntax-data} {\ mathit {data}} & :: = & \ {\ href {../ syntax / modules.html # syntax-data} {\ mathsf {init}} ~ \ href {../ syntax / Conventions.html # syntax-vec} {\ mathit {vec}} ( \ href {../ syntax / values.html # syntax-byte} {\ mathit {byte}}), \ href {../ syntax / modules.html # syntax-data} {\ mathsf {mode}} ~ \ href {../ syntax / modules.html # syntax-datamode} {\ mathit {datamode}} \} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {режим сегмента данных} & \ href {../syntax/modules.html#syntax-datamode}{\mathit{datamode}} & :: = & \ href {../ syntax / modules.html # syntax-data} {\ mathsf {passive}} \\ && | & \ href {../ syntax / modules.html # syntax-data} {\ mathsf {active}} ~ \ {\ href {../ syntax / modules.html # syntax-data} {\ mathsf {memory}} ~ \ href {../ syntax / modules.html # syntax-memidx} {\ mathit {memidx}}, \ href {../ syntax / modules.html # syntax-data} {\ mathsf {offset}} ~ \ href {../syntax/instructions.html#syntax-expr}{\mathit{expr}} \} \\ \ end {array} \ end {split} \]

    Сегменты данных ссылаются на индексы данных.

    Примечание

    В текущей версии WebAssembly в модуле допускается не более одной памяти. Следовательно, единственный допустимый \ (\ href {../ syntax / modules.html # syntax-memidx} {\ mathit {memidx}} \) — это \ (0 \).

    Функция запуска

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {start}} \) модуля объявляет индекс функции функции запуска , которая автоматически вызывается, когда модуль создается после инициализации таблиц и памяти.

    \ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {start function} & \ href {../ syntax / modules.html # syntax-start} {\ mathit {start}} & :: = & \ {\ href {../ syntax / modules.html # syntax-start} {\ mathsf {func}} ~ \ href {../ syntax / modules.html # syntax-funcidx} {\ mathit {funcidx}} \ } \\ \ end {array} \ end {split} \]

    Примечание

    Функция запуска предназначена для инициализации состояния модуля. Модуль и его экспорт недоступны до завершения этой инициализации.

    Экспорт

    Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {exports}} \) модуля определяет набор из экспортов , которые становятся доступными для среды хоста после того, как модуль был создан.

    \ [\ begin {split} \ begin {array} {llcl} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {export} & \ href {../ syntax / modules.html # syntax-export} {\ mathit {export}} & :: = & \ {\ href {../ syntax / modules.html # syntax-export} {\ mathsf {name}} ~ \ href {../syntax/values.html#syntax-name}{\mathit{name}}, \ href {../ syntax / modules.html # syntax-export} {\ mathsf {desc}} ~ \ href {../ syntax / modules.html # syntax-exportdesc} {\ mathit {exportdesc}} \} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {описание экспорта} & \ href {../ syntax / modules.html # syntax-exportdesc} {\ mathit {exportdesc}} & :: = & \ href {../ syntax / modules.html # syntax-exportdesc} {\ mathsf {func}} ~ \ href {../ syntax / modules.html # syntax-funcidx} {\ mathit {funcidx}} \\ && | & \ href {../ синтаксис / модули.html # syntax-exportdesc} {\ mathsf {table}} ~ \ href {../ syntax / modules.html # syntax-tableidx} {\ mathit {tableidx}} \\ && | & \ href {../ syntax / modules.html # syntax-exportdesc} {\ mathsf {mem}} ~ \ href {../ syntax / modules.html # syntax-memidx} {\ mathit {memidx}} \\ && | & \ href {../ syntax / modules.html # syntax-exportdesc} {\ mathsf {global}} ~ \ href {../ syntax / modules.html # syntax-globalidx} {\ mathit {globalidx}} \\ \ end {array} \ end {split} \]

    Каждый экспорт имеет уникальное имя. Экспортируемые определения — это функции, таблицы, памяти и глобальные объекты, на которые ссылаются через соответствующий дескриптор.\ ast] \)

Импорт

Компонент \ (\ href {../ syntax / modules.html # syntax-module} {\ mathsf {imports}} \) модуля определяет набор из импортов , необходимых для создания экземпляра.

\ [\ begin {split} \ begin {array} {llll} \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {import} & \ href {../ syntax / modules.html # syntax-import} {\ mathit {import}} & :: = & \ {\ href {../ syntax / modules.html # syntax-import} {\ mathsf {module}} ~ \ href {../ syntax / values.html # syntax-name} {\ mathit {name}}, \ href {../syntax/modules.html#syntax-import}{\mathsf{name}}~\href{../syntax/values.html#syntax-name}{\mathit{name}}, \ href {../ syntax / modules.html # syntax-import} {\ mathsf {desc}} ~ \ href {../ syntax / modules.html # syntax-importdesc} {\ mathit {importdesc}} \} \\ \ def \ mathdef1626 # 1 {{}} \ mathdef1626 {описание импорта} & \ href {../ syntax / modules.html # syntax-importdesc} {\ mathit {importdesc}} & :: = & \ href {../ syntax / modules.html # syntax-importdesc} {\ mathsf {func}} ~ \ href {../ syntax / modules.html # syntax-typeidx} {\ mathit {typeidx}} \\ && | & \ href {../syntax/modules.html#syntax-importdesc}{\mathsf{table}}~\href{../syntax/types.html#syntax-tabletype}{\mathit{tabletype}} \\ && | & \ href {../ syntax / modules.html # syntax-importdesc} {\ mathsf {mem}} ~ \ href {../ syntax / types.html # syntax-memtype} {\ mathit {memtype}} \\ && | & \ href {../ syntax / modules.html # syntax-importdesc} {\ mathsf {global}} ~ \ href {../ syntax / types.html # syntax-globaltype} {\ mathit {globaltype}} \\ \ end {array} \ end {split} \]

Каждый импорт помечен двухуровневым пространством имен, состоящим из \ (\ href {../syntax/modules.html#syntax-import} {\ mathsf {module}} \) имя и \ (\ href {../ syntax / modules.html # syntax-import} {\ mathsf {name}} \ ) для объекта в этом модуле. Импортируемые определения — это функции, таблицы, памяти и глобальные объекты. Каждый импорт определяется дескриптором с соответствующим типом, которому должно соответствовать определение, предоставленное во время создания экземпляра.

Каждый импорт определяет индекс в соответствующем индексном пространстве. В каждом индексном пространстве индексы импорта идут перед первым индексом любого определения, содержащегося в самом модуле.

Примечание

В отличие от имен экспорта, имена импорта не обязательно уникальны. Можно импортировать тот же \ (\ href {../ syntax / modules.html # syntax-import} {\ mathsf {module}} \) / \ (\ href {../ syntax / modules.html # синтаксис) -импорт} {\ mathsf {name}} \) пару раз; такой импорт может даже иметь разные описания типов, включая разные типы сущностей. Модуль с таким импортом все еще может быть создан в зависимости от специфики того, как устройство для внедрения позволяет разрешать и предоставлять импорт.Однако устройства для внедрения не обязаны поддерживать такую ​​перегрузку, а сам модуль WebAssembly не может реализовать перегруженное имя.

Поворот «Активный элемент» при отсутствии активного элемента

TLDR; Когда точка поворота в режиме редактирования установлена ​​на «Активный элемент» и в текущем выделении нет активного элемента, точка поворота (очень полезно) временно устанавливается по умолчанию на среднюю точку — непоследовательно.

Это небольшая придирка, с которой я иногда сталкиваюсь. Я заметил, что в режиме редактирования, когда у меня установлен параметр «Активный элемент», есть два возможных поведения при отсутствии активного элемента, например, когда я использовал лассо или групповой выбор:

  • Одно поведение заключается в том, что по умолчанию точка поворота просто устанавливается на среднюю точку выделения.Это чрезвычайно полезно, поскольку означает, что мне не нужно переключаться на опорную точку Median Point; двойное нажатие Ctrl + I делает то же самое. Точно так же я могу отменить выбор и повторно выбрать вершину, чтобы сразу перейти к использованию этой вершины в качестве точки поворота, поскольку точка поворота, в конце концов, все еще находится в режиме активного элемента.

  • Другое поведение заключается в том, что выбирается кажущееся случайным и постоянное местоположение, и точка поворота всегда возвращается туда, когда нет активного элемента. Это не обязательно происхождение объекта или что-то очевидное, это просто точка где-то, которая, вероятно, была предыдущим активным элементом или местоположением трехмерного курсора, но перемещение этих вещей ничего не меняет; точка поворота AE продолжает возвращаться к той же точке, когда не выбран ни один активный элемент.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *