Grasshopper — графический алгоритмический редактор для создания параметрических моделей, интегрированный в среду трехмерного моделирования Rhino. Разработанный как визуальный язык программирования, он позволяет пользователям собирать алгоритмы из взаимосвязанных компонентов, представляющих данные и операции, без прямого написания текстового кода. Интерфейс Grasshopper ориентирован на узловую схему: компоненты подключаются каналами, по которым передаются значения геометрии, чисел, булевых флагов и структурированных данных.
Среда широко используется в архитектуре, промышленном дизайне, городском моделировании и цифровом изготовлении для решения задач, связанных с аналитикой формы, генеративным дизайном и автоматизацией повторяющихся операций моделирования. Пользователи могут задавать параметры, связывать их с геометрией Rhino и динамически изменять результаты, что облегчает экспериментирование и оптимизацию форм. Система поддерживает расширение через плагины и пользовательские компоненты, что позволяет интегрировать дополнительные алгоритмы, анализы и выходы для производства.
- Визуальное программирование: создание алгоритмов путем соединения графических блоков, представляющих операции и данные.
 - Параметрическое моделирование: управление геометрией через изменяемые параметры для интерактивного исследования вариантов.
 - Интеграция с Rhino: двунаправленное взаимодействие с моделью Rhino, импорт и экспорт геометрии в рабочую сцену.
 - Широкая библиотека компонентов: операции над кривыми, поверхностями, мешами, трансформации, математика и логика.
 - Поддержка данных высокой сложности: вложенные структуры данных (деревья данных) для управления множественными наборами элементов.
 - Плагин-архитектура: возможность расширения функциональности через сторонние модули и скрипты на Python, C# и VB.NET.
 - Аналитические инструменты: интеграция с расчетными и симуляционными надстройками для освещенности, аэродинамики и структурного анализа.
 - Генерация выходов для производства: подготовка данных для ЧПУ, лазерной резки, 3D-печати и цифрового производства.
 - Визуализация и отладка: динамическое отображение промежуточных результатов, вкладки для просмотра данных и параметров компонентов.
 - Совместная работа и обмен: возможность сохранения скриптов и шаблонов для коллективного использования и повторного применения рабочих процессов.