Автор Тема: pCubes - продвинутый симулятор Twisty Puzzles  (Прочитано 1270 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 2 655
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #45 : 15 Января 2017, 12:48:32 »
давно хотел показать процесс создания скрипта... понятное дело я не охвачу многих нюансов - но основу покажу
для примера покажу создание с нуля формы и задание всех составляющих головоломки.

1) за основу возьмем: Skiamond - Ryan Binter
http://twistypuzzles.com/cgi-bin/puzzle.cgi?pkey=2736


2) Данную форму можно найти в онлайн каталоге:
http://dmccooey.com/polyhedra/Catalan.html

Rhombic Triacontahedron - 30  rhombi граней
http://dmccooey.com/polyhedra/RhombicTriacontahedron.html


3) Внизу найдем кнопку "Coordinates" и нажмем ее. Там найдем все что нужно для скрипта ;)
базовые константы, описание вершин и граней


4) Откроем в текст-редакторе файл Шаблона, или создадим его самостоятельно


5) Зададим Шапку файла с описанием головоломки


6) И приступаем перенос всех параметров с сайта заполняя все по образцу в шаблоне


7) Сначала перенесем все константы (учтите синтаксис скрипта pCubes отличается)


8) Перенесем координаты всех вершин


9) Перенесем параметры всех Граней


10) теперь можно загрузить в симуляторе наше тело и посмотреть что получилось


11) И секции с константами проставляем в параметрах граней их цвета


12) Любуемся ;)


13) Задаем по шаблону нужные вершины которые будут вращаться (координаты находим в секции с вершинами)
подбираем вручную отступ от центра головоломки - параметр D, задаем углы поворота 120гр (2*pi/3)


14) вот что мы получаем. почти все готово!


15) Не хватает только углов для jumble-поворотов! чтобы их не считать самостоятельно,
вспомним что в описании было сказано что они такие же как у головоломки Pentagram


16) Найдем готовый скрипт для Pentagram и берем значения угла поворота оттуда


17) Переносим углы в наш скрипт и получаем полностью готовую новую головоломку ;)


18) А теперь попробуйте это решить ;) Удачи!