Jump to content

КарМеталл

КарМеталл
Оригинальный автор(ы) Эрик Хакенхольц
Разработчик(и) Эрик Хакенхольц, Патрис Дебрабан, Пьер-Марк Маза, Ален Бюссер
Первоначальный выпуск 28 октября 2006 г. ( 28.10.2006 )
Стабильная версия
4.3 / 11 сентября 2020 г .; 3 года назад ( 11.09.2020 )
Репозиторий никто Отредактируйте это в Викиданных
Написано в Ява
Платформа Ява
Тип Программное обеспечение для интерактивной геометрии
Лицензия Стандартная общественная лицензия GNU
Веб-сайт https://carmetal.en.uptodown.com/windows

CaRMetal — это программа интерактивной геометрии , унаследовавшая движок CaR . Программное обеспечение было создано Эриком Хакенхольцем на языке Java . CaRMetal бесплатен под лицензией GNU GPL . Он сохраняет часть функциональности CaR, но использует другой графический интерфейс, который якобы устраняет некоторые промежуточные диалоги и обеспечивает прямой доступ к многочисленным эффектам. Построения выполняются с использованием основной палитры, которая содержит несколько полезных ярлыков построения в дополнение к стандартным инструментам циркуля и линейки. К ним относятся серединный перпендикуляр, окружность, проходящая через три точки, дуга окружности, проходящая через три точки, и коническое сечение через пять точек. Также интересны локусы, функции, параметрические кривые и неявные графики. Толщину элемента, цвет, метку и другие атрибуты (в том числе так называемое магнитное свойство) можно задать с помощью отдельной панели.

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

Дидактический интерес

[ редактировать ]

Ожидание

[ редактировать ]
Когда строится параллельная линия, она следует за мышью, что позволяет легко высказывать предположения, даже когда фигура еще строится.

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

Амодальность

[ редактировать ]

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

Преобразования

[ редактировать ]

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

кнопка «Обезьянка»

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

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

Специальные возможности

[ редактировать ]

Рабочие тетради

[ редактировать ]

С 2010 года CaRMetal использует систему папок, позволяющую поместить несколько фигур в одну папку, называемую «рабочая тетрадь». Легко перемещаться между листами книги, дублировать лист (или рисунок), объединять несколько книг в одну. CaRMetal позволяет включать в рисунок файлы изображений и файлы JavaScript. Расширение файла рисунка — zir, как в CaR (кстати, между обоими программами существует большая совместимость), а структура файла представляет собой метаописание рисунка на языке XML . Но книга сохраняется как заархивированная папка, содержащая все фигуры zir , а также включенные изображения ( GIF , JPEG или PNG ) и файл настроек .

Числовой дисплей

[ редактировать ]
Пример матрицы , которую можно изменять в реальном времени с помощью крайних векторов и отображать с помощью LaTeX .

Любую числовую величину фигуры можно преобразовать в текст для целей отображения. Например, если длина сегмента с именем «s1» составляет 4,5 единицы, напишите

"The length of the segment is %s1%"

создает строку символов, которая отображается как Длина сегмента 4,5 . Эту строку символов можно включить в рисунок, а также установить как псевдоним объекта (например, s1 ) или имя выражения. Конечно, когда один из концов сегмента перемещается с помощью мыши, текст редактируется в реальном времени. Это называется динамическим текстом.

CaRMetal использует HotEqn и JLatexMath , которые являются анализаторами LaTeX , и внутри текстовых объектов можно писать формулы LaTeX. Например, если поли1 — это квадрат и нужно найти круг, площадь которого равна площади квадрата, можно построить такое текстовое выражение:

"The radius of the circle would be $\sqrt{\frac{%poly1%}{\pi}}\simeq %sqrt(poly1/pi)%$"

Это может дать такой текст:

Сила этой функции заключается в том, что можно смешивать динамические тексты с формулами LaTeX, получая динамический LaTeX (при изменении размера квадрата меняется и отображение)!

додекаэдр можно вращать мышкой

CaRMetal позволяет пользователю устанавливать некоторые свойства объектов, такие как их цвет или тот факт, что они видимы или нет, как условные . Также каждый объект может иметь номер слоя. Важным применением этих функций стал режим 2.5D CaRMetal, имитирующий 3D-геометрию. Начиная с версии 4.0 CaRMetal имеет настоящий 3D-режим, в котором отображаются правильный тетраэдр , куб , ромб и правильный додекаэдр . Также возможно привязать точку к внутренней части (3D) круга или многоугольника. Эта функция, унаследованная от CaR , основана на барицентрических координатах . Начиная с версии 4.1, CaRMetal допускает некоторую черепаховую графику (запрограммированную на JavaScript) как в 2D, так и в 3D.

Магнетизм

[ редактировать ]

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

С 2013 года появилась возможность запускать одну фигурку CaRMetal в качестве сервера (обычно учителя) и несколько в качестве клиентов. Следовательно, возможно

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

JavaScript внутри CaRMetal

[ редактировать ]

Инструмент-скрипт смешивает алгоритмику и геометрию . Подобные инструменты сценариев существуют также в DrGeo , Kig и Cinderella (программное обеспечение) . Чтобы запустить скрипт, нужно щелкнуть значок, изображающий светофор . Скрипт может быть привязан к одной или нескольким точкам, чтобы любое перемещение одной из этих точек запускало скрипт. Это позволяет реализовать некоторую инверсную кинематику, очень похожую на GeoLicia .

Переменные

[ редактировать ]

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

Например,

a=Point(2,3);

создает точку, обычно называемую P1 , а переменная a содержит строку «P1». Это позволяет обращаться к точке по ее имени. Координаты точки инициализируются, но точка по-прежнему может перемещаться с помощью мыши. Также возможно создать точку в процедурном программировании с помощью

Point("A",2,3);

В этом случае имя точки — «A» (если уже не существует объекта с именем «A»), и для имени «A» не задано никакой переменной.

Ввод-вывод

[ редактировать ]

Вывести переменную можно четырьмя способами:

  1. Создайте выражение внутри фигуры (или отобразите ее с помощью графического средства, например гистограммы);
  2. Print — открывает новое окно и печатает в нем содержимое переменной;
  3. Println, который также идет в строку;
  4. Оповещение , которое открывает окно оповещения, которое закрывается, как только пользователь нажимает «ОК» .

Чтобы ввести переменную, есть

  1. Ввод (вероятно!), который открывает окно ввода (с текстом) и ждет нажатия ОК.
  2. InteractiveInput, который позволяет пользователю выбирать объект на рисунке.

Эта парадигма рассматривает переменные программы не обязательно как числовые или строковые переменные, но также могут действовать и на графические объекты. Это общая черта с Kig (но в данном случае языком является Python (язык) ) и DrGeo (в данном случае со Scheme (язык) ).

Также возможно задать координаты точки в виде строк символов, написанных на языке CaRMetal. Например, чтобы иметь точку B , которая следует за A, за исключением того, что координаты B являются целыми числами (для моделирования целого числа по Гауссу ), можно написать

a=Point("2.72","3.14");
b=Point("round(x_a)","round(y_a)");

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

a=Point(-4,-2);
b=Point(4,-2);
c=Point(0,4);
m=Point(Math.random(),Math.random());
SetHide(m,true);
for(n=0;n<2000;n++){
	dice=Math.ceil(Math.random()*3);          //A 3-faces dice!
	switch(dice){
		case 1: {p=MidPoint(a,m); break;
		}
		case 2: {p=MidPoint(b,m); break;
		}
		case 3: {p=MidPoint(c,m); break;
		}
	}
	SetPointType(p,"point");
	m=p;
}

После того, как облако точек создано (и даже пока скрипт еще работает!), можно заставить A , B и C перемещаться с помощью мыши (или автоматически с помощью Обезьяны ): Треугольник является динамическим !

Объекты JavaScript

[ редактировать ]

CaRMetal также может использовать объекты JavaScript, такие как

  1. массивы, полезные для статистики геометрических фигур;
  2. объект даты, полезный для измерения времени;
  3. Объекты String и RegExp , упрощающие реализацию L-систем ;
  4. Общие объекты JavaScript можно использовать для создания новых геометрических объектов, таких как числа , матрицы и т. д. Это объектно-ориентированное программирование во многом похоже на Кига сценарии Python комплексные , но на сегодняшний день, похоже, никто ничего не публиковал с его использованием.

См. также

[ редактировать ]
  • К формальным спецификациям: Основы математики и информатики для динамической геометрии, Бернар Женевес (доктор философии) PDF
  • Бюссер Ален. ТП под JavaScript с CaRMetal. Бюллетень APMEP, 487 (2010), с. 191-199.
  • Бюссер Ален. Один год изучения алгоритмики с CaRMetal в средней школе. MathémaTICE, 21 (2010) (онлайн-статья: [1] )
  • Мартин Ив. Алгоритма и интеграция инструментов. Контрольные показатели IREM, 79 (2010), с. 5-22.
  • Мартин Ив. Динамическая размеченная геометрия: еще один путь к алгебраизации? MathémaTICE, 20 (2010) (доступно онлайн: [2] )
  • Мартин Ив. Когда динамическая геометрия встречается с программированием. В материалах конференции «Математики и преподавание их дисциплин во Франции» ( CIRM , Марсель/Люмини, 15-19 марта 2010 г.) (видео онлайн: [3] )
  • Мартин Ив. CaRMetal, улучшенная динамическая геометрия. Выражения, 35 (2010), с. 165-272 PDF
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 85b3436bc2bd6a85f587f1f8cf3862f7__1673132820
URL1:https://arc.ask3.ru/arc/aa/85/f7/85b3436bc2bd6a85f587f1f8cf3862f7.html
Заголовок, (Title) документа по адресу, URL1:
CaRMetal - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)