Карметалл - CaRMetal
Две конические секции с использованием Карметалл | |
Оригинальный автор (ы) | Эрик Хакенхольц |
---|---|
Разработчики) | Эрик Хакенхольц, Патрис Дебрабан, Пьер-Марк Мазат, Ален Буссер |
изначальный выпуск | 28 октября 2006 г. |
Стабильный выпуск | 4.3.0 / 5 января 2019 г. |
Репозиторий | никто |
Написано в | Ява |
Платформа | Ява |
Тип | Программное обеспечение для интерактивной геометрии |
Лицензия | Стандартная общественная лицензия GNU |
Интернет сайт | carmetal.org |
Карметалл является интерактивная геометрия программа, унаследовавшая Машина. двигатель. Программное обеспечение было создано Эриком Хакенхольцем в Ява. CaRMetal бесплатно, под GNU GPL лицензия. Он сохраняет определенную функциональность C.a.R. но использует другой графический интерфейс, который якобы исключает некоторые промежуточные диалоги и обеспечивает прямой доступ к многочисленным эффектам. Конструкции выполняются с использованием основной палитры, которая содержит некоторые полезные ярлыки для построения в дополнение к стандартным инструментам компаса и линейки. К ним относятся серединный перпендикуляр, окружность через три точки, описанная дуга через три точки и коническое сечение через пять точек. Также интересны локусы, функции, параметрические кривые и неявные графики. Толщина элемента, цвет, метка и другие атрибуты (включая так называемые магнитный свойство) можно задать с помощью отдельной панели.
CaRMetal также поддерживает настраиваемую ограниченную конструкцию палитры и имеет возможности назначения, которые используют явно уникальную функцию, называемую Обезьяна. CaRMetal имеет скриптовый язык (JavaScript ), что позволяет пользователю строить довольно сложные фигуры, такие как фракталы. CaRMetal имеет несколько языков, включая французский, английский, испанский, немецкий, итальянский, голландский, португальский и арабский языки.
Дидактический интерес
Ожидание
Когда кто-то выбирает инструмент, например, параллель с линией, проходящей через точку, или круг, предполагаемый объект отображается желтым цветом и следует за движениями мыши. Это позволяет пользователю строить догадки еще до завершения строительства. Это постоянное взаимодействие между учеником и объектом эксперимента находится в фазе с современными теориями о дидактика и, с этой точки зрения, CaRMetal предназначен для использования ученики.
Амодальность
Окна, которые показывают историю, палитру инструментов, свойства выбранного объекта, расположены вокруг фигуры, но никогда над ней. Эти окна не модальные окна в том смысле, что они никогда не скрывают конструкции. Например, всякий раз, когда пользователь хочет изменить цвет многоугольника, он сразу видит новый цвет.
Трансформации
Когда преобразование (например, макрос ) был определен таким образом, что он преобразует точки в точки, это преобразование также может применяться к кривым. Еще раз, это позволяет обучаемому сразу увидеть свойства преобразования, даже до того, как преобразование было фактически применено.
Задания
Книги (см. Ниже) можно экспортировать как html файлы с ограниченной палитрой инструментов (например, оставив только инструменты пересечения и круга, ученик может строить только компас). Для создания задания учитель выбирает исходные объекты, объекты, которые должен создать ученик, и пишет текст, объясняющий, что нужно сделать. С 2010 года, когда ученик закончил конструкцию и хочет ее проверить, проверяются случайные варианты (с помощью инструмента под названием Обезьяна), и ученику приписывается оценка качества (фактически, процент хороших построений среди вариантов).
Макросы
Макросы могут быть организованы в иерархию папок, что упрощает преобразование CaRMetal в инструмент, позволяющий исследовать неевклидову геометрию.
Особые возможности
Рабочие тетради
С 2010 года CaRMetal использует систему папок, позволяющую помещать несколько фигур в одну папку, которая называется «рабочая тетрадь». Легко перемещаться между листами книги, дублировать лист (или рисунок), объединять несколько книг в одну. CaRMetal позволяет включать в рисунок файлы изображений и файлы JavaScript. Расширение файла рисунка зир как в Машина. (кстати, между обоими программами большая совместимость), а файловая структура - это метаописание рисунка в XML язык. Но книга сохраняется в виде заархивированной папки, содержащей все зир цифры, плюс прилагаемые картинки (Гифка, JPEG или PNG ) и предпочтения файл.
Цифровой дисплей
Можно преобразовать любую числовую меру рисунка в текст для отображения. Например, если длина сегмента s1 составляет 4,5 единицы, запись
"Длина сегмента% s1%"
создает строку символов, которая отображается как Длина отрезка 4,5. Эта строка символов может быть включена в рисунок, но также установлена как псевдоним объекта (например s1) или имя выражения. Конечно, когда один из концов сегмента перемещается с помощью мыши, текст редактируется в реальном времени. Это называется динамическим текстом.
CaRMetal использует HotEqn и JLatexMath которые Латекс парсеры, и можно писать формулы LaTeX внутри текстовых объектов. Например, если poly1 является квадратом, и нужно найти круг, площадь которого такая же, как у квадрата, можно построить текстовое выражение, подобное этому:
"Радиус круга будет $ sqrt { frac {% poly1%} { pi}} simeq% sqrt (poly1 / pi)% $"
Это может дать такой текст:
Сила этой функции заключается в том, что можно смешивать динамические тексты с формулами LaTeX, получая динамический LaTeX(при изменении размера квадрата меняется и отображение)!
3D
CaRMetal позволяет пользователю устанавливать некоторые свойства объектов, такие как их цвет или то, видны они или нет, как условный. Также каждый объект может иметь номер слоя. Важным применением этих функций было 2.5D режим CaRMetal, имитирующий 3D геометрию. Начиная с версии 4.0 CaRMetal имеет настоящий 3D-режим, в котором есть правильный тетраэдр, а куб, а алмаз и правильный додекаэдр. Также возможно привязать точку к внутренней части (3D) круга или многоугольника. Эта функция, унаследованная от Машина., основывается на барицентрические координаты. Начиная с версии 4.1 CaRMetal допускает некоторую графику черепах (запрограммированную на JavaScript) либо в 2D, либо в 3D.
Магнетизм
Точку можно сделать магнитный с расстоянием и списком объектов, к которым она привлекается всякий раз, когда точка достаточно близко к одному или нескольким из этих объектов (достаточно близко означает, что расстояние между ними меньше минимального расстояния, которое является свойством точки и измеряется в пиксель единицы). Например, когда точка притягивается к конечному набору точек, которые сами фиксированы, она может исследовать конечная геометрия.
Сеть
С 2013 года появилась возможность запускать одну фигурку CaRMetal как сервер (обычно учительскую) и несколько как клиентов. Следовательно, возможно
- отправить фигурку на сервер
- для сервера, чтобы отправить правильную цифру ученику, который потерял свой или не может создать его в запрошенное время
- собирать данные, геометрические или нет, в пределах одной фигуры (серверной)
- манипулировать одной и той же фигурой одновременно, для нескольких людей, которые Поделиться их работа
- для отправки и получения программ JavaScript (см. ниже)
- общаться в чате с общей фигурой ...
JavaScript внутри CaRMetal
Инструмент-скрипт смешивает алгоритмика и геометрия. Такие инструменты сценариев существуют также в DrGeo, Киг и Золушка (программное обеспечение). Чтобы запустить сценарий, нужно щелкнуть значок, представляющий светофор. Скрипт может быть прикреплен к одной или нескольким точкам, так что любое движение одной из этих точек запускает скрипт. Это позволяет обратная кинематика очень похоже на GeoLicia.
Переменные
Чтобы создать геометрический объект в JavaScript достаточно щелкнуть значок, представляющий объект. В редакторе появится инструкция JavaScript с предопределенными параметрами. В этом случае пользователю остается только отредактировать их, и ему не нужно использовать мнемотехника. Но когда создается геометрический объект, переменная, вызывающая процедуру, на самом деле строка символов, содержащий имя объекта.
Например,
а=Точка(2,3);
создает точку, обычно называемую P1 и переменная а содержит строку «P1». Это позволяет ссылаться на точку по ее имени. Координаты точки инициализированы, но точка все еще может перемещаться с помощью мыши. Также возможно создать точку в процедурное программирование с
Точка("А",2,3);
В этом случае имя точки - «A» (если уже не существует объекта с именем «A»), и никакая переменная не установлена для имени «A».
Ввод, вывод
Вывести переменную можно четырьмя способами:
- Создайте выражение внутри фигуры (или отобразите с графическим средним значением, например гистограммой);
- Распечатать который открывает новое окно и печатает в нем содержимое переменной;
- Println который тоже идет в линию;
- Предупреждение который открывает окно предупреждения, которое закрывается, как только пользователь щелкает по ОК.
Для ввода переменной есть
- Вход (вы делаете ставку!), который открывает окно ввода (с текстом) и ждет щелчка по ОК
- InteractiveInput который позволяет пользователю выбрать объект на рисунке
Этот парадигма рассматривает переменные программы не обязательно как числовые или строковые переменные, но также могут воздействовать на графические объекты. Это общая черта с Киг (но в этом случае язык Python (язык) ) и DrGeo (в данном случае с Схема (язык) ).
Струны
Также можно задать координаты точки как строки символов написано на языке CaRMetal. Например, чтобы иметь точку B который следует А за исключением того, что координаты B являются целыми числами (для моделирования гауссовское целое число ) можно написать
а=Точка("2.72","3.14");б=Точка("круглый (x_a)","круглый (y_a)");
Петли
Например, Треугольник Серпинского может быть построен как система повторяющихся функций с этим рекурсивным скриптом, который довольно короткий из-за уже доступных графических инструкций, таких как MidPoint:
а=Точка(-4,-2);б=Точка(4,-2);c=Точка(0,4);м=Точка(Математика.случайный(),Математика.случайный());УстановитьСкрыть(м,правда);за(п=0;п<2000;п++){ игральная кость=Математика.потолок(Математика.случайный()*3); // Трехгранный кубик! переключатель(игральная кость){ кейс 1: {п=MidPoint(а,м); перемена; } кейс 2: {п=MidPoint(б,м); перемена; } кейс 3: {п=MidPoint(c,м); перемена; } } SetPointType(п,"точка"); м=п;}
После того, как облако точек было построено (и даже пока скрипт еще работает!), Можно сделать А, B и C перемещаться с помощью мыши (или автоматически с помощью Обезьяна): Треугольник динамичный!
Объекты JavaScript
CaRMetal также может использовать такие объекты JavaScript, как
- массивы, полезно сделать статистика на геометрических фигурах;
- объект даты, полезный для измерения времени;
- Строка и RegExp объекты, которые позволяют легко реализовать L-системы;
- Общие объекты JavaScript могут использоваться для создания новых геометрических объектов, например сложные числа, матрицы и т. д. Это объектно-ориентированного программирования работает очень похоже Киг с Python скрипты, но на сегодняшний день, похоже, никто ничего не опубликовал с их помощью.
Смотрите также
Рекомендации
- Vers des spécifications formelles: Fondements Mathématiques et Informatiques pour la Géométrie Dynamique, Бернар Женевес (доктор философии) PDF
- Буссер Ален. TP с использованием JavaScript и CaRMetal. Bulletin de l’APMEP, 487 (2010), стр. 191–199.
- Буссер Ален. Un an d’algorithmique avec CaRMetal en Seconde. MathémaTICE, 21 (2010) (онлайн-статья: [1] )
- Мартин Ив. Алгоритм и интеграция инструментов. Repères IREM, 79 (2010), стр. 5-22.
- Мартин Ив. Géométrie repérée Dynamique: une autre voie vers l’algébrisation? MathémaTICE, 20 (2010) (доступно на сайте: [2] )
- Мартин Ив. Quand la géométrie Dynamique Rencontre la Programming. В Actes du colloque «Les mathématiciens et l’enseignement de leur дисциплины во Франции» (CIRM, Марсель / Люмины, 15-19 марта 2010 г.) (видео онлайн: [3] )
- Мартин Ив. CaRMetal, une géométrie Dynamique enrichie. Выражения, 35 (2010), стр. 165–272 PDF
внешняя ссылка
- текущий веб-сайт CaRMetal (здесь находятся последние версии, в основном на французском и испанском языках)
- старый сайт CaRMetal (до версии 3.8.2, но с большим количеством объяснений на английском языке, большая часть которых, похоже, остается действительной)
- видеоролики, показывающие усеченную сеть икосаэдра, развернутую и динамически созданную с помощью JavaScript под CaRMetal