Нова гнучка техніка для калібрування камери

Оригінал статті: microsoft.com

Огляд

Ми пропонуємо нову гнучку техніку для легкого калібрування камери. Вона добре підходить для використання без спеціальних знань тривимірної геометрії або комп’ютерного зору. Техніка вимагає лише від камери спостерігати за площинним малюнком, що показаний у декількох (принаймні двох) різних орієнтаціях. Або камеру, або площинний малюнок можна вільно переміщувати. Рух не потрібно знати. Моделюється променеве спотворення кришталика. Запропонована процедура складається із рішення закритої форми з подальшим нелінійним уточненням на основі критерію максимальної вірогідності. Для тестування запропонованої техніки використовувались як комп’ютерне моделювання, так і реальні дані, де були отримані дуже хороші результати. Порівняно з класичними методами, в яких використовується дороге обладнання, таке як дві або три ортогональні площини, запропонована техніка більш проста у використанні та гнучка.

Експериментальні дані та результат калібрування камери

Модель площини містить візерунок 8×8 квадратів, тому є 256 кутів. Розмір візерунка 17 см х 17 см. Двовимірні координати (у дюймах) цих точок доступні тут. (Припускаємо, що площина знаходиться на Z = 0.)

Ми взяли п’ять готових CCD-камер PULNiX із 6-міліметровим об’єктивом. Роздільна здатність зображення – 640×480. П’ять зображень доступні тут: Зображення 1, Зображення 2, Зображення 3, Зображення 4 та Зображення 5. Перші два показані нижче. Ми можемо спостерігати значні спотворення лінз на зображеннях.

http://elelur.com/images/image1-300x225.gif
Зображення 1
http://elelur.com/images/image2-300x225.gif
Зображення 2

Кути були виявлені як перетин прямих ліній, пристосованих до кожного квадрата. Координати зображень доступні тут: точки зображення 1, точки зображення 2, точки зображення 3, точки зображення 4 та точки зображення 5. Нижче ми показуємо перші два зображення із виявленими точками, позначеними як +.

http://elelur.com/images/marked1-3-300x225.gif
Позначення 1-3
http://elelur.com/images/marked2-4-300x225.gif
Позначення 2-4

(інші зображення із позначеними точками доступні тут: позначення 3, позначення 4 та позначення 5.)

І ось те, що калібрування говорить нам про камеру: Піксель квадратний (співвідношення сторін = 1); фокусна відстань = 832,5 пікселів; центр зображення – (303.959, 206.585); спостерігається значне радіальне спотворення: k1 = -0,228601, k2 = 0,190353. Повний результат калібрування доступний тут. (Формат файлу калібрування: a, c, b, u0, v0, k1, k2, потім матриця обертання та вектор перекладу для першого зображення, матриця обертання та вектор перекладу для другого зображення тощо.)

Розрахункові параметри спотворення дозволяють нам виправити спотворення на вихідних зображеннях. Нижче ми показуємо перші два таких зображення з виправленими спотвореннями, які слід порівняти з першими двома зображеннями, показаними вище. Ми чітко бачимо, що вигнутий візерунок на вихідних зображеннях випрямлений.

http://elelur.com/images/UndistortIm1-5-300x225.gif
Неспотворене зображення 1-5
http://elelur.com/images/UndistortIm2-6-300x225.gif
Неспотворене зображення 2-6

Застосування для моделювання на основі зображень

Два зображення чайної упаковки (див. нижче) були зроблені тією ж камерою, що і вище для калібрування.

http://elelur.com/images/TeaBox1-7-300x225.gif
Чайна коробка 1-7
http://elelur.com/images/TeaBox2-8-300x225.gif
Чайна коробка 2-8

Видно в основному дві сторони. Після корекції променевих спотворень (чайна упаковка 1, чайна упаковка 2), ми вручну вибрали по 8 точок з кожного боку. Збіги тут для Зображення 1 і тут для Зображення 2

На цих 16 точках було створено програмне забезпечення структури-від-руху, яке ми розробили раніше, щоб побудувати часткову модель чайної форми. Реконструйована модель знаходиться у VRML. Реконструйовані точки з кожного боку дійсно є площинними, і ми обчислили кут між двома реконструйованими площинами, який дорівнює 94,7 градусів. Хоча у нас немає основної істини, але дві сторони чайної упаковки справді майже ортогональні одна одній.

HOWTO: Додавання менеджерів вікон без CDE до Dtlogin CDE

Оригінал: tiem.utk.edu

ОНОВЛЕННЯ: Як позбутися екрану заставки

Єдине питання, яке я коли-небудь собі задавав, заключається в наступному: “Коли я входжу в систему, я бачу “Запуск робочого столу openwindows”, як я можу змусити це зникнути?” На жаль, моя відповідь завжди була: “Не знаю, нічого, що я спробував, не спрацювало”. Тобто досі. Завдяки Девіду Занеллі мені зараз є щось корисне для передачі. Ось що ви робите:

  1. Відкрийте / usr / dt / bin / Xresources у вашому улюбленому редакторі.
  2. Шукайте рядки, що містять “dtstart_hello [0]”, і коментуйте їх.

Як приклад:

Перевірте це, спробуйте і дайте мені знати, що з цього вийшло. 

#
# Session startup clients and args
#
if [ “$SESSIONTYPE” = “altDt” ]; then dtstart_session[0]=”$SDT_ALT_SESSION”
# dtstart_hello[0]=”$SDT_ALT_HELLO”
else dtstart_session[0]=”$DT_BINPATH/dtsession”
# dtstart_hello[0]=”$DT_BINPATH/dthello &”
fi

СТАРА: оригінальна сторінка HOWTO

Оригінальний HOWTO знаходиться тут

ah4 class = news> НОВИЙ: скрипт оболонки make-dtlogin

Набридло намагатися з’ясовувати, як додати логіни до менеджера Dtlogin CDE? 

Набридло виривати волосся, намагаючись зрозуміти інструкції HOWTO? 

Нехай мій новий сценарій CDE DtLogin Creator зробить це за вас: 

make-dtlogin (Сценарій)

 make-dtlogin-1.1-1-sol2-sparc-usr.gz (Пакет Solaris у форматі потоку даних – встановлюється в /usr/bin за замовчуванням) 

Що вам знадобиться:

  • Сценарій make-dtlogin (вгорі)
  • Вибране ім’я для вашого нового сеансу входу в систему CDE (Наприклад: FVWM-2.x, KDE-3.x тощо…)
  • Два графічні файли розміром 237×237: один у форматі XPM, інший у форматі XBM
  • Якщо ви маєте намір запустити агент SSH, вам потрібно буде знати повний  шлях до програми ssh-agent (Наприклад: /usr/bin/ssh-agent)
  • Повний шлях до диспетчера нового вікна (Наприклад: /usr/local/bin/fvwm2,/usr/local/bin/startkde тощо…)
  • Для вас буде створено унікальне ім’я пакета з 9 символів, але вам буде запропоновано вказати власне (наприклад: DtKDE2, DtFVWM тощо…)

Що ви отримаєте:

Дайте відповідь на кілька простих запитань, і make-dtlogin представить вам файл пакету потоків даних Solaris у /var/spool/pkg/. Це дозволяє вам легко додавати файли конфігурації та видаляти файли конфігурації із системи за допомогою звичайних команд управління пакетами Solaris. Додайте файли за допомогою /usr/sbin/pkgadd, а потім введіть “/etc/init.d/dtlogin reset”, і коли dtlogin повернеться, ви побачите, що ваш новий логін відображається в меню “Параметри” -> “Сесія”.

Надійність:

Я доклав усіх зусиль, щоб спробувати переконатися, що make-dtlogin зрозумілий і надійний. Сценарій make-dtlogin буде:

  • Перевірте, чи не призведе надана інформація до генерування сеансу входу, який затьмарить існуючий сеанс входу, підказки перед продовженням. (Наприклад: я використовував make-dtlogin для прокатки мого власного сеансу входу в систему CDE для заміни системної версії, щоб я міг запустити програму ssh-agent разом з диспетчером вікон. Сценарій make-dtlogin помітив, що мій запропонований пакет замінить сеанс входу в систему CDE за замовчуванням і запросив мене, перед тим як продовжити.)
  • Перевірте, чи не буде інформація, запропонована для запропонованого пакету, генерувати файли, які конфліктуватимуть із файлами, що належать до існуючого сеансу входу, або замінюватимуть їх.
  • Перевірте правильність формату запропонованої назви пакета.
  • Перевірте систему, щоб переконатися, що запропонована назва пакета ще не існує, перед продовженням.
  • Переконайтеся, що запропонована назва сеансу ще не існує, перед тим як продовжити.
  • Перевірте наявність, дійсність та розміри даних файлів логотипів XPM та XBM.
  • Перевірте наявність та дійсність заданого шляху до менеджера вікон.

Тепер, наскільки це круто? 

Приклад:
Ось приклад сеансу. Я набирав символи жирним шрифтом білого кольору. ([Enter] означає, що я натиснув клавішу повернення.)Застереження: Я не несу відповідальності за будь-які збитки, спричинені використанням або неправильним використанням скрипта make-dtlogin.

ls
KDE.gif  KDE.xbm  KDE.xcf  KDE.xpm

make-dtlogin

CDE DtLogin Creator

This script will ask you a few questions about what kind of window manager you
would like to add to the CDE login screen, and then it will generate a Solaris
package datastream file for you that contains the new setup.

Before we begin, you will need the following:

1) A name for your new CDE login session. (Ex: FVWM)
2) The complete path to your window manager program. (Ex: /usr/local/bin/fvwm2)
3) Two 237×237 graphics files, one in XPM format, the other in XBM format.
4) If you intend to run the SSH agent along with your window manager, then you
   will need to know the full pathname to the ssh-agent program.  (Ex:
   /usr/bin/ssh-agent)

You should use your favorite graphics editor (such as the Gimp) to create a
pair of files to use as the logo for your new login.  (Your logos can look
like whatever you want, but you can also take a look at the files in
/usr/dt/appconfig/icons/C/ for examples.)

At any prompt, you may enter ‘?’ for help, or ‘q’ to quit.

Are you ready to continue? (y/n/q/?) [y]: ?
        If you can meet the above requirements then answer yes.  That is, if
        you have chosen a name for your login session, you know the complete
        path to your window manager (and optionally to your ssh-agent), and
        you have two, 237×237 graphics files, one in XPM format and the other
        in XBM format, then answer yes.  Otherwise answer no to exit the
        script and re-run it later when you are ready.

Are you ready to continue? (y/n/q/?) [y]: [enter]

What name would you like to use for this login? KDE-3.x

Generating filenames…
– /etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
– /etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
– /etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
– /etc/dt/config/Xsession.KDE-3.x-phase1
– /etc/dt/config/Xsession.KDE-3.x-phase2
– /etc/dt/config/Xinitrc.KDE-3.x

Generating package name…
– Package Name: DtKDE3x

If you agree with the given package name, simply press
return, or enter your own package name below.

Package name for KDE-3.x CDE login? [DtKDE3x]: [enter]

Checking filenames…

Checking package name…


What is the full path to the XPM graphic logo file? ./KDE.gif

./KDE.gif does not appear to be a valid XPM graphics file, continue? (y/n/q/?)
[n]: [enter]
Okay, let’s try again then.

What is the full path to the XPM graphic logo file? ./KDE.xpm

What is the full path to the XBM graphic logo file? ./KDE.xbm

What is the full path to the window manager program? /usr/local/bin/startkde

Would you like to run the SSH agent inline with this window manager? 
(y/n/q/?) [y]: [enter]

What is the full path to the ssh-agent program? /usr/bin/ssh-agent



Okay, here’s what I have for your new CDE login:

Session name: KDE-3.x
XPM graphic logo: ./KDE.xpm
XBM graphic logo: ./KDE.xbm
Window manager: /usr/local/bin/startkde
Use SSH’s ssh-agent along with the window manager: y
ssh-agent: /usr/bin/ssh-agent




Is the above information correct? (y/n/?) [y]: [enter]



Creating package…
– Creating package in /tmp
– Making /tmp/DtKDE3x
– Making /tmp/DtKDE3x/etc
– Making /tmp/DtKDE3x/etc/dt
– Making /tmp/DtKDE3x/etc/dt/appconfig
– Making /tmp/DtKDE3x/etc/dt/appconfig/icons
– Making /tmp/DtKDE3x/etc/dt/appconfig/icons/C
– Making /tmp/DtKDE3x/etc/dt/config
– Making /tmp/DtKDE3x/etc/dt/config/C
– Making /tmp/DtKDE3x/etc/dt/config/C/Xresources.d
– Copying ./KDE.xpm
  to /tmp/DtKDE3x/etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
– Copying ./KDE.xbm
  to /tmp/DtKDE3x/etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
– Creating
  /tmp/DtKDE3x//etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xsession.KDE-3.x-phase1
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xsession.KDE-3.x-phase2
– Creating
  /tmp/DtKDE3x//etc/dt/config/Xinitrc.KDE-3.x
– Creating /tmp/DtKDE3x/checkinstall
– Creating pkginfo file
– Creating prototype file
– Creating package spool directory
## Building pkgmap from package prototype file.
## Processing pkginfo file.
## Attempting to volumize 14 entries in pkgmap.
part  1 — 240 blocks, 19 entries
## Packaging one part.
/var/spool/pkg/DtKDE3x/pkgmap
/var/spool/pkg/DtKDE3x/pkginfo
/var/spool/pkg/DtKDE3x/install/checkinstall
/var/spool/pkg/DtKDE3x/reloc/etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
/var/spool/pkg/DtKDE3x/reloc/etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xinitrc.KDE-3.x
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xsession.KDE-3.x-phase1
/var/spool/pkg/DtKDE3x/reloc/etc/dt/config/Xsession.KDE-3.x-phase2
## Validating control scripts.
## Packaging complete.
– Transfering spool directory to datastream file
Transferring <DtKDE3x> package instance
– Checking datastream file: /var/spool/pkg/DtKDE3x-Solaris-root
Checking uninstalled stream format package <DtKDE3x> from </var/spool/pkg/DtKDE3x-Solaris-root>
## Checking control scripts.
## Checking package objects.
## Checking is complete.
– Removing /tmp/DtKDE3x
– Removing /var/spool/pkg/DtKDE3x

Done.

There is now a file on this host named:

        /var/spool/pkg/DtKDE3x-Solaris-root
        
This file is a datastream-format Solaris package that contains your new CDE
login session setup.  To install this file, type:

        pkgadd -d /var/spool/pkg/DtKDE3x-Solaris-root DtKDE3x

And then notify dtlogin of the changes by selecting “Options” from the dtlogin
screen and then “Reset Login Screen” from the Options pull-down menu.

After this, you should be able to click on “Options” from the dtlogin screen,
and then “Session” from the Options pull-down menu to see your new CDE login
(which will be listed as “KDE-3.x”).

cd /var/spool/pkg/
ls -al
total 244
drwxrwxrwt   2 root     bin          512 Mar  7 10:58 .
drwxr-xr-x  10 root     bin          512 Feb 18  2002 ..
-rw-r–r–   1 root     other     112640 Mar  7 10:58 DtKDE3x-Solaris-root

pkgchk -l -d `pwd`/DtKDE3x-* DtKDE3x
Checking uninstalled stream format package <DtKDE3x> from </var/spool/pkg/DtKDE3x-Solaris-root>
## Checking control scripts.
## Checking package objects.
Pathname: checkinstall
Type: installation file
Expected file size (bytes): 1593
Expected sum(1) of contents: 63377
Expected last modification: Mar 07 10:58:43 2003

Pathname: etc
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: sys
Current status: installed

Pathname: etc/dt
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: root
Current status: installed

Pathname: etc/dt/appconfig
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: root
Current status: installed

Pathname: etc/dt/appconfig/icons
Type: directory
Expected mode: 0755
Expected owner: bin
Expected group: bin
Current status: installed

Pathname: etc/dt/appconfig/icons/C
Type: directory
Expected mode: 0755
Expected owner: bin
Expected group: bin
Current status: installed

Pathname: etc/dt/appconfig/icons/C/KDE-3.x-logo.bm
Type: regular file
Expected mode: 0644
Expected owner: root
Expected group: other
Expected file size (bytes): 44513
Expected sum(1) of contents: 8650
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/appconfig/icons/C/KDE-3.x-logo.pm
Type: regular file
Expected mode: 0644
Expected owner: root
Expected group: other
Expected file size (bytes): 58144
Expected sum(1) of contents: 57476
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C/Xresources.d
Type: directory
Expected mode: 0755
Expected owner: root
Expected group: bin
Current status: installed

Pathname: etc/dt/config/C/Xresources.d/Xresources.KDE-3.x
Type: regular file
Expected mode: 0444
Expected owner: bin
Expected group: bin
Expected file size (bytes): 194
Expected sum(1) of contents: 16849
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xinitrc.KDE-3.x
Type: regular file
Expected mode: 0444
Expected owner: bin
Expected group: bin
Expected file size (bytes): 391
Expected sum(1) of contents: 32144
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xsession.KDE-3.x-phase1
Type: regular file
Expected mode: 0555
Expected owner: bin
Expected group: bin
Expected file size (bytes): 971
Expected sum(1) of contents: 9644
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: etc/dt/config/Xsession.KDE-3.x-phase2
Type: regular file
Expected mode: 0555
Expected owner: bin
Expected group: bin
Expected file size (bytes): 862
Expected sum(1) of contents: 508
Expected last modification: Mar 07 10:58:43 2003
Current status: installed

Pathname: pkginfo
Type: installation file
Expected file size (bytes): 157
Expected sum(1) of contents: 11987
Expected last modification: Mar 07 10:58:43 2003

## Checking is complete.

Застереження: Я не несу відповідальності за будь-які збитки, спричинені використанням або неправильним використанням скрипта make-dtlogin.

Вступ до оптимізації, третє видання

Оригінал статті: engr.colostate.edu

https://www.engr.colostate.edu/~echong/book3/front_small.jpg

Едвін К.П. Чонг та Станіслав Х. Чак
Серія Уайлі-Міжнауки в дискретній математиці та оптимізації
John Wiley & Sons, Inc.
Нью-Йорк
Авторське право © 2008
ISBN 0-471-75800-0, xvi + 584 с.


З задньої сторінки:

Дослідіть новітні додатки теорії та методів оптимізації

Задня кришка

Оптимізація займає центральне місце в будь-якій проблемі, що стосується прийняття рішень, будь то в техніці, математиці, статистиці, економіці, дослідженнях або інформатиці. Зараз, як ніколи, життєво важливо чітко усвідомити цю тему завдяки швидкому прогресу в комп’ютерних технологіях, включаючи розробку та доступність зручного програмного забезпечення, високошвидкісних та паралельних процесорів та мереж. Повністю оновлений з урахуванням сучасних розробок у цій галузі, «Вступ до оптимізації», «Третє видання» заповнюють потребу в доступному, але суворому введенні в теорію та методи оптимізації.

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

До додаткових функцій третього видання належать:

  • Нові обговорення напіввизначеного програмування та лагранжевих алгоритмів
  • Нова глава про методи глобального пошуку
  • Новий розділ про багатоцільову оптимізацію
  • Нові та модифіковані приклади та вправи в кожному розділі, а також оновлена бібліографія, що містить нові посилання
  • Оновлений Посібник інструктора з повністю відпрацьованими рішеннями вправ

Численні схеми та малюнки, знайдені у всьому тексті, доповнюють письмову презентацію ключових понять, і за кожною главою слідують вправи MATLAB® та розв’язування задач, що підсилюють обговорювану теорію та алгоритми. Завдяки інноваційному висвітленню та прямолінійному підходу „Вступ до оптимізації”, „Третє видання” є чудовою книгою для курсів теорії та методів оптимізації на вищому та нижчому рівнях. Він також служить корисним, самостійним довідником для дослідників та професіоналів у широкому спектрі галузей.


Помилка

Доступна актуальна помилка у форматах Postscript та PDF.


Короткий зміст

( Докладніший зміст доступний.)

Передмова

Частина I. Математичний огляд

1 Методи доказування та деякі позначення
2 Векторні пробіли та матриц
3 Трансформації
4 Поняття з геометрії
5 Елементи числення

Частина ІІ. Необмежена оптимізація

6 Основи оптимізації з обмеженими наборами та без обмежень
7 Одновимірних методів пошуку
8 Градієнтних методів
9 Метод Ньютона
10 Методи спряженого спрямування
11 Квазіньютонівських методів
12 Розв’язування лінійних рівнянь
13 Необмежена оптимізація та нейронні мережі
14 Алгоритми глобального пошуку

Частина III. Лінійне програмування

15 Вступ до лінійного програмування
16 Симплексний метод
17 Двоїстість
18 Непрості методи

Частина IV. Нелінійна обмежена оптимізація

19 Проблеми з обмеженнями рівності
20 Проблеми з обмеженнями нерівності
21 Опукла проблема оптимізації
22 Алгоритми обмеженої оптимізації
23 Багатоцільова оптимізація

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

Алфавітний покажчик


Інформація про замовлення

Уайлі має інформацію про те, як замовити книгу.

Тільки для інструкторів: Копії посібників з рішень зберігаються в офісі компанії Wiley в Нью-Йорку. Щоб отримати копію посібника з рішень, надішліть факсом офіційний лист із запитом на бланк університету на номер 201-748-6825 або зверніться до Кетлін Пагльяро ([email protected])


Веб-сайт для курсів:

Теорема чотирьох кольорів

Оригінал статті: people.math.gatech.edu

На цій сторінці подано короткий зміст нового доказу чотириколірної теореми та чотириколірного алгоритму, знайденого Нілом Робертсоном, Даніелем П. Сандерсом, Полом Сеймуром та Робіном Томасом.


http://people.math.gatech.edu/~thomas/FC/usa.gif

Зміст:

  1. Історія.
  2. Чому новий доказ?
  3. Контур доказу.
  4. Основні особливості нашого доказу.
  5. Конфігурації.
  6. Правила розряду.
  7. Покажчики.
  8. Квадратичний алгоритм.
  9. Обговорення.
  10. Список літератури.

Історія.

Проблема чотирьох кольорів датується 1852 роком, коли Френсіс Гатрі, намагаючись розфарбувати карту графств Англії, помітив, що достатньо чотирьох кольорів. Він запитав свого брата Фредеріка, чи правда, що будь-яка карта може бути забарвлена чотирма кольорами таким чином, що сусідні регіони (тобто ті, що мають спільний відрізок межі, а не лише точку) отримують різні кольори. Потім Фредерік Гатрі передав гіпотезу ДеМоргану. Перші друковані посилання надійшли Кейлі в 1878 році.

Через рік з’явився перший “доказ” Кемпе; на його неправильність вказав Хівуд через 11 років. Інший невдалий доказ – завдяки Тейту в 1880 році; на пробіл у аргументації вказав Петерсен у 1891 р. Обидва невдалі докази мали певне значення. Кемпе відкрив те, що стало відомим як ланцюжки Кемпе, а Тейт знайшов еквівалент формулювання Теореми чотирьох кольорів з точки зору 3-крайового забарвлення.

Наступний великий внесок зробив Біркгофф, робота якого дозволила Франкліну в 1922 році довести, що чотири кольорові домисли справедливі для карт із щонайбільше 25 регіонами. Він також використовувався іншими математиками для досягнення різних форм прогресу у чотириколірній задачі. Окремо слід згадати Хіша, який винайшов два основні інгредієнти, необхідні для остаточного доказу – скорочуваність та розряд. Хоча концепцію зводимості вивчали і інші дослідники, схоже, що ідея розряду, вирішальна для невідворотності частини доказу, пов’язана з Хішем, і що саме він здогадався, що відповідний розвиток цього методу вирішити задачу чотирьох кольорів.

Це підтвердили Аппель та Хакен у 1976 р., Коли вони опублікували доказ чотириколірної теореми [1,2].

Чому новий доказ?

Є дві причини, чому доказ Аппеля-Хакена не є повністю задовільним.

  • Частина доказу, це те, що Аппель-Хакен використовує комп’ютер, і не може бути перевірена вручну, і
  • Навіть та частина, яка нібито перевіряється вручну, надзвичайно складна і нудна, і, наскільки нам відомо, ніхто не перевірив її повністю.

Фактично ми намагались перевірити доказ Аппеля-Хакена, але незабаром відмовились. Перевірка комп’ютерної частини вимагала б не лише великого програмування, але й введення описів 1476 графіків, і це навіть не було найбільш суперечливою частиною доказу.

Ми вирішили, що було б вигідніше опрацювати власні докази. Тож ми зробили і придумали доказ та алгоритм, які описані нижче.

Контур доказу.

Основна ідея доказу така ж, як у Аппеля та Хакена. Ми демонструємо набір з 633 “конфігурацій” і доводимо, що кожна з них “скорочувана”. Це технічна концепція, яка передбачає, що жодна конфігурація з цією властивістю не може з’являтися в мінімальному контраприкладі до чотириколірної теореми. Він також може бути використаний в алгоритмі, оскільки, якщо зменшена конфігурація з’являється в площинному графіку G, тоді можна за постійний час побудувати менший плоский графік G’, такий, що будь-яке чотиризабарвлення G’ може бути перетворено в чотиризабарвлення G в лінійний час.

З 1913 р. Відомо, що кожен мінімальний контрприклад чотириколірної теореми – це внутрішньо 6-з’єднана тріангуляція. У другій частині доказу ми доводимо, що принаймні одна з наших 633 конфігурацій з’являється у кожній внутрішньо 6-з’єднаній площинній тріангуляції (не обов’язково мінімальному контраприкладі до 4CT). Це називається доведенням невідворотності і застосовується “метод розряду”, вперше запропонований Хішем. Тут наш метод відрізняється від методу Аппеля та Хакена.

Основні особливості нашого доказу.

Ми підтверджуємо припущення Хіша, що, доводячи неминучість, зводима конфігурація може бути знайдена у другому сусідстві “перезарядженої” вершини; саме таким чином ми уникаємо проблем “занурення”, які були основним джерелом ускладнень для Аппеля та Хакена. Наш неминучий набір має розмір 633, на відміну від набору 1476 членів Аппеля та Хакена, і наш метод розряду використовує лише 32 правила розряду, замість 300+ Аппеля та Хакена. Нарешті, ми отримуємо квадратичний алгоритм чотирьох кольорових площинних графіків (описаний пізніше), покращений порівняно з квадратичним алгоритмом Аппеля та Хакена.

Конфігурації.

Майже тріангуляція є ненульовим графіком, де підключений loopless таким чином, що кожна кінцева область являє собою трикутник. Конфігурація К складається з ближньої тріангуляції G і відображення карти g з V(G) до цілих чисел з наступними властивостями:

  1. для кожної вершини v, G\v має не більше двох складових, а якщо їх дві, то ступінь v дорівнює g (v) -2,
  2. для кожної вершини v, якщо v не інцидентна з нескінченною областю, тоді g (v) дорівнює ступеню v, а в іншому випадку g (v) більше за ступінь v; і в будь-якому випадку g (v)> 4,
  3. K має розмір кільця щонайменше 2, де розмір кільця K визначається як сума g (v) – deg (v) -1, підсумована по всіх вершинах v, що падають з нескінченною областю, така що G\v є підключена.

При малюванні зображень конфігурацій ми використовуємо домовленість, запроваджену Хішем. Форми вершин вказують значення g(v) наступним чином: Суцільне чорне коло означає g(v) = 5, крапка (або те, що на зображенні взагалі відсутнє як символ) означає g(v) = 6, порожнисте коло означає g(v) = 7, порожнистий квадрат означає g (v) = 8, трикутник означає g(v) = 9, а п’ятикутник означає g(v) = 10. (Нам не потрібні вершини v з g (v)> 11, і лише одна вершина з g (v) = 11, для якої ми не використовуємо жодного спеціального символу.) На малюнку нижче показано 17 наших 633 конфігурацій, що скорочуються використовуючи зазначену конвенцію. Весь набір можна переглянути, натиснувши тут. (Ми посилаємось на (3.2) нашого документу [7] щодо значення “товстих країв” і “напівребер” на цих малюнках.)


http://people.math.gatech.edu/~thomas/FC/confs.gif

Будь-яка конфігурація, ізоморфна одній з 633 конфігурацій, показаних у [7], називається хорошою конфігурацією. Нехай Т – тріангуляція. У T з’являється конфігурація K = (G, g), якщо G – індукований підграф T, кожна кінцева область G є областю T, а g(v) дорівнює ступеню v в T для кожної вершини v G. Доводимо наступні два твердження.

ТЕОРЕМА 1. Якщо T є мінімальним контраприкладом до чотириколірної теореми, то хорошої конфігурації в T немає.

ТЕОРЕМА 2. Для кожної внутрішньо 6-зв’язаної тріангуляції T, в T. з’являється якась хороша конфігурація.

З наведених вище двох теорем випливає, що не існує жодного мінімального контрприкладу, і тому 4CT є істинним. Для першого доказу потрібен комп’ютер. Другий можна перевірити вручну за кілька місяців, або, використовуючи комп’ютер, можна перевірити приблизно за 20 хвилин.

Правила розряду.

Нехай T – внутрішньо 6-сполучена тріангуляція. Спочатку кожній вершині v присвоюється заряд 10 (6-град (v)). З формули Ейлера випливає, що сума зарядів усіх вершин дорівнює 120; зокрема, це позитивно. Тепер ми розподіляємо звинувачення згідно з наступними правилами, як зазначено нижче. Всякий раз, коли T має підграф, ізоморфний одному з графіків на малюнку нижче, що задовольняє специфікаціям ступеня (для вершини v правила зі знаком мінус поруч із v це означає, що ступінь відповідної вершини T є щонайбільше значенням, що визначається формою v, і аналогічно вершинам зі знаком плюс поруч; для вершин без знаку поруч потрібна рівність) заряд одиниці (два у випадку першого правила) повинен бути надісланий уздовж краю, позначений стрілкою.


http://people.math.gatech.edu/~thomas/FC/rules.gif

Ця процедура визначає новий набір нарахувань із однаковою загальною сумою. Оскільки загальна сума позитивна, у Т є вершина v, новий заряд якої позитивний. Ми показуємо, що хороша конфігурація з’являється у другому районі v.

Якщо ступінь v не більше 6 або принаймні 12, то це можна побачити досить легко за допомогою прямого аргументу. Однак для решти випадків докази набагато складніші. Тому ми написали докази офіційною мовою, щоб їх можна було перевірити за допомогою комп’ютера. Кожен окремий етап цих доказів можна перевірити людиною, але самі докази насправді не перевіряються вручну через їх довжину.

Покажчики.

Теоретична частина нашого доказу описана в [7]. 10-сторінковий огляд доступний в режимі онлайн. Раніше комп’ютерні дані та програми знаходились на анонімному ftp-сервері, але цей сервер припинено. Ці самі файли тепер доступні за адресою http://people.math.gatech.edu/~thomas/OLDFTP/four/ і їх можна зручно переглядати. Незалежний набір програм під керівництвом Бояна Мохара написав Гаспер Фіжавз.

Квадратичний алгоритм.

Вхідними даними алгоритму буде плоска тріангуляція G з n вершинами. (Це відбувається без втрати загальності, оскільки будь-який площинний графік можна триангулювати за лінійний час.) На виході буде розмальовано вершини G чотирма кольорами.

Якщо G має не більше чотирьох вершин, кожна вершина забарвлюється в інший колір. В іншому випадку, якщо G має вершину x ступеня k <5, то оточуюча її ланцюг C є “k-кільцем”. Перейдіть до аналізу кільцевого кільця нижче. В іншому випадку G має мінімальний ступінь п’ять. Для кожної вершини ми обчислюємо її заряд, як пояснено вище, і знаходимо вершину v позитивного заряду. З нашого доказу теореми 2 випливає, що або хороша конфігурація з’являється у другій околиці v (у цьому випадку її можна знайти за лінійний час), або k-кільце, що порушує визначення внутрішнього 6-з’єднання, можна знайти в лінійний час. В останньому випадку ми переходимо до аналізу k-кільця нижче, в першому випадку ми застосовуємо рекурсію до певного меншого графіка. Потім із чотирьох забарвлень цього меншого графіку за лінійний час можна побудувати чотириколірне забарвлення G.

Враховуючи k-кільце R, що порушує визначення внутрішнього 6-з’єднання, може бути використана процедура, розроблена Біркгоффом. Ми застосовуємо рекурсію до двох ретельно відібраних підграфів G. Потім із чотирьох забарвлень двох менших графіків за лінійний час можна побудувати чотири забарвлення G.

Обговорення.

Слід зазначити, що обидві наші програми використовують лише цілочисельну арифметику, і тому нам не потрібно мати справу з помилками округлення та подібними небезпеками арифметики з плаваючою комою. Однак можна навести аргумент, що наш ’’доказ’’ не є доказом у традиційному розумінні, оскільки він містить етапи, які люди ніколи не можуть перевірити. Зокрема, ми не довели правильність компілятора, на якому ми компілювали наші програми, а також не довели безпомилковість апаратного забезпечення, на якому працювали наші програми. Вони повинні сприйматися з вірою і, можливо, саме вони є джерелом помилок. Однак, з практичної точки зору, ймовірність помилки комп’ютера, яка послідовно і однаково з’являється у всіх запусках наших програм на всіх компіляторах під усіма операційними системами, на яких працюють наші програми, нескінченно мала в порівнянні з ймовірністю помилки людини під час такої ж перевірки. Окрім цієї гіпотетичної можливості комп’ютер постійно дає неправильну відповідь, решту нашого доказу можна перевірити так само, як традиційні математичні докази. Однак ми визнаємо, що перевірка комп’ютерної програми набагато складніше, ніж перевірка математичного доказу тієї ж тривалості.

Подяка.

Ми дякуємо Томасу Фаулеру, Крістоферу Карлу Хекману та Барретту Уоллсу за допомогу у підготовці цієї сторінки. Наша робота була частково підтримана Національним науковим фондом.

Список літератури.

  1. К. Аппель та В. Хакен, Кожна площинна карта чотириколірна. Частина I. Розрядка, Іллінойс Дж. Мат. 21 (1977), 429-490.
  2. К. Аппель, В. Хакен та Дж. Кох, Кожна площинна карта чотириколірна. Частина ІІ. Зменшення, Іллінойс Дж. Мат. 21 (1977), 491–567.
  3. К. Аппел та В. Хакен, Кожна площинна карта чотириколірна, Сучасна математика. 98 (1989).
  4. Г. Д. Біркгоф, Зводимість карт, Амер. Математ.. 35 (1913), 114-128.
  5. Х. Хіш, Untersuchungen zum Vierfarbenproblem, Hochschulskriptum 810 / a/b, Bibliographisches Institut, Mannheim 1969.
  6. А. Б. Кемпе, Про географічну проблему чотирьох кольорів, Амер. Матем., 2 (1879), 193-200.
  7. Н. Робертсон, Д. П. Сандерс, П. Д. Сеймур і Р. Томас, теорема про чотири кольори, Дж. Комбін. Теорія Сер. Б. 70 (1997), 2-44.
  8. Н. Робертсон, Д. П. Сандерс, П. Д. Сеймур і Р. Томас, новий доказ чотириколірної теореми, Електрон. Рез. Анонс. Амер. Математика Соц. 2 (1996), 17-25 (електронна).
  9. Т. Л. Саті, Тринадцять барвистих варіацій чотириколірної гіпотези Гатрі, Амер. Математика Щомісячник 79 (1972), 2-43.
  10. Т. Л. Сааті та ПК Кайнен, чотириколірна проблема. Напади та завоювання, Публікації Дувра, Нью-Йорк, 1986.
  11. П. Г. Тейт, Примітка щодо теореми про геометрію положення, Пер. \ Рой. Соц. Едінбург 29 (1880), 657-660.
  12. Х. Уітні та В.Т.Тутте, ланцюги Кемпе та чотири кольорові проблеми”, у Дослідженнях з теорії графів, Частина II (за ред. Д.Р. Доц. Америки, 1975, 378-413.

Вступ до MathXpert

Оригінал статті: cs.sjsu.edu

MathXpert дозволяє своєму користувачеві вирішувати математичні задачі та складати графіки. При вирішенні проблеми це дозволяє користувачеві побудувати поетапне рішення, а не просто дати однорядкову відповідь. Кожен крок виконується шляхом застосування якоїсь математичної операції до попереднього рядка і подається з обґрунтуванням. Користувач створює новий рядок за допомогою миші, щоб вибрати частину поточного рядка для зміни. Потім з’являється меню операцій, і користувач вибирає операцію, яку потрібно застосувати. Комп’ютер виконує складні дії, пов’язані із фактичним застосуванням цієї операції. Отже, ви не можете зробити “помилку”, як опускання знака мінус. Ви також захищені від логічних помилок, таких як ділення на нуль, і від концептуальних помилок, таких як застосування неправильного закону, такого як ln (a + b) = ln a+ ln b. Такого некоректного закону не можна знайти в меню, тому ви не можете застосовувати його. Завершивши роботу над проблемою, ви можете роздрукувати її та здати для домашнього завдання.

MathXpert не тільки має можливість виконувати окремі кроки за командою, але він також містить складний набір правил, що дозволяє вирішити майже будь-яку проблему підручника із зазначених предметів. Він використовує цю здатність для надання допомоги студенту, який не знає, що робити. За необхідності він може сформувати повне поетапне рішення для вивчення студентом. Він пропонує кілька менш екстремальних варіантів: є кнопка Підказка, а є кнопка AutoStep, яка зробить за вас один крок; є також кнопка ShowStep, яка запропонує вибрати, який вираз змінити.

MathXpert відрізняється від таких програм, як Maple і Mathematica, у таких основних аспектах:

  • Вона виробляє покрокові рішення, використовуючи операції, яких навчають студентів
  • Вона не дозволить вам зробити логічну помилку
  • Нею повністю керують миша, меню та кнопки. Час, необхідний для ефективного використання, становить близько п’яти хвилин.

MathXpert може робити багато різних типів графіків. Існує кілька особливостей, які відрізняють грейфер MathXpert від інших грейферів:

  • Він правильно малює графіки, навіть якщо функція має особливості. Інші графіки вставляють неправильні вертикальні лінії або неправильно зображують асимптотичні частини.
  • Це дозволяє швидко малювати ряд графіків, змінюючи значення параметра у формулі, не редагуючи формулу.
  • Він може графічно відображати будь-яку функцію. Наприклад, ви можете графічно зобразити часткові суми ряду Фур’є з кількістю доданків як параметр.

На цьому прикладі ви бачите, наскільки помилявся відомий математик Леонард Ейлер у 1753 році, коли він заперечував твердження Бернуллі про те, що будь-яку функцію можна записати як суму тригонометричного ряду. Ейлер вважав, що оскільки тригонометричні функції неперервні, сума їх ряду також повинна бути неперервною. Якби у нього був MathXpert, він би не допустив цієї помилки – ви можете чітко бачити, як розрив зростає із збільшенням кількості доданків, і ви можете чітко бачити те, що фізики називають “феноменом Гіббса” коливання поблизу розриву. Як би там не було, вплив Ейлера затримав розвиток серії Фур’є на п’ятдесят років. Фур’є повинен був бути обраним до Французької академії, перш ніж він міг опублікувати свої основні праці в 1807 році. Але я відступаю…

MathXpert продається компанією Help With Math. На цьому веб-сайті ви можете знайти більше інформації про MathXpert, включаючи опис того, як ним користуватися, разом із зразками екранів.

Якщо ви хочете прочитати мої статті про MathXpert, я рекомендую [37] для початку.

Одним із принципів, на якому базується MathXpert, є принцип коректності. Це означає, що комп’ютер ніколи не генеруватиме математично неправильний результат. Це не стосується інших програм символічного обчислення, що використовуються загалом. Наприклад, для інших програм можна отримати рівняння a = 0 і ділити на сторони на a. Результат буде 1 = 0, оскільки вони містять правило a / a =1, а також правило 0/a = 0.

Для досягнення мети математичної правильності потрібно було вбудувати в MathXpert досить витончену теорему – доводитель. Тоді існує прямий зв’язок між цим проектом прикладного програмного забезпечення та моїми дослідженнями в галузі автоматизованої дедукції, яка зосереджується на відносинах між логікою та обчисленнями. Цей аспект проекту зосереджений на роботах [30] та [34]. Оскільки довідник є більш-менш “невидимим” у MathXpert, він може використовувати деякі езотеричні прийоми, якщо вони корисні, і я виявив цікаве застосування нестандартного аналізу до проблеми переконання у правильності відрахувань у зв’язку з граничними проблемами.

Проблема та її вирішення за допомогою нестандартного аналізу наведені в [36].

Кілька інших принципів проектування, на яких базується MathXpert, пояснюються в [31] та [37].

Про Kermit

Оригінал статті: kermitproject.org

Frank da Cruz, [email protected]

125-а вулиця та Бродвей, Нью-Йорк

НОВИНИ

Набуло чинності з 1 липня 2011 року

  • Проект Керміта в Колумбійському університеті було скасовано
  • Відкрито новий веб-сайт проекту “Керміт” за адресою http://www.kermitproject.org.
  • Все програмне забезпечення Керміт отримало ліцензію з відкритим кодом.
  • Архів і веб-сайт Kermit ftp у Колумбії залишаться на місці (але не змінюватимуться).

Ласкаво просимо до нового проекту Керміт з відкритим кодом.

Оголошення Перехідна дорожня карта  Kermit 95 C-Kermit E-Kermit Інше програмне забезпечення Kermit

ЩО ТАКЕ KERMIT?

Kermit – це назва протоколу передачі файлів та управління ними та набору комп’ютерних програм для багатьох типів комп’ютерів, що реалізує цей протокол, а також інших комунікаційних функцій, починаючи від емуляції терміналу і закінчуючи автоматизацією комунікаційних завдань через перехід високого рівня – мова сценаріїв платформи. Програмне забезпечення не залежить від транспорту, працює через з’єднання TCP / IP у традиційному режимі чистого тексту або захищене SSH, SSL / TLS або Kerberos IV або V, а також через з’єднання послідовних портів, модеми та інші способи зв’язку (X.25, DECnet, різні протоколи локальної мережі, такі як NETBIOS та LAT, паралельні порти тощо на певних платформах).

Проект Керміт був заснований в Комп’ютерному центрі Колумбійського університету (нині CUIT) в 1981 році для задоволення конкретних потреб, і до середини та кінця 90-х років Керміт був стандартним програмним забезпеченням для підключення до настільних комп’ютерів Columbia, які універсально використовувалися студентами, викладачами та персоналом для підключення з настільними мікрокомп’ютерами, ПК, Macintoshes та робочими станціями Unix з центральними обчислювальними засобами: мейнфреймами IBM (1963-2017), DECSYSTEM-20 (1977-1988), CLIO (перша інтерактивна бібліотечна інформаційна система Columbia, 1984-2003) та Cunix (наші сервери, що базуються на Unix, з 1986 року по сьогоднішній день), а також до відомчих VAX, PDP-11, Suns та інших міні комп’ютерів. У перші дні використання мікрокомп’ютерів та ПК, але до широкого розгортання локальних мереж та настільних робочих станцій, які підключалися до них, програмне забезпечення Kermit пов’язувало робочий стіл з електронною поштою, дошками оголошень, спільним використанням файлів, обробкою тексту, обміном повідомленнями та іншими аспектами нової культури онлайн, яка зараз сприймається як само собою зрозуміле, задовго до того, як досвід був доступний у більшості інших установ. У Колумбії DEC-20 та відомчі мінікомп’ютери давно вже відійшли, і мейнфрейми IBM тепер призначені лише для використання в режимі доменів, але програмне забезпечення Kermit все ще використовується для сеансів SSH від робочого столу до CUNIX, та технічним персоналом для виконання системних та мережевих завдань; наприклад, налаштування стійок, заповнених серверами блейд-серверів HP, коли вони надходять, управління телефонною системою університету, сценарії CGI, альфа-сторінки для персоналу по виклику, тощо. Плюс, звичайно, старожили, які просто віддають перевагу безпеці та ефективності сеансів оболонки в текстовому режимі для електронної пошти та для того, щоб зробити свою роботу; наприклад, розробка програмного забезпечення та управління веб-сайтами.

Протягом багатьох років проект Kermit перетворився на всесвітню спільну діяльність з розробки та розповсюдження некомерційного програмного забезпечення, штаб-квартира якої знаходиться і координується в Колумбійському університеті, оскільки програмне забезпечення Керміт було перенесено на все більшу кількість комп’ютерів та операційних систем (див. перелік). Проект Kermit присвячений виробництву міжплатформенного, довготривалого, стабільного, сумісного із стандартами програмного забезпечення для взаємодії, і брав активну участь у процесі стандартів. Програмне забезпечення Kermit використовується у всьому світі в усіх галузях економіки: національному уряді, державному та місцевому уряді, академічному уряді, медицині та охороні здоров’я, машинобудуванні, аерокосмічній, некомерційній та комерційній.

Океанський поплавок EM-APEX

Незважаючи на те, що емуляція терміналів в основному витіснена Інтернетом для онлайн-доступу, програмне забезпечення Kermit продовжує відігравати роль в інших додатках, таких як дистанційне зондування та збір даних, управління та усунення несправностей мережевого та телекомунікаційного обладнання, робота з бек-офісом, управління вантажами та інвентарем, подання позовів про медичне страхування, електронний переказ коштів та подання декларацій з податку на прибуток через Інтернет. Програмне забезпечення Kermit вбудоване в мережеві маршрутизатори та комутатори, у вишки стільникових телефонів, у обладнання для медичної діагностики та моніторингу, навіть у кардіостимулятори, не кажучи вже про каси немало відомих роздрібних торговців “великої скриньки”. У 2002 році Керміт вилетів на Міжнародну космічну станцію, а програмне забезпечення Керміта є методом зв’язку, яким користуються Океанські плаваючі апарати EM APEX (ліворуч), що постачають дані в режимі реального часу дослідникам ураганів і трекерам до цього дня (проект урагану вступив у нову розширену фазу в 2010 році на основі нової версії Embedded Kermit).

Боїнг 787

Починаючи з 1980-х років, протокол і програмне забезпечення Kermit використовуються на заводських поверхах у програмованому штампному пресі, прес-гальмі, ламінуванні, плоскокатаному зсуві, різці, обробці металу та пластику, деревообробній та інших машинах. Наприклад, при виготовленні Boeing 787, де Kermit використовується для управління стрічковим шаром, який утворює певні компоненти кузова. Детальніше про те, як Керміт використовується на фабриці, ви можете прочитати тут і тут.

У 90-х роках програмне забезпечення Kermit використовувалося в автоматизації поштових відділень США, воно відіграло ключову роль у виборах у Бразилії в 1994 році (найбільших в історії на той час) і було центральним для місії ООН з надання допомоги в Боснії, “Пов’язуючи весь спектр операцій проекту, починаючи від мейнфрейму, міні-комп’ютера, ПК, закінчуючи портативними пристроями та пристроями зчитування штрих-кодів”

Світшот СРСР "Керміт"

У 1980-х роках надійність протоколу Керміта ідеально підходила йому для служіння в Зеленій революції в Африці, спільної в Європі та СРСР космічної місії Джотто, і, можливо, найбільш значущою для відновлення передачі даних між американськими дослідницькими станціями в Антарктиді та на материку після того, як вони були обірвані в 1986 році внаслідок нещасного випадку з комп’ютером під час 9-місячної антарктичної зими. У 1989 р. В Москві (СРСР) відбулася міжнародна конференція з питань Керміта, і сесії Керміта були представлені на інших конференціях протягом 1980-х рр. В Токіо, Берні, Парижі, Нешвілі та інших місцях.

Сторінка календаря маппет з травня 1981 року

Протокол і програмне забезпечення Керміта названі на честь Жаби Керміта, зірки телевізійного серіалу “Маппет-шоу”; ім’я Kermit використовується з дозволу Henson Associates, Inc. Чому воно назване на честь Жаби Kermit? У травні 1981 року ми вже працювали з першими реалізаціями протоколу, але у нас ще не було назви протоколу чи програмного забезпечення. Група з нас обговорювала це (я, Білл Кетчінгс, Білл Шиліт, Джефф Даменс, я думаю, що це була група), насправді не надто турбуючись, оскільки ми ніколи не очікували, що програмне забезпечення пошириться по всьому світу і триватиме десятки років. Я випадково зіткнувся зі стіною, на якій був мапетський календар, і оскільки мої діти були такими великими шанувальниками Маппет-шоу, я сказав: Як щодо Керміта? Через тридцять років (травень 2011 р.) ч знайшов сторінку календаря, на яку я дивився, коли сказав, що її можна побачити ліворуч і натиснути на неї, щоб побачити більше зображення.

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ KERMIT

Програмне забезпечення Kermit розроблено для сотень різних комп’ютерів та операційних систем, частина з них – програмістами-добровольцями у всьому світі, частина – професійним персоналом проекту Kermit. Основними особливостями найпопулярніших програм Kermit є:

  • Встановлення та обслуговування з’єднання для широкого спектру методів підключення (TCP / IP, X.25, локальна мережа, послідовний порт, модем тощо).
  • Емуляція терміналу.
  • Безпомилкова передача файлів.
  • Інтернет-протоколи, включаючи Telnet, Rlogin, FTP та HTTP.
  • Методи Інтернет-безпеки, включаючи Kerberos, SSL / TLS, SSH та SRP.
  • Перетворення набору символів під час емуляції терміналу та передачі файлів – унікальна особливість програмного забезпечення Kermit.
  • Числове та буквено-цифрове підкачування.
  • Програмування сценаріїв для автоматизації складних або повторюваних завдань.

Користувацький інтерфейс Kermit та мова програмування сценаріїв узгоджуються між платформами та методами комунікації, що дозволяє інвестуванню в навчання окупитися час від часу, коли ви переходите з однієї платформи на іншу, один спосіб спілкування на інший.

Наші прем’єрні реалізації програмного забезпечення Kermit:

  • Kermit 95 для Windows 95/98/ME, Windows NT /2000/ XP / Vista / 7/8/10 та OS / 2;
  • C-Kermit для UNIX, VMS, VOS та деяких інших сімейств операційних систем;
  • E-Kermit для вбудовування.
  • MS-DOS Kermit для DOS та Windows 3.x;
  • Керміт IBM Mainframe для VM / CMS, MVS / TSO та CICS.

C-Kermit та IBM Mainframe Kermit – це пакети, що базуються на хості та мають неперевершений спектр універсальності. Kermit 95 і MS-DOS Kermit – це повнофункціональні програми для обміну даними з настільними комп’ютерами, які конкурують за якістю будь-чого іншого на (або поза ним) ринку, за винятком, можливо, флексії інтерфейсу користувача: програми Kermit дотримуються текстового режиму командних рядків ще з того часу, що бентежить деяких людей, поки вони не зрозуміють всі переваги:

  • Набір команд є досить послідовним на всіх платформах і майже повністю узгоджується на сучасних платформах, таких як Windows, Mac OS X, Linux та VMS. Вивчіть це один раз, використовуйте скрізь.
  • Команди можуть бути об’єднані в “макроси” або “програми” для автоматизації будь-якого завдання, яке можна виконати вручну, як описано тут. Насправді в C-Kermit та Kermit 95 мова команд є повноцінною мовою програмування зі змінними, структурами управління, функціями, “підпрограмами”, а також кількома сюрпризами.
  • Вам не потрібно знати команди заздалегідь і не вводити їх повністю. Стиль команди називається “контекстне меню на вимогу” (ви бачите доступні варіанти, коли набираєте знак питання), а ключові слова можна скорочувати. Існує велика кількість вбудованої довідки, і набагато більше допомоги можна знайти на веб-сайті Kermit; наприклад, підручник з C-Kermit та Kermit 95, лише для початку.
  • Сенсорні друкарки можуть працювати швидше, коли їм не доводиться відводити руки від клавіш дому, і вони менше страждають від повторної напруги.
  • Деякі речі просто неможливо зробити ефективно або взагалі за допомогою графічного інтерфейсу. Ось цілком випадковий приклад, але він має сенс:

На ПК у мене є каталог, що містить тисячі зображень разом із їх ескізами. Для кожного зображення xxx.jpg є мініатюра xxx-t.jpg. Я хочу завантажити всі ескізи у Photoshop. За допомогою миші це зайняло б цілий день. За допомогою Kermit ви можете зробити це так (у командному рядку Kermit):

mkdir thumbnails

rename *-t.jpg thumbnails/

А потім у підкаталозі ескізів Ctrl-A, виберіть «виділити все», і перетягніть у Photoshop (а потім, за бажанням, перетягніть ескізи назад до вихідного каталогу одним рухом миші або перейменуйте їх назад за допомогою однієї команди Kermit).

Упакований в роздріб упаковку Kermit 95 2.1

Kermit 95 був розроблений не лише для задоволення потреб Колумбії у підключенні від Windows 95 (і пізніших версій) до центральних текстових служб, а й для збору грошей на підтримку проекту Kermit. На відміну від інших програм Kermit, K95 був суто комерційним, доступний як у роздрібній упакованій версії (праворуч), так і в масових ліцензіях на право копіювання. З моменту його випуску в 1995 році до середини 2011 року було придбано понад чверть мільйонів ліцензійних місць для масових ліцензій у понад 1000 ліцензій розміром від 100 до 10000 місць. Було продано близько 30 000 упакованих копій, ще тисячі придбано для завантаження з електронної академії, а K95 отримав ліцензію на сайт понад 100 університетів, а також цілих загальнодержавних університетських систем, таких як SUNY (64 студентських містечка з близько 400 000 студентів).

Проект “Керміт” був заснований на самофінансуванні в 1984 році, і з того часу і до його скасування в 2011 році він отримав 8 894 912,00 доларів США доходу для університету, плюс грант на обладнання (проект “Ерміт”) на суму 3 000 000,00 доларів. З 1984 р., коли розпочався “бізнес” Керміта, і до 1998 р., коли Інтернет захопив світ, ми здійснили 31 591 поставку програмного забезпечення Керміта на магнітних носіях (переважно 10-дюймові котушки з 9-доріжковою магнітною стрічкою); 4679 з них міжнародні до 107 різних країн, включаючи деякі, які вже не існують, такі як СРСР та Югославія, а до інших, яких ви, можливо, навіть не очікуєте, такі як Нова Каледонія.

Kermit книги  Kermit 95  C-Kermit  E-Kermit  G-Kermit  Поточні версії програмного забезпечення

ПРОТОКОЛ KERMIT

З моменту свого створення в 1981 році протокол Kermit перетворився на складний, потужний та розширюваний транспортно-незалежний інструмент для передачі та управління файлами, що включає, серед іншого:

Протокол Kermit використовує чітко визначені, послідовні, перевірені помилками пакети в кожному напрямку, щоб здійснити сеанс передачі файлів, дотримуючись стандартних правил шарування протоколів. Пакети розроблені для максимальної прозорості, тому вони можуть передавати будь-який комунікаційний носій, яким би обмежувальним він не був. Напівдуплекс (зупинка та очікування), повнодуплексний (розсувні вікна з вибірковою ретрансляцією) та безперервне потокове переміщення можуть бути використані для адаптації до будь-якого з’єднання.

Особливістю, яка відрізняє протокол Kermit від більшості інших, є широкий діапазон налаштувань, що дозволяють адаптувати до будь-якого виду та якості зв’язку між будь-якими двома типами комп’ютерів – довжина пакета, кодування пакетів, розмір вікна, набір символів, метод виявлення помилок, час очікування, робить паузи. Більшість інших протоколів призначені для роботи лише з певними видами або якостями з’єднань та/або між певними видами комп’ютерів або подібними файловими системами, і тому, погано працюють (або взагалі не працюють) в інших місцях і пропонують декілька, якщо такі є способи адаптації до незапланованих ситуацій. Kermit, навпаки, дозволяє досягти успішної передачі файлів і максимально можливої продуктивності на будь-якому з підключень.

На відміну від FTP або X-, Y- та ZMODEM (інші протоколи, з якими найчастіше порівнюється Kermit), протокол Kermit не передбачає і не вимагає:

  • повнодуплексне з’єднання;
  • з’єднання, яке є прозорим для керування символами;
  • 8-бітове з’єднання;
  • чисте з’єднання;
  • великі буфери по всьому шляху зв’язку;
  • управління потоком фізичного рівня зв’язку.

(Хоча Керміт не вимагає жодної з цих умов, він може скористатися ними, коли вони будуть доступні). У статті, присвяченій протоколу Керміта, Тім Кіенцле у лютому 1996 р. У журналіДоктор Добб” зазначається, що “підхід до віконних процесів Керміта швидший за протоколи, такі як XModem та YModem… Багато людей не усвідомлюють, що за менш ніж ідеальних умов підхід до віконних процесів Керміта значно швидший, ніж ZModem, протокол із заслуженою репутацією для швидких передач через якісні лінії. Ефективність протоколу Керміта детально аналізується тут і тут.

Таким чином Керміт виконує роботу “нестандартно” майже щоразу. А на вищому рівні командна мова Kermit дозволяє використовувати всілякі зручні критерії вибору файлів у будь-якій комбінації, наприклад:

  • Узагальнюючі символи та шаблони, що відповідають іменам файлів
  • Вибір за діапазонами дат
  • Вибір за діапазонами розмірів
  • Тільки текстові файли
  • Тільки двійкові файли
  • Тільки файли, яких не існує на іншому кінці або, які є новішими
  • Списки та шаблони винятків

Виконати майже будь-яке групування, яке ви можете собі уявити. При передачі файл може перетворити набір символів, його можна пропустити через фільтр тощо, а після успішної передачі вихідний файл можна видалити або перейменувати, файл призначення можна перейменувати або надіслати поштою тощо.

Специфікація протоколу Керміта

Оригінальна книга Керміта

Специфікація протоколу передачі файлів Керміта наведена в книзі Фернка да Круза, Керміт, Протокол передачі файлів, з передмовою Дональда Кнута (тепер доступна в Інтернеті у форматі PDF). Специфікація також доступна в Інтернеті у шостому виданні Посібника з протоколу Керміта (1986). В обох не вистачає деяких пізніших уточнень, але вони включають режим сервера, довгі пакети, розсувні вікна тощо. Документація для подальших доповнень до протоколу збирається та є загальнодоступною ТУТ. Формальна специфікація та верифікація протоколу Керміт був опублікований Джеймсом Хаггінс Університету штату Мічиган в 1995 році; завантажити його можна ТУТ.

ПРИКЛАД ПЕРЕДАЧИ ФАЙЛІВ KERMIT

Давайте розглянемо поширений випадок, коли у вас є настільний комп’ютер із будь-яким з’єднанням (модем, послідовний порт, звичайний Telnet, захищений Telnet, rlogin, захищений rlogin, SSH) – до сеансу оболонки на сервері Unix (” Unix “= Linux, Mac OS X, FreeBSD, Solaris, AIX, HP-UX тощо), і ви хочете перенести файл між своїм ПК та сервером Unix. Вашим емулятором терміналу в Windows є Kermit 95, а на сервері Unix встановлено C-Kermit або G-Kermit, який можна викликати, просто ввівши “kermit” у командному рядку (або, можливо, “ckermit” або “gkermit”).

Щоб завантажити файл, скажімо, message.txt, введіть таку команду в наступному рядку:

kermit -s message.txt

Файл буде надісланий до поточного каталогу Kermit 95 на вашому ПК (або до його ЗАГАЛЬНОГО КАТАЛОГУ, якщо ви його визначили). Не має значення, текстовий чи двійковий файл; Керміт розбирається і автоматично передає у відповідному режимі.

Подібним чином, якщо ви хочете перенести групу файлів, скажімо, усі файли, імена яких починаються на „daily”:

kermit -s daily. *

Kermit надсилає кожен відповідний файл, автоматично перемикаючись між текстовим та двійковим режимами відповідно до кожного файлу (daily.jpg, daily.xls, daily.txt, …)

Завантажити файл з ПК на Unix так само просто. Припустимо, у вас є файл під назвою “budget.xls” у поточному каталозі Kermit 95 на вашому ПК. Щоб завантажити його в UNIX, введіть це в підказці оболонки Unix:

kermit -g budget.xls

Це основи; є багато варіацій та уточнень; наприклад:

  • Передайте лише файли, новіші за аналоги з іншого боку.
  • Перетворюйте набори символів текстових файлів належним чином (наприклад, між ISO 8859-1 та Unicode UTF-8).
  • Відновити часткову передачу з місця відмови (лише двійковий режим).

Щоб заощадити набравши текст, ви можете визначити псевдоніми в Unix (у своєму профілі оболонки):

alias s=”kermit -Ys”
alias g=”kermit -Yg”

(s для Відправки, g для Отримання). І потім:

s message.txt
g budget.xls

Варто зазначити, що ви передаєте свої файли за тим самим з’єднанням, яке вже є; таким чином, немає необхідності встановлювати нове з’єднання, повторно аутентифікувати себе або подібну бюрократію. Якщо з’єднання захищене SSH, Kerberos, SSL, TLS або SRP, то передача файлів також захищена автоматично.

Це свідчить про неперевершений ступінь зручності. Коли ви говорите C-Kermit на Unix щоб надсилати або отримувати файл, його перший пакет передачі файлів автоматично розпізнається емулятором терміналу Kermit 95 і K95 з’являється в режим прийому або в режимі сервера, залежно від напрямку та часу передачі. закінчивши, K95 повертається до екрану емуляції терміналу. Якщо сталася помилка (наприклад, якщо у вас немає дозволу на запис у цільовому каталозі), K95 залишається на екрані передачі файлів, щоб ви могли побачити, в чому проблема.

Ті самі процедури також працюють Unix-to-Unix, K95-to-VMS, Unix-to-VMS, VMS to Unix або OS / 2 для VMS або Unix, якщо ви використовуєте K95 або C-Kermit в якості свого терміналу програми.

ПРОТИПОКАЗАННЯ

Також див.: Популярні помилки.

Протягом багатьох років проект Керміта та програмне забезпечення були предметом різних суперечок, зокрема:

Ліцензія

З самого початку ми хотіли, щоб програмне забезпечення Kermit було безкоштовним для всіх. Але починаючи з 1984 року, Колумбійський університет змусив нас знайти спосіб, щоб його окупити; тобто виплачувати заробітну плату персоналу, що працює повний та неповний робочий день, а також за обладнання, витратні матеріали, телефон тощо. Інакше нам не буде дозволено продовжувати розробляти, підтримувати, поширювати та підтримувати програмне забезпечення, яке до того часу мало стати популярними у всьому світі.

Наше рішення полягало в тому, щоб забезпечити безкоштовне програмне забезпечення для кожної особи та організації для його/її власного використання, але вимагати від компаній ліцензувати його, якщо вони збираються пов’язати його з продуктом або іншим чином надати його клієнтам або клієнтам; тобто якщо вони прагнули заробляти гроші на нашій праці. Таким чином вони могли заробляти гроші, але їм довелося б ділитися ними з тими, хто виконував роботу.

Оскільки рух за вільне програмне забезпечення прижився, його прихильники різко заперечували проти такого підходу, але це дозволило проекту Керміта продовжуватись ще 10 років. Потім, у 1994 році, з майбутнім випуском Microsoft Windows 95, ми вирішили випустити одну і єдину програму Kermit, яка була на 100% комерційною: Kermit 95. Цей продукт дозволив Проекту Керміта процвітати приблизно до 2003 року, коли економіка США та світової економіки почала руйнуватися, і продовжувати існувати у дедалі меншій формі до 2011 року, коли проект Керміта в Колумбійському університеті був остаточно скасований. На той момент, оскільки нічия робота від цього вже не залежала, все програмне забезпечення Kermit, на яке ми мали повні права, було розміщено під ліцензією з відкритим кодом, і тепер усі щасливі, крім тих, хто втратив роботу, і тих, хто зателефонував на наш безкоштовний номер технічної підтримки, коли їм потрібна допомога. І ті, хто дивується, чому ніколи не було чергового випуску Kermit 95.

Керміт проти X/Y/ZMODEM

Протокол передачі файлів XMODEM був розроблений в іншому місці в 1977 році для передачі файлів по телефонному з’єднанню з одного мікрокомп’ютера на інший і, таким чином, знайшов широке застосування серед любителів комп’ютерів, шанувальників журналів BYTE, користувачів та адміністраторів систем BBS тощо. Його наступники, такі як YMODEM та ZMODEM, виросли в одній культурі, обслуговуючи приблизно однакову базу користувачів. У світі BBS лінії зв’язку завжди були на 100% прозорими для всіх значень 256 байт, що дозволяє цим протоколам бути відносно простими і все ще добре працювати в цьому середовищі; таким чином мешканці культури BBS/любителів не мали підстав, щоб потребувати або дізнаватися про Керміт.

Протокол Kermit, навпаки, був розроблений для з’єднань на мікро-мейнфреймах, які були набагато менш терпимими та набагато вибагливішими, оскільки зв’язки рідко були прозорими, а основні комп’ютери кардинально різними; наприклад, вони можуть використовувати різні формати файлів та набори символів для зберігання файлів. Тоді Керміт був спрямований більше на установи – університети, лікарні, корпорації, державні установи – які мали машинні кабінети з великими центральними спільними комп’ютерами або різноманітними міні-комп’ютерами відомств, а також окремих користувачів із ПК або робочими станціями за своїми робочими столами, а не на любителів, відносно однорідних персональних мікрокомп’ютерів.

XMODEM був болісно повільним протоколом, тому поштовхом було переробити його у все швидші та швидші протоколи; звідси YMODEM та ZMODEM. Але новіші протоколи MODEM все-таки передбачали (більш-менш) 100% прозоре з’єднання між двома однаковими або дуже схожими комп’ютерами.

Коли з’явилися YMODEM і ZMODEM, люди почали критикувати протокол Kermit за повільність, як це було насправді у його первісному вигляді: короткі пакети, оскільки більшість мейнфреймів не витримували тривалих сплесків вхідних даних з терміналу; напівдуплексна зупинка та очікування, оскільки мейнфрейми IBM не підтримували повнодуплексний зв’язок; кодування для друку для керуючих символів та 8-бітових символів, оскільки вони не можуть пройти через драйвер терміналу мейнфрейма. Таким чином, оригінальний протокол Керміта був «найменшим спільним знаменником» серед усіх платформ, де він мав працювати (і багато інших, крім того, як виявилося). Його головна сила полягала в тому, що він був пристосований до будь-якої платформи або методу зв’язку, включаючи ті, де сімейство XMODEM взагалі не підходило; наприклад, у світі мейнфреймів IBM.

Тим часом деякі програмні пакети BBS пропонували протокол Kermit у своїх меню Завантажити та Завантажити, але ці реалізації Kermit були незмінно мінімальними (тобто повільними), часто помилковими, а іноді і абсолютно нефункціональними (див. Сторінку Помилки щодо реалізації сторонніх протоколів Kermit). Це мало посилити враження в культурі любителів, що протокол Керміта повільний.

Для розгляду скарг на продуктивність ми скористались внутрішньою розширюваністю конструкції протоколу Kermit (в якій передачі починаються з фази узгодження функцій), щоб додати опції для довших пакетів та повнодуплексних розсувних вікон із селективною ретрансляцією, а також можливості стиснення та використання переваг прозорих та/або безпомилкових з’єднань (наприклад, мережевих з’єднань), коли вони були доступні. Ці зміни зробили протокол Kermit таким же швидким або швидшим, ніж ZMODEM, не жертвуючи його універсальністю, функціями перетворення даних, надійністю та (що найважливіше) зворотною сумісністю (саме тому ви не бачите окремих протоколів: XKERMIT, YKERMIT, ZKERMIT). Зміни у виконанні датуються приблизно 1993 роком; див. орієнтири.

Незважаючи на це, кожен табір мав своїх прихильників, що базувались, в основному, на власній культурі, і кожен, як правило, відкидав іншого, ця тенденція триває до сьогодні. Більшість критиків Kermit базують свої спостереження на програмному забезпеченні Kermit з початку 1980-х років або на реалізаціях сторонніх протоколів Kermit, які, як правило, працюють погано. Для більш детального обговорення див. сторінку Неправильні уявлення.

У 2013 році я помітив дискусію Slashdot щодо скасування проекту Керміта в Колумбійському університеті. Це досить добре ілюструє поточну тему, оскільки в дискусії домінують любителі та користувачі BBS. Але кілька обізнаних користувачів Kermit також внесли свій внесок; ось кілька прикладів:

  • Нічого собі, у часи коледжу та післядипломного навчання я використовував цей протокол у багатьох місцях і так багато способів, що навіть не можу почати рахувати. Це був дуже консервативний протокол, який міг пройти майже все. Одного разу мені довелося перейти від портативного комп’ютера через модемне з’єднання до комутатора даних Equinox до AT&T 3b5 Unix, і назад до Equinox (щоб змінити швидкість з 300 бод на 9600 бод) на конвертер протоколу IBM 7171 до IBM 4361. І він міг фактично передавати файли. Іншого разу мені довелося зробити стрес-тест симулятора терміналу DECNET на Sun (стара версія виходила з ладу в середині дня в найзавантаженіші дні). Тому я використовував kermit для підключення до host1, потім до host 2, назад до host 1 , повернувшись до хосту 2, я думаю приблизно 40 разів. Потім я зробив передачу файлів через усі з’єднання. Це спрацювало.
  • На початку 90-х я відповідав за підключення до Інтернету перших румунських університетів (зокрема, Бухареста) до Інтернету. Оскільки нам не вдалося запустити IP через різні технічні причини, ми вирішили надіслати їм принаймні електронною поштою. Перша спроба була з uucp, але вони не змогли впоратися з його операціями на стороні Бухареста. Тоді телефонні лінії були недостатньо стабільними. Отже, протягом перших 6 місяців електронною поштою було надіслано до Бухареста за допомогою передачі файлів Керміта, ініційованою хадж-скриптом сценаріїв MDA, викликаним sendmail. Тоді Kermit був набагато надійнішим за будь-який інший протокол передачі файлів, і ми вважали, що врешті-решт він міг обробляти передачі бітів по мокрим лініям одягу.
  • Так, його багато використовують у світі. Один з небагатьох доступних інструментів для відновлення замурованого пристрою на базі RS232. Використовується для таких речей, як gumstix, beagleboard та багато інших SBC, таких як вбудовані пристрої на базі ARM. Якщо ви робите / замовляєте власні версії або ваш власний товар не містить таких альтернатив, як можливості завантаження з карт MMC/SD, c-kermit – це одна з небагатьох речей, яка дозволяє завантажувати, завантажувати код, а потім переходити до консолі всіх від одного інструменту на таких пристроях. Багато разів рятував свою дупу (і своїх роботодавців) на замурованих або вбудованих пристроях.

У тому ж обговоренні є деякі скарги на те, що не було надано адекватних пояснень, чому деякі модулі Kermit 95 не можуть бути випущені у відкритому коді. Пояснення було, і є, ТУТ.

Посилання 

Аннеліда

Сегментовані хробаки: щетинні, клочкові, дощові черви, п’явки та їх союзники
Грег В. Роуз, Фредрік Плейель та Дамнайт МакХью

таксонові посилання
Рисунок 1: Короткий опис філогенетичної гіпотези у Rouse and Pleijel (2001). Альтернативні домовленості обговорюються в Обговоренні філогенетичних відносин . Позиція Клієллати / Олігохети (включаючи дощових черв’яків та п’явок) та Ехіура ще не вирішена.

Група: Білатерія

Вступ

Аннеліда – це група, яку зазвичай називають сегментованими хробаками, і вони зустрічаються у всьому світі від найглибших морських осадів до ґрунтів у наших міських парках та дворах. Протягом більшої частини 20 століття Аннеліда була розділена на три великі групи; Поліхети, Олігохети (дощові черв’яки та ін.) та Гірудінея (п’явки). Дощові черв’яки та п’явки є звичними анелідами для більшості людей, але Поліхети становлять основну частину різноманітності Аннеліди і зустрічаються майже в усіх морських середовищах існування, починаючи від водоростей. Існують навіть пелагічні поліхети, які плавають або дрейфують, полюючи на інший планктон, і кілька груп, що трапляються в прісній воді та вологому наземному оточенні. В даний час розпізнано близько 9000 видів багатощетинкових, що мають ще кілька тисяч назв у синонімії, а загальна систематика групи залишається нестабільною (Rouse and Pleijel, 2001).

В даний час визнано, що Олігохета та Хірудінея, що складаються з декількох тисяч видів, утворюють кладу і їх слід називати або Олігохетами (Siddall et al., 2001), або Клієллатами (Martin, 2001). Більше того, цілком можливо, що ця група цілком може належати до Polychaeta, роблячи таким чином Polychaeta синонімом Annelida (McHugh, 1997; Westheide, 1997; Westheide et al., 1999). Ечіура (глисти), яка колись вважалася групою Аннелідів (Sedgwick, 1898), була вилучена з Аннеліди на довгі роки (Newby, 1940). Докази в даний час свідчать про те, що вони насправді є Аннелідами (Гесслінг та Вестхайде, 2002; Макхью, 1997), хоча їхнє розміщення в групі залишається невирішеним. Колишні філактерії Погонофора та Вестіментіфера також нещодавно стали розглядатися як цілісна, явно анелідна група (Bartolomaeus, 1995; Nielsen, 1995; Rouse and Fauchald, 1995), і тепер вони відомі під оригінальною назвою Siboglinidae (див. Rouse and Fauchald, 1997 та McHugh 1997). Справжні скам’янілості, що відкладаються, такі як Канадії, відомі з Покладів глинистих сланців Бюрджеса.

До порівняно недавнього часу найбільш часто використовуваною системою поділу багатощетинкових були такі, як “Errantia” та “Sedentaria”. По суті, це була система зручності без реального наміру зобразити еволюційні відносини. Ця класифікація була витіснена в 1960-х та 1970-х роках тими, хто розділив поліхети на цілих 22 порядки без явного зв’язку між ними (Fauchald and Rouse, 1997). Недавній кладистичний аналіз Аннеліди та інших груп привів до нової класифікації поліхет (Rouse and Fauchald, 1997), при цьому група поділилася на дві основні класи Сколецида та Палпата. Сколецида – це невелика група, що налічує менше 1000 названих видів, і всі ці хробаки є норами тієї чи іншої форми, тіла яких нагадують дощових черв’яків. Пальпата складається з переважної більшості поліхет і поділяється на Aciculata і Canalipalpata. Aciculata містить близько половини видів поліхет і значною мірою охоплює стару таксономічну групу Errantia. Представники цього походження характеризуються тим, що у параподій є внутрішні опорні шати, або гостроконечні клітини. Вона включає такі основні групи, як Філодоцида та Евніцида, які, як правило, є рухливими формами з добре розвиненими очима та параподіями для швидкого руху. Каналіпальпата, група з понад 5000 названих видів, відрізняється тим, що має довгі жолобчасті пальпові структури, які використовуються для годування. Каналіпальпата поділяється на Сабеліду, Спіоніду та Теребелліду. Більшість членів цих груп живуть у трубочках і годуються різними способами.

Характеристика

Синапоморфії Аннеліди

Монофілія Аннеліди недостатньо підтримується, і лише дві морфологічні ознаки заслуговують на обговорення; сегментація та шати. Нюхальні органи представляють ще одну можливу апоморфію і обговорюються в розділі про сенсорні структури (див. Плезіоморфні та інші особливості ).

1. Метамерія (сегментація)

Анеліди мають три ділянки тіла (рис. 2). Більша частина їхнього тіла складається з повторюваних одиниць, які називаються сегментами. Оригінальне використання французькою назвою Annélides (Lamarck, 1802) походить від латинського слова “anellus”, що означає маленьке кільце, що стосується наявності кільцеподібних сегментів. Кожен сегмент, в принципі, обмежений перегородками, що розділяють його від сусідніх сегментів, і має заповнену рідиною порожнину, що називається целомом. Такі структури, як видільна, рухова та дихальна органи, як правило, повторюються в кожному сегменті. Сегменти формуються послідовно в анелідах і встановлюються під час розвитку із зон росту, розташованих на задньому кінці тіла; тому наймолодший сегмент у тілі відродженого завжди знаходиться позаду. Єдиними частинами відірваного тіла, які не є сегментарними, є голова та кінцева постсегментарна область, яка називається пігідієм. Голова складається з двох одиниць – простомію та перистомію. Постсегментарний пігідій включає зону, з якої під час росту поширюються нові сегменти. Запропонована гомологія сегментації, яка спостерігається у анелід, з такою, що спостерігається у членистоногих, була використана для об’єднання двох як Articulata, угруповання, яке бере свій початок з Кюв’є (1817). Гомологія цієї сегментації була поставлена ​​під сумнів нещодавно, оскільки членистоногі зараз багатьма розглядаються як такі, що ближчі до таксонів, таких як Нематода (Aguinaldo et al., 1997). Це свідчить про те, що форма сегментації, яка спостерігається у анелід, насправді може представляти апоморфію. Що стосується нібито несегментованої Ечіури,

Ophryotrocha habitus
Рисунок 2. Офріотроха ( Dorvilleidae ). Сандгерді Ісландія. Авторське право © 2001 Грег Раус.

2. Шати

Відмінною особливістю Аннелід є структури, що називаються шатами (рис. 3). Шати (їх ще називають щетинками) – це пучки хітинових тонкостінних циліндрів, склеєних склеротизованим білком. Вони утворюються на мікровілярній межі певних інвагінованих епідермальних клітин, і тому їх можна визначити як кутикулярні структури, що розвиваються в епідермальних фолікулах. Шати демонструють величезну кількість варіацій – від довгих тонких ниток (капілярні шати) до міцних багатозубних гачків (рис. 3). Крім анелід, шати зустрічаються в Ехіурі та Брахіоподі. Зараз є вагомі докази (Hessling and Westheide, 2002; McHugh, 1997) про те, що колишня група входить до складу Аннеліди. Позиція Brachiopoda суперечлива (Lüter, 2000b; Lüter and Bartolomaeus, 1997; Stechmann and Schlegel, 1999), а гомологія їхніх шатів з аналідами невирішена (Lüter, 2000a). Тому існує чітка можливість того, що шати представляють апоморфію для Аннеліди.

chaetae annelid
Рисунок 3. Просколоплос (Orbiniidae). Бонді, Австралія. SEM та світлі мікрофотографії. Авторське право © 2001 Грег Раус.

Обговорення філогенетичних відносин

Тут використана найновіша всебічна систематизація поліхет, запропонована Роусом та Фошальдом (1997) на основі їх кладистичного аналізу парсимонії (рис. 1) з деякими змінами (див. Rouse and Pleijel, 2001). Враховуючи ймовірні помилки у розміщенні багатьох таксонів та той факт, що в оригінальні аналізи були включені суперечливі результати, найбільш фундаментальною проблемою, властивою систематизації, яка використовується тут, може бути проблема розміщення кореня для будь-якого дерева Аннеліди. 

Базальні анеліди, згідно з Rouse та Fauchald (1997), є такими таксонами, як Clitellata / Oligochaeta та простими формами в межах Scolecida. Їхні дерева також виключають Ечіуру з Аннеліди. Цей результат базувався на виборах поза групами, таких як Молюска та Сіпункула, і цілком може ввести в оману. Тому варто окреслити альтернативні гіпотези, хоча вони не відповідають звичайній кладистичній практиці. Шторх (1968), після детального дослідження мускулатури Аннеліди, припустив, що черв’яки, різноманітні клади в межах Філлодоциди, є типовими для плезіоморфного стану Аннеліди. Він припустив, що було випромінювання від цієї групи, але що Chrysopetalidae були найбільш тісно пов’язані з черв’яками. Наслідком його гіпотези є те, що Філодоцида представляє парафілетичну групу, з якої виникають усі інші таксони поліхет. Westheide (1997) (і див. Westheide et al., 1999) припускає, що основний (тобто плезіоморфний) «план тіла» Аннеліди містить ознаки, які означають, що корінь дерева Аннеліди буде розміщений таксонами з Ацикулати. Це призведе або до парафілетичної філодоциди, або до амфіноміди, залежно від того, який таксон використовується як корінь (рис. 4).

Дерево аннеліди із Вестхайде 1997 р
Дерево Аннеліди від McHugh 1997
Рисунок 4.

З молекулярної точки зору, McHugh (1997) виявив, що Clitellata, Pogonophora (Siboglinidae) та Echiura вкладені в різні поліхети, використовуючи дані послідовності з коефіцієнта подовження 1 альфа під час аналізу парсимонії (рис. 4). Розміщення Магоном (1997) Погонофори як поліхетової групи відповідало результатам Рауза і Фошальда (1997), але Клієлата та Ечіура помітно відрізнялися. Конфлікт між даними цієї молекулярної послідовності та морфологічними результатами може бути спричинений кількома факторами. Одна з можливостей полягає в тому, що Clitellata / Oligochaeta та Echiura втратили ряд морфологічних ознак, які допомогли б визначити їх сестринську групу серед поліхет. Подальше морфологічне дослідження в поєднанні з даними послідовності може виявити ці “втрати” (див. Hessling and Westheide, 2002). Однак зібрані на сьогодні дані про молекулярні послідовності були позначені як обмеженою кількістю таксонів, так і символами. Виняток становлять Браун та ін. (1999), де дані послідовності ДНК від трьох ядерних генів у широкому таксономічному різноманітті анелід підлягали аналізу парсимонізму. Вони виявили деякі морфологічні угруповання, такі як Cirratulidae, Terebellidae та Eunicida, але не виявили монофілетичних Phyllodocida або Aciculata, а також не виявили, що будь-які частини цих таксонів є базальними групами Annelida. Однак деякі очікувані групування не були відновлені. Мартін (2001) виявив, що розміщення Clitellata / Oligochaeta серед поліхет не може бути вирішене, і він не зміг відновити монофілетичну Аннеліду через розміщення таксонів, таких як Молюска та Сіпункула. Жоден з основних таксонів, що використовуються тут, таких як Palpata, Aciculata, Phyllodocida, Каналіпальпата, Сабеліда або Теребелліда були виявлені в аналізі Мартіна (2001). Також не було виявлено менш різноманітних таксонів, таких як Nereididae, Spionidae та Aphroditiformia.

Чи допомагає скам’янілість?

В огляді викопних відомостей анелід Рауз і Плейель (2001) припустили, що найдавніші однозначні викопні поліхети, такі як Канадія з кембрію, належать до Філодоциди. Подальші викопні поліхети, які можна впевнено розміщувати поза Філодоцидами, з’являються лише до Карбону. Жодні інші викопні поліхети з кембрію не можуть бути однозначно віднесені до існуючих таксонів поліхет. Є кілька ймовірних появ Ordovician, включаючи Serpulidae, Spionidae та випромінювання Eunicida. Виникнення нових припущень свідчать про те, що до кінця Carboniferous з’явилися більшість найважливіших родоводів поліхет. Винятком є Сколецида, причому найбільш ранніми відомими скам’янілостями є сумнівна Архаренікола(Arenicolidae) з тріасу, а один – віднесений на Paraonidae з крейдового періоду. З урахуванням варіанту вкорінення, застосованого на малюнку 1, виявляється, що деякі з найбільш ранніх копалин багатощетинних належать до похідних кладів (наприклад, Eunicida та Phyllodocida). Це можна трактувати двояко: (1) розміщення коренів на малюнку 1 є неправильним, і тому Aciculata, що складається з амфіномід, еуніцид та філодоцидів, насправді може представляти парафілетичну “стовбурову” групу для решти поліхет; (2) низка основних поліхетних груп вже еволюціонувала в «кембрійському вибуху» або раніше, але викопів поки що не знайдено. Третя можливість полягає в тому, що загальна топологія, використана на рисунку 1, може бути глибоко неправильною. Якщо ми визнаємо, що основна топологія, показана на рисунку 1, правильна, але не викорінемо дерево, тоді результатом є схема, як показано на рисунку 5. Це може представляти найбільш консервативне відображення нашого розуміння невідповідних відносин.

не вкорінене дерево Annelida
Рисунок 5.

Інші назви Аннеліди

  • Сегментовані глисти

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

Агінальдо, АМА, Дж. М. Турбевіль, Л. С. Лінфорд, М. С. Рівера, Дж. Р. Гарі, Р. А. Рафф і Дж. Лейк. 1997. Докази щодо кладів нематод, членистоногих та інших линяючих тварин. Nature 387: 489-493.

Bartolomaeus, T. 1995. Будова та утворення uncini у Pectinaria koreni, Pectinaria auricoma (Terebellida) та Spirorbis spirorbis (Sabellida): наслідки для філогенезу анеліди та положення погонофори. Зооморф. 115: 161-177.

Браун, С., Г. Раус, П. Хатчінгс та Д. Колган. 1999. Оцінка корисності гістону H3, U2 snRNA та 28S рДНК для аналізу взаємозв’язків поліхет. Авст. Дж. Зоол. 47: 499-516.

Cuvier, G. 1817. Le régne animal distribute d’après son organization, pour servir de base à l’histoire naturelle des animaux et d’introduction à l’anatomie порівняння. Детервіль, Париж.

Ейбі-Якобсен, Д. та Р. М. Кристенсен. 1994. Новий рід та вид Dorvilleidae (Annelida, Polychaeta) з Бермудських островів, з філогенетичним аналізом Dorvilleidae, Iphitimidae та Dinophilidae. Зоол. Скри. 23: 107-131.

Фошальд, К. 1977. Черв’яки поліхети. Визначення та ключі до порядків, сімей та родів. Нат. Hist. Муз. Округ Лос-Анджелес. Наук. Сер. 28: 1-188.

Фошаль, К. та Г. В. Раус. 1997. Систематика поліхет: минуле і сьогодення. Зоол. Доц. 26: 71-138.

Гесслінг, Р. та В. Вестхайде. 2002. Чи походить Ехіура від сегментованого предка? Імуногістохімічний аналіз нервової системи на стадіях розвитку Bonellia viridis. Дж. Морф. 252: 100-113.

Джеймісон, BGM 1981. Ультраструктура олігохет. Академічна преса, Лондон.

Ламарк, Ж.-Б. d. 1802. La nouvelle classes des Annélides. Bulletin du Muséum d’Histoire Naturelle, Paris An X: Disc. d’ouverture, 27 Floréal (Передруковано в 1907 р. у «Віснику біології Франції та Бельгії» 60:56).

Лютер, C. 2000а. Ультраструктура личинок та дорослих щетинок брахіоподи. Zoologischer Anzeiger 239: 75-90.

Лютер, C. 2000b. Походження целома у Brachiopoda та його філогенетичне значення. Зооморф. 120: 15-28.

Lüter, C. та T. Bartolomaeus. 1997. Філогенетичне положення Brachiopoda – порівняння морфологічних та молекулярних даних. Зоол. Скри. 26: 245-253.

Мартін, П. 2001. Про походження Гірудинеї та загибель Олігохет. Proc. Королівський соц. Лондон Сер. Б: Біол. Наук. 268: 1089-1098.

McHugh, D. 1997. Молекулярні докази того, що ечіурани та погонофорани є похідними анелідами. Proc. натн. Акад. Наук. США 94: 8006-8009.

McHugh, D. 2000. Молекулярна філогенеза Аннеліди. Кен. Дж. Зоол. 78: 1873-1884.

Newby, WW 1940. Ембріологія ехівроїдного хробака Urechis caupo. Mem. Am. філ. Соц. 16: 1-219.

Nielsen, C. 1995. Еволюція тварин. Oxford University Press, Oxford.

Пуршке, Г., Р. Гесслінг та В. Вестхайде. 2000. Філогенетична позиція Clitellata та Echiura – щодо проблемної оцінки відсутніх персонажів. Дж. Зоол. Сист. Евол. Рез. 38: 165-173.

Роуз, штат Джорджія 2001. Кладистичний аналіз Siboglinidae Caullery, 1914 (Polychaeta, Annelida): раніше філа Погонофора та Vestimentifera. Зоол. Дж. Лінн. Соц. 132: 55-80.

Роуз, Г.В. та К.Фошальд. 1995. Артикуляція анелід. Зоол. Доц. 24: 269-301.

Роуз, Г.В. та К.Фошальд. 1997. Кладистика та поліхети. Зоол. Доц. 26: 139-204.

Rouse, GW та F. Pleijel. 2001. Поліхети. Oxford University Press, Лондон.

Сойєр, Р. Т. 1986. Біологія та поведінка п’явок. Clarendon Press, Оксфорд.

Седжвік, А. 1898. Студентський підручник із зоології. Swan Sonnenschein & Co. Ltd., Лондон.

Сіддалл, М.Є., К. Апакупакул, Е. М. Бурресон, К. А. Коутс, К. Ерсей, С. Р. Гелдер, М. Каллерсьо та Х. Трапідо-Розенталь. 2001. Перевірка Ліванова: Молекулярні дані погоджуються з тим, що п’явки,  блідлідани та Acanthobdella peledina утворюють монофілетичну групу олігохет. Мол. Філ. Евол. 21: 346-351.

Стехманн А. та М. Шлегель. 1999. Аналіз повної послідовності мітохондріальної ДНК брахіопод Terebratulina retusa поміщає Brachiopoda в протостоми. Proc. Королівський соц. Лондон Сер. Б: Біол. Наук. 266: 2043-2052.

Шторх, В. 1968. Zur vergleichenden Anatomie der segmentalen Muskelsysteme und zur Verwandtschaft der Polychaeten-Familien. З. Морф. Ökol. Тієр 63: 251-342.

Westheide, W. 1997. Напрямок еволюції в межах Polychaeta. J. Nat. Hist. 31: 1-15.

Вестхайде, В., Д. МакХью, Г. Пуршке та Г. В. Раус. 1999. Систематизація Аннеліди: різні підходи. Гідробіол. 402: 291-307.

Інформація в Інтернеті

Ілюстрації заголовків

Myrianida pachycera habitus
Наукова назваMyrianida pachycera
МісцезнаходженняБонді, Австралія
КоментаріСиліди
Використання зображеньЦей медіа-файл ліцензований відповідно до ліцензії Creative Commons Attribution-NonCommercial – Версія 3.0 .
Acrocirrus validus habitus
Наукова назваAcrocirrus validus
МісцезнаходженняМісакі, Японія
КоментаріАкрокириди
Використання зображеньЦей медіа-файл ліцензований відповідно до ліцензії Creative Commons Attribution-NonCommercial – Версія 3.0 .
Авторське право© 1999 Грег В. Раус 
Chloeia habitus
Наукова назваХлоея
МісцезнаходженняМісакі, Японія
КоментаріАмфіноміди
Використання зображеньЦей медіа-файл ліцензований відповідно до ліцензії Creative Commons Attribution-NonCommercial – Версія 3.0 .
Авторське право© 1999 Грег В. Раус 
непізнана п’явка
Наукова назваГірудінея
МісцезнаходженняСідней, Австралія
Коментарінепізнана п’явка
Використання зображеньЦей медіа-файл ліцензований відповідно до ліцензії Creative Commons Attribution-NonCommercial – Версія 3.0 .
Авторське право© 1998 Грег В. Раус 

Як вибрати ергономічне крісло

Оригінал статті: ergo.human.cornell.edu

Щоб допомогти вам вибрати ергономічне крісло ви можете закінчити форму оцінки ергономічних сидінь. Ви також повинні перевірити, чи відповідає крісло принаймні таким критеріям:

  • Чи комфортно Вам сидіти та чи відповідає сидіння вашій формі?

Коли ви сидите в кріслі, сидіння має бути принаймні на дюйм ширше стегон і стегон з обох боків. Подушка сидіння не повинна бути занадто довгою для ваших ніг, інакше вона або захопить вас за коліна, або завадить повністю притулитися назад до поперекової опори. Більшість ергономічних крісел мають піддон для сидіння з каскадом спереду, який не дозволяє сидінню зачепити вас за коліна. Подушка сидіння також повинна бути контурною, щоб забезпечити рівномірний розподіл ваги, і на ній повинно бути зручно сидіти.

  • Чи регулюється висота крісла?

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

  • Чи достатній діапазон регулювання крісла по висоті для задоволення потреб усіх користувачів?

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

  • Чи є на кріслі зручна поперекова (для нижньої частини спини) задня опора?

Багато крісел мають м’які поперекові опори, які можна регулювати вгору і вниз, а також вперед і назад, щоб найкраще відповідати вашій формі. Якщо кріслом буде користуватися декілька осіб, може знадобитися інший рівень регулювання. Якщо крісло має поперекову опору з фіксованою висотою, і вам комфортно, коли ви сідаєте, і ви будете основним користувачем стільця, тоді фіксована поперекова опора може бути прийнятною.

  • Чи достатньо великий розмір спинки крісла для забезпечення хорошої підтримки спини? 

Багато крісел мають підставки для спини, які є достатньо великими, щоб забезпечити підтримку середини спини та верхньої частини спини, на додаток до хорошої підтримки попереку.

  • Коли ви сидите спиною до поперекової опори, чи достатньо місця для стегон?

Недостатнє місце для стегон може змусити вас сидіти занадто далеко від підлоги, так що у вас не буде достатньої підтримки стегон.

  • Чи все ще Вам комфортно сидіти після того, як ви просиділи в кріслі 60 – 120 хвилин?

Якщо крісло виготовлено з піни низької щільності, то постійне використання може призвести до його постійної деформації, і тоді воно не забезпечить адекватної амортизованої опори. Недостатня амортизація та невідповідна контурна обробка можуть спричинити дискомфорт, дисбаланс та втому стегон та спини.

  • Чи схиляється спинка крісла і підтримує спину в різних положеннях?

Рух спиною, коли ви сидите, допомагає підтримувати здоровий стан хребта. Шукайте крісла, які дозволять вам легко відкинутися, які забезпечують хорошу підтримку спини в різних позах нахилу і матимуть спинку, яка фіксуватиме положення вашої спини. Зафіксувати спинку стільця в одному положенні, як правило, не рекомендується або це лише корисно для постійних користувачів.

  • Чи має крісло основу з 5 п’єдесталів?

Якщо мобільність крісла важлива для того, щоб допомогти вам зробити свою роботу, то крісло повинне мати принаймні 5 п’єдесталів з коліщатками, які вільно ковзають по поверхні підлоги. Можливо, ви також захочете вибрати крісло, яке легко повертається.

  • Вам потрібні підлокітники на кріслі?

Якщо так, то підлокітники широкі, контурні, м’які та зручні? Сидячи, чи можете ви легко регулювати висоту підлокітників і чи можете ви пересувати підлокітники ближче або далі? Чи можете ви легко зрушити руки з місця, якщо вам потрібно це зробити?

Інші міркування:

  • Вам потрібна підставка для ніг?

У переважній більшості ситуацій вам не потрібна опора для ніг, щоб зручно сісти на крісло? Однак, якщо вам потрібна опора для ніг, тоді виберіть окремо стоячу підлогову опору, яка дозволить вам комфортно відпочити ногами перед собою.

  • Яке покриття для крісла найкраще?

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

  • Вам потрібен регульований нахил сидіння?

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

Крісла для особливих груп населення:

Проект реконструкції поверхні MURI

Оригінал: math.tamu.edu

Документація аплету браузера

Загальні відомості

Мета цього документа – описати використання та варіанти програм для реконструкції та порівняння поверхонь із даних, схожих на дані хмарного середовища. Програми можна завантажити Тут.

Робочий процес

Як правило, обробка даних хмарного середовища виконується в наступному порядку, де не всі ці кроки необхідні або розумні для всіх вхідних даних:

  • Перетворення формату
  • Попередня обробка
  • Реконструкція поверхні
  • Подальша обробка
  • Перегляд

Програми

WizardGUI

Ця програма проведе вас через усі етапи відновлення поверхні та порівняння в графічному інтерфейсі. Повну документацію щодо використання майстра ви знайдете тут.

Форматування

StmToPts

Ця програма перетворює ‘.stm’ файл у файл ‘.pts’. Програма приймає аргументи командного рядка у вигляді:

stmtopts <height map file> [scale]

Спочатку потрібно вказати файл карти висоти у форматі ‘.stm’, а за бажанням – масштаб. Файл ‘.stm’ визначає висоту кожної комірки у 2D-сітці як 16-бітове ціле число, і ці значення діляться на шкалу. Кожна комірка в сітці вважається однією одиницею збоку.

IhmToPts

Ця програма перетворює ‘.ihm’файл у файл ‘.pts’. Програма приймає аргументи командного рядка у вигляді:

ihmtopts <ihm file> [scale]

Як і перетворення StmToPts, масштаб можна вказати за бажанням.

XyzToPts

Кожна точка у файлі ‘.xyz’ перетворюється в точку у файлі ‘.pts’. Норма в кожній точці невизначена. Вихідний файл буде мати те ж ім’я, що і вхідний файл, за винятком того, що розширення «.pre» додається. Файл ‘.pre’ – це те саме, що файл ‘.pts’, але для зручності робочого циклу він називається по-різному. Використання наступне:

xyztopts <xyz file>

XyzToPtsView

Кожна точка у файлі ‘.xyz’ перетворюється в точку у файлі ‘.pts’. Нормальна норма в кожній точці встановлюється такою, що вказує на положення камери, вказане індексом, у файл траєкторії. Файл траєкторії повинен мати те саме ім’я файлу та систему координат, що і файл .xyz. Ім’я файлу має бути вказано без розширення. Використання наступне:

xyztoptsveiw <xyz file without extension>

Попередня обробка

FixBox Shared

Надається будь-яка кількість вхідних наборів даних, і обмежувальне поле всіх наборів даних, яке буде встановлено до обмежувального вікна об’єднання точок з наборів. Вхідні файли перезаписуються. Використання полягає в наступному:

Fixbboxshared [.pts [.pts […]]]

SortPoints

Ця програма обчислює приблизні норми для файлів ‘.pts’ вздовж осі z. Якщо найдовша вісь не є віссю z, модель буде повернуто так, щоб найдовшою віссю була вісь z. Нічого надзвичайного не робиться, лише обертання на 90 градусів. Щоб використовувати програму, надайте вхідний файл як аргумент, а за бажанням, надайте ім’я вихідного файлу як другий аргумент. Якщо не вказано ім’я вихідного файлу, вхідний файл буде замінено. Використання наступне:

sortpoints <infile> [outfile] 

CalcNorms

Ця програма обчислює приблизні норми для файлів .pts та .pre, створених без інформації про траєкторію. Це робиться шляхом поділу відсканованого об’єму на сітку, припускаючи, що це місце дії. А саме, що є над і під відсканованими даними. Простір, що лежить під звисом, потенційно може бути або повітрям, або брудом. Усі відомі області поширюють свої значення заповнених або незаповнених у всіх невизначених сусідів, які не містять балів, поки всі області не будуть визначені як заповненими, так і незаповненими.

Якщо область заповнена, їй присвоюється значення 1, якщо вона порожня, їй присвоюється значення -1, а якщо вона містить точки, їй дається значення 0. Градієнт цієї функції грубо наближається до нормалей пунктів. Нормаллю кожної точки встановлено найкращу площину через місцеве сусідство точок, а напрямок нормалі площини (всередині або поза) визначається з градієнта функції всередині-зовні.

Використання наступне:

Параметри можуть бути передані в командний рядок спочатку вказуючи ім’я параметра, який слід змінити за своєю вартістю.

pts [.pre]

res [integer]

res_x [integer]

res_y [integer]

res_z [integer]

fillgaps (t|f)

. Pts – визначає файл вхідної точки для використання

. Res – роздільна здатність сітки в напрямках x, y, z

. Res_x – роздільна здатність сітки в напрямку х

. Res_y – роздільна здатність сітки в напрямку у

. Res_z – роздільна здатність сітки в напрямку z

. Fillgaps – якщо встановлено значення true, точки додаються у координати x, y, де немає вхідних даних.

CalcNormsView

Ця програма обчислює приблизні норми для файлів .pts і .pre, які були створені з інформацією про траєкторію. Інформація про траєкторію просто вказує місце, з якого сканувалася кожна точка. Нормаллю кожної точки встановлюється найкраща площина через місцеве сусідство точок, а напрямок нормалі площини (входить або виходить) визначається від напрямку до камери. Точку не можна сканувати зсередини об’єкта, тому нормаль повинна спрямовуватися у напрямку камери.

Параметри можуть бути передані в командний рядок спочатку вказуючи ім’я параметра, який слід змінити за своєю вартістю.

pts [.pre]

res [integer]

res_x [integer]

res_y [integer]

res_z [integer]

fillgaps (t|f)

extend_avg (t|f)

floodfill (t|f)

thin_struct (t|f)

. Pts – визначає файл вхідної точки для використання

. Res – роздільна здатність сітки в напрямках x, y, z

. Res_x – роздільна здатність сітки в напрямку х

.Res_y – роздільна здатність сітки в напрямку у

. Res_z – роздільна здатність сітки в напрямку z

. Fillgaps – якщо встановлено значення true, точки додаються у координати x, y, де немає вхідних даних.

. Extended_avg – коли заповнення пропусків істинне, то точки, додані для землі, додаються на висоті, яка дорівнює середній висоті оточуючих точок.

.  Floodfill – інший метод визначення того, які ділянки місцевості знаходяться всередині або зовні, що рідко буває кращим, ніж метод за замовчуванням.

. Thin_struct – тонкі конструкції, такі як огорожі та лінії електропередач, потовщуються, намагаючись зберегти дрібні деталі, які часто втрачаються під час реконструкції поверхні. 

FilterPoints

Точки, які не знаходяться поблизу інших точок або нормалі яких сильно відрізняються від оточуючих точок, видаляються з набору даних. Вхідний файл повинен мати точки в упорядкованому порядку, оскільки програма працює без ядра. Відфільтрований вихідний файл має те ж ім’я, що і вхідний файл, за винятком того, що розширення «.filter» додається. Використання полягає в наступному:

Параметри можуть бути передані в командний рядок спочатку вказуючи ім’я параметра, який слід змінити за своїм значенням.

pts [.pts]

depth [integer]

marks [integer]

dist_dev [float]

angle_dev [float]

. pts – відсортований набір вхідних даних

. depth – роздільна здатність основної сітки, на якій проводяться обчислення, становить 2 d x2 d x2 d комірок збоку, де d – глибина.

. marks – для кожної сусідньої комірки, яка не має точок, ставиться відмітка. Позначка також дається для кожної комірки, що перевищує допустиме відхилення відстані від площини або різницю нормалі до площини, яка відповідає сусіднім точкам. Параметр позначки встановлює максимальну кількість позначок, яку може отримати точка до її видалення.

. dist_dev – якщо точка перевищує вказане відхилення відстані від місцевої площини щодо інших точок в околиці, точка отримує позначку.

. angle_dev – якщо точка більша за вказане відхилення в нормалі від нормалі місцевої площини, точка отримує позначку.

FilterOutliers

Параметри можуть бути передані в командний рядок спочатку вказуючи ім’я параметра, який слід змінити за своїм значенням.

pts [.pre]

res [integer]

res_x [integer]

res_y [integer]

res_z [integer]

ratio [float]

.Pts – визначає файл вхідної точки для використання

. Res – роздільна здатність сітки в напрямках x, y, z

. Res_x – роздільна здатність сітки в напрямку х

. Res_y – роздільна здатність сітки в напрямку у

. Res_z – роздільна здатність сітки в напрямку z

. Ratio – якщо щільність точки біля точки нижче співвідношення, помноженої на середню щільність, то точка видаляється.

LOP – локально оптимальна проекція

Ця програма виконує попередню обробку WaveletPipeRecon. Вона використовує оператор локальної оптимальної проекції [1] для проектування шумних точок як фільтрації шуму та регулювання розподілу точок сканованої хмари точок. Програма використовує реалізацію на основі Octree як оптимізацію для мінімізації витрат часу роботи оригінального алгоритму. Посилання на LOP: [1] Lipman, Y., Cohen-Or, D., Levin, D., and Tal-Ezer, H. 2007. Безпараметрична проекція для реконструкції геометрії. ACM Trans. Графік. 26, 3 (липень 2007 р.), 22.

Параметри можуть бути передані в командний рядок, попередньо вказавши ім’я параметра, який слід змінити, а потім його значення. 

pts [.pts]

pts2 [.pts]

mu [float]

h [float]

k [int]

r [float]

. pts – вихідний набір вхідних даних.

. pts2 – довільний набір даних, який буде відібраний відповідно до частоти дискретизації, щоб сформувати набір припущень, що проектується на вихідний набір вхідних даних.

. mu – параметр відштовхування, діапазон якого становить [0, 1/2), детально див. [1].

. h – радіус опори гауссової вагової функції, що використовується [1].

. k – кількість ітерацій алгоритму фіксованої точки для обчислення проекції.

. r – частота дискретизації для вибірки з довільного набору для формування набору здогадок.

SurfFitFill

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

Для компіляції коду потрібні наступні зовнішні бібліотеки: 

1. BLAS

2. LAPACK

3. FLENS (АC ++ інтерфейс до BLAS і LAPACK) 

Ми рекомендуємо скомпілювати код під системою на базі Linux, щоб полегшити встановлення необхідних бібліотек вище.

Параметри можуть бути передані в командний рядок, попередньо вказавши ім’я параметра, який слід змінити, а потім його значення. 

pts [.pre]

res [integer]

res_x [integer]

res_y [integer]

res_z [integer]

. pts – визначає файл вхідної точки для використання

. res – роздільна здатність сітки в напрямках x, y, z

. res_x – роздільна здатність сітки в напрямку х

.res_y – роздільна здатність сітки в напрямку у

.res_z – роздільна здатність сітки в напрямку z

Реконструкція поверхні

WaveletPipeRecon

Про те, як користуватися програмою, зверніться до документації за адресою: http://people.cs.tamu.edu/jmanson/programs_wavelet_reconstruct.html

Документацію щодо вихідного коду див. у документації тут

Daub3DCompare

Ця програма виконує реконструкцію поверхні на двох вхідних наборах даних, використовуючи вейвлет-основу Daubechies 4. Симетричну різницю між реконструйованими функціями індикатора можна обчислити, або поверхні можна відновити з кожного набору даних лише на перетині наборів даних. Використання цієї програми подібне до використання програми WaveletPipeRecon. Використання полягає в наступному:

Параметри можуть бути передані в командний рядок спочатку вказуючи ім’я параметра, який слід змінити за своєю вартістю.

pts1 [.pts]

pts2 [.pts]

глибина [N]

to_screen (t | f)

to_file (t | f)

розмиття (t | f)

surf_at_pts (t | f)

surf_at_int (t | f)

shared_pts (t | f)

cmp_thresh (t | f)

cfg [config_file]

Тут описані лише параметри, які відрізняються від параметрів у WaveletPipeRecon:

. Surf_at_int – якщо встановлено значення true, поверхня витягується лише в місцях x, y, які мають точки з обох вхідних наборів даних.

. Shared_pts – якщо встановлено значення true, для виконання реконструкцій використовуються лише точки, що мають однакове розташування x, y в обох наборах вхідних даних.

. Cmp_thresh – якщо встановлено значення true, симетрична різниця між функціями індикатора виконується шляхом взяття симетричної різниці порогових функцій індикатора, де порогове значення означає встановлення значень функції або 0, або 1.

Подальша обробка

SurfDistColor

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

Перегляд

ViewDists

Ця программа використовується для перегляду результатів SurfDistColor для виявлення резервуарів.

ViewPts

Ця програма переглядає файли .pts.

ViewXYZ

Ця програма переглядає файли .xyz.

3dViewer

Ця програма переглядає різні формати поверхні, зокрема ‘.bobj’.

Формати файлів

.pts

Програми відновлення поверхні приймають введення у форматі файлу .pts. Цей двійковий формат – це простий опис набору точок у тривимірному просторі з присвоєними одиницями зовнішніх нормальних векторів. Він складається із заголовка, який має два тривимірних вектори, що описують максимальний та мінімальний обсяги декорації, а потім ціле число, що містить кількість точок у файлі даних. Після заголовка знаходиться список точок, де кожна точка складається з нормалі та положення, які представлені у вигляді тривимірних векторів. Код псевдо-С, що описує формат, наведений нижче:

struct xyz
{
float x, y, z;
};

struct bbox
{
xyz min_corner, max_corner;
};


struct header
{
bbox bounds;
int number_of_points;
};

struct point
{
xyz normal, position;
};

struct pts_file
{
header head;
point points[];
};

.stm

Файли STM – це карти висоти, які визначають одне значення висоти для кожної точки в звичайній прямокутній 2D-сітці. Більш детальний опис цього формату доступний на веб-сайті MURI у розділі “формати”.

.ihm

Файл .ihm – це проста карта місцевості (файл .stm) з розширеним колонтитулом IMI. Нижній колонтитул необов’язковий і позначається символом “#” без лапок. Хеш позначає решту поточного рядка як коментар, який потрібно пропустити під час інтерпретації (тобто перетворення). Більш детальний опис цього формату доступний тут.

.xyz

Файли XYZ – це файли ASCII, які містять координати xyz і рівень сигналу зворотного сигналу точок, по одній точці на рядок.

.xyzrgba, .traj

Формат XYZRGBA подібний до XYZ, з тією різницею, що перед кожним рядком передує ціле число. Ці індекси посилаються на файл із суфіксом .traj, який для кожного індексу містить позицію xyz місця розташування датчика, з якого були записані точки з цим індексом. Це розташування датчика часто корисне для визначення орієнтації поверхні, нормальної до точки (вона завжди повинна спрямовуватиcя в межах 90 градусів від напрямку камери). Як випливає з назви, файли XYZRGBA додатково визначають колір RGBA сканованої поверхні в кожній точці. RGBA – це зображення кольору, яке визначає червоний, зелений та синій компоненти та непрозорість поверхні.

Документація аплету браузера

Загальні відомості

Це онлайн-документація аплету Jviewer та графічний інтерфейс для його використання, який переглядає дані хмарних точок із середовища браузера. Цей графічний інтерфейс може бути використаний для обробки даних хмарних точок без встановлення або компіляції програми та її залежностей на вашому комп’ютері. Єдиним необхідним компонентом для вас, як користувача, є оновлена інсталяція Java для вашої операційної системи. Якщо у вас цього немає, вам буде запропоновано встановити його. Якщо це так, будь ласка, відвідайте http://www.java.com та встановіть останню версію для своєї операційної системи.

Робочий процес

Як правило, процес перегляду даних хмари точок через аплет є таким:

  • Введення графічного інтерфейсу користувача
  • Завантаження файлу
  • Перетворення формату
  • Попередня обробка
  • Реконструкція поверхні
  • Перегляд

Деякі розділи такі самі, як описано вище, і не будуть тут повторюватися

Графічний інтерфейс

Графічний користувальницький інтерфейс і початок процесу розташовані тут, мета графічного інтерфейсу така ж, як описана вище у програмі WizardGUI. Це дозволяє користувачеві вказати всі параметри, які вони хотіли б використовувати під час запуску сценарію для генерації своїх візуалізованих даних.

Для отримання детальних відомостей про графічний інтерфейс перейдіть за цим посиланням: Особливості графічного інтерфейсу

Програма

Єдиною новою програмою (крім розглянутих вище) є аплет Jviewer. Аплет JAR викликається разом з одним параметром для функціонування:

файл – назва завантаженої хмари точок (наприклад, african_statue.pts)

Jviewer

Ця програма є Java-аплетом, який переводить хмару точок у Java 3D та візуалізує її у вікні.

Завантаження файлу

Після введення параметрів у графічному інтерфейсі завантажується файл хмари точок зазначеного типу. Це робиться безпосередньо під самим графічним інтерфейсом. Поточне обмеження максимального розміру файлу для завантаження становить 10 МБ, як зазначено в графічному інтерфейсі користувача.

Перетворення формату

Це описано вище, і за необхідності використовуються ті самі програми.

Попередня обробка

Це описано вище, і за необхідності використовуються ті самі програми.

Реконструкція поверхні

Це описано вище, і за необхідності використовуються ті самі програми.

Перегляд

Це досягається за допомогою програми Jviewer, яка виконує те саме завдання, що і 3dViewer, описане вище, через вікно браузера.

Приватні файли

коефіцієнт_фільтрації.pdf

мінімізація.pdf

Нові дані (червень 2009 р.) У форматі PDF

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

1. Джосія Менсон, Гергана Петрова, Скотт Шефер.”Потокове відновлення поверхні за допомогою вейвлетів.”Симпозіум з обробки геометрії 2008.<http://students.cs.tamu.edu/jmanson/wavelet_reconstruct.pdf>.

Програмне забезпечення

Оригінал статтi: faculty.missouri.edu

Я включаю сюди ряд програмних проектів. Я хотів би подякувати NSF за надання підтримки під час розробки більш математичного програмного забезпечення.

Код для складних функцій арксинуса, арккосинуса та арктангенсу

Я написав код для реалізації складних функцій arcsine, arccosine та arctangent casinh, casin, cacosh, cacos, catanh, catan. В даний час я маю намір, щоб вони стали частиною операційної системи FreeBSD, але я хотів би працювати з усіма, хто хоче додати його до інших систем (наприклад, glibc). Код заснований на роботі “Реалізація складних функцій арксинуса та аркосинуса за допомогою обробки винятків” Т. Е. Халла, Томаса Ф. Фергріва та Пінг Так Пітера Танга, опублікованої в ACM Transactions on Mathematical Software, том 23, випуск 3, 1997, сторінки 299-335, http://dl.acm.org/citation.cfm?id=275324.

Код доступний за адресою http://people.freebsd.org/~stephen/ у файлах catrig.c, catrigf.c, catrigl.c. Тести показують, що як реальна, так і уявна частини результатів мають значення в межах 4 ULP (одиниці останнього місця). Вони, безумовно, набагато точніші, ніж поточні реалізації в glibc або NetBSD. Код catrig.c повністю коментований, а код catrigf.c та catrigl.c – це плаваюча та довга подвійні (80 біт та 128 біт) версії відповідно. (Плаваюча версія іноді давала результати, точність яких трохи гірша, ніж 4 ULP.) Див. https://wiki.freebsd.org/Numerics для прогресу з числа у FreeBSD.

Алгоритм у статті Халла, Фергріва і Танга також використовується в бібліотеках Boost: http://www.boost.org/doc/libs/1_53_0/boost/math/complex/asin.hpp. Їх реалізація більш вірна оригінальному алгоритму, ніж моєму коду. Бібліотеки Boost також містять код для atanh та acos. Останні два алгоритми потребували виправлення, щоб бути точними в деяких крайових випадках: див. Https://svn.boost.org/trac/boost/ticket/7290 та https://svn.boost.org/trac/boost/ticket/7291.

Xkbset

Ця програма допомагає керувати багатьма функціями XKB вікна X. Сюди входять такі функції, як MouseKeys, AccessX, StickyKeys, BounceKeys і SlowKeys, як описано нижче. Вона включає програму графічного інтерфейсу, яка допомагає керувати прискоренням MouseKeys. Програма доступна у вихідній формі тут.

Ви також можете переглянути інші подібні програми:

(MouseKeys глючить щодо прискорення: див. виправлення помилок для клавіш. Це частково виправлено у версії 4.0.2 XFree86 та повністю виправлено у версії 4.0.3.)

Програми рідин

Ось кілька програм для імітації рідин. Усі вони написані для Unix.

  • Заставка xlockmore містить режим euler2d, який імітує двовимірне рівняння Ейлера. Використовуйте версію 4.17 або вище (але версія 4.18 містить значні оптимізації). ЇЇ можна отримати звідси або тут. Тепер це також включено в программу xscreensaver.
Зображення рішення 2d рівняння Ейлера
  • Я написав кілька програм для моделювання рівнянь Нав’є-Стокса з періодичними граничними умовами. Вони чудово використовують пакет швидкого перетворення Фур’є fftw. Для відображення вони використовують протокол OpenGL – я використовую пакет Mesa. Вони доступні тут.

AccessX для X Window

Примітка додана в серпні 2012 року: інформація в цьому розділі дуже стара і в основному застаріла.

Тут я описую AccessX, варіант, вбудований у версію X Window R6 і вище. Це допомагає користувачам, які мають певні обмеження щодо своїх здібностей, користуватися клавіатурою або мишами. Якщо у вас є інша інформація для розміщення на цій сторінці, повідомте мені про це: [email protected].

У деяких версіях X Window ви можете знайти вбудовану програму під назвою accessx, яка дозволяє вмикати та вимикати ці параметри. Сюди входить IRIX 6.5 для SGI, можливо, щось на Sun, і DECwindows.

Для інших версій X зараз існує ряд інших програм, які виконують те саме завдання:

  • XFree86-4.0 має утиліту xf86cfg, яка дозволяє користувачам встановлювати деякі параметри accessx.
  • Програма інтерфейсу командного рядка xkbset, написана мною.
  • Дуже обмежена, але досить проста для розуміння программа cheap-accessx-0.1.tar.gz.
  • Очевидно, що випуск 6.6 X Window (версія 11) включатиме програму Accessx, передану Sun та DEC/Compaq. Шукайте її, коли ваш улюблений дистрибутив наздожене X11R6.6.

На веб-сайті http://ccpc5.unican.es/doc/du-40D-doc/AQ917BTE/DOCU_013.HTM є дуже гарні вказівки щодо використання різних функцій Accessx, а також детальний опис (включаючи багато подробиць про прискорення клавіш MouseKeys) у документі ftp://ftp.x.org/pub/R6.4/xc/doc/hardcopy/XKB/XKBlib.ps.gz. Зокрема, якщо функцію accessx X увімкнено, багато функцій accessx можна ввімкнути без запуску будь-якої спеціальної програми, а саме:

  • Липкі клавіші: Наприклад, щоб отримати @, натисніть клавішу SHIFT, відпустіть її, а потім натисніть 2. Щоб написати XKB, двічі натисніть SHIFT, потім xkb, потім знову SHIFT. Працює також з CONTROL і ALT. Щоб увімкнути / вимкнути це, натисніть клавішу SHIFT 5 разів.
  • Повільні клавіші: змушує клавіші працювати, лише якщо вони натискаються протягом певного періоду часу (тому випадкові натискання клавіш не реєструються). Щоб увімкнути / вимкнути це, натисніть клавішу SHIFT протягом 8 секунд.
  • Клавіші миші: Цифрова клавіатура може використовуватися як і миша для переміщення курсору. Щоб увімкнути / вимкнути це, натисніть у такому порядку (утримуючи їх натиснутими, доки не закінчите з третьою клавішею): ліва клавіша SHIFT, ліва клавіша ALT, клавіша NUM-LOCK. (Насправді клавіші миші глючать щодо прискорення: див. Виправлення помилок для клавіш миші.)

Існує кілька способів увімкнути цю функцію accessx. Наприклад:

  • Під час запуску X увімкніть + accessx. Наприклад, якщо ви запускаєте X за допомогою команди startx, зробіть це так:

startx – + accessx

  • Якщо ви використовуєте X через xdm, знайдіть файл під назвою Xservers у каталозі, який може називатися / usr / X11R6 / lib / X11 / xdm, і переконайтеся, що в ньому є такий рядок, як:

: 0 local / usr / X11R6 / bin / X + accessx

(Добре, я не тестував цього – можливо, хтось інший би перевірив це і сказав мені, чи працює)

  • Використовуйте мою утиліту xkbset наступним чином:

xkbset a

  • Якщо ви використовуєте XFree86 версії 4.0.2 або новішої: як кореневе редагування /usr/X11R6/lib/X11/xkb/X0-config.keyboard (або де б не був цей файл), і переконайтеся, що AccessxKeys відображається у такому рядку, як

Controls + = RepeatKeys + MouseKeys + MouseKeysAccel + AccessxKeys

(цей файл може бути створенийx f86cfg, або ви можете просто створити його самостійно).

Природна математика

Це програма, яка дозволяє писати математику так, як вона вимовляється, і перетворює її на LaTeX, щоб її можна було красиво набрати. Це спочатку було створено, щоб допомогти інвалідам писати математику. Це називається Natural Math.

Головоломки Поліміно

Ось набір програм для розгадування головоломок, в яких поліоміно розміщено у геометричній фігурі (зазвичай це прямокутник). Деякі з них були використані для вирішення деяких проблем за адресою http://www.xs4all.nl/~gp/PolyominoSolver/Polyomino.html. Якщо хтось знайде помилки в моїх програмах або зможе надати незалежну перевірку деяких моїх номерів, я був би вдячний.

Заставка xlockmore містить режим polyominoes, який вирішує різні головоломки polyomino в режимі реального часу. Використовуйте версію 5.01 або вище (але версія 5.00 має менший набір проблем, який називається пентоміно). Її можна отримати звідси. Тепер це також включено в программу xscreensaver.

Малюнок Поліоміно

Пакет видачі

Це пакет програм, що дозволяють розподіляти завдання програмування (наприклад, підраховуючи подвійні прості числа) між кількома комп’ютерами. Це описано за адресою http://faaching.missouri.edu/~stephen/software/dispense/. Примітка додана 22 серпня 2012 р.: Схоже, це програмне забезпечення не працює з новішими версіями коду бази даних Берклі. Оскільки цей код був написаний, для вирішення цієї проблеми є, мабуть, інші, набагато кращі.

Сферичний пакет

Обчислює PDE на сферах з використанням сферичних гармонік. Це описано за адресою http://faaching.missouri.edu/~stephen/software/spherical/.

Пакет “Швидке точне закриття”

Обчислює “Швидке точне закриття” для рівнянь типу Джеффрі. Це описано за адресою http://faaching.missouri.edu/~stephen/software/fec/.