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

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

Оффлайн T4r4sB

  • Постоялец
  • ***
  • Сообщений: 211
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #60 : 19 декабря 2023, 17:24:47 »
Попытался скачать на работу, ссылка с метро.су не работает. С огромным трудом нашёл гитхаб (хотя ссылки на него должны быть самыми первыми во всех первых постах): https://github.com/BMouradov/pCubes

Почемуто до сих пор екзешник лежит в репе а не в релизах.
И там почти нет никаких фигур , только 4 вида куба
Где теперь лежит рабочая версия с библиотекой фигур?

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 259
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #61 : 19 декабря 2023, 18:48:04 »
все немного сложно. но как есть:

основная тема с описанием всей движухи тут: https://twistypuzzles.com/forum/viewtopic.php?t=27054

но в шапке нет всех ссылок. надо идти на последние страницы и искать последний релиз от Boris
там то и найдём то что надо: https://twistypuzzles.com/forum/viewtopic.php?p=426301#p426301

прямые ссылки: http://pmetro.su/pCubes.zip или http://pmetro.chpeks.com/pCubes.zip (вторая как раз рабочая)
гит: https://github.com/BMouradov/pCubes

Оффлайн T4r4sB

  • Постоялец
  • ***
  • Сообщений: 211
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #62 : 19 декабря 2023, 18:54:28 »
http://pmetro.chpeks.com/pCubes.zip (вторая как раз рабочая)
гит: https://github.com/BMouradov/pCubes
Спасибо, вторая спасла
Почему Борис не хочет освоить выкладывание релизов? Вроде ж несложно.
Правла последнее время гитхаб переусложнил доступ какими-то поехавшими хипстерскими двухFUCKторными аутодефекациями и кретиниалами. Сорян, не могу эту секьюрную шизу без мата описывать

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 259
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #63 : 20 декабря 2023, 09:14:47 »
Я ему объяснял... но пока как есть.
сам не въехал во все фишки Гита. ну когда-нибудь освою

Оффлайн T4r4sB

  • Постоялец
  • ***
  • Сообщений: 211
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #64 : 27 января 2024, 16:15:21 »
Не нашёл в каталоге PuppetCube. А pCubes умеет внешние бандажи хотя бы обходным путём?

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 259
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #65 : 28 января 2024, 18:17:18 »
навесы там не возможны к сожалению...
под андроид один симулятор умеет

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #66 : 09 августа 2024, 15:19:45 »
Привет.

Есть вопрос по pCubes:
Даны координаты трёх точек, то есть они на плоскости сечения.
Есть написанное что-то уже, чтобы сделать Split или Cute по их координатам?

Извините, подзабыл многое, понимаю что от центра вписанной окружности надо начинать, то есть центр осей туда переносим, вычисляем до этого нормаль к плоскости и выполняем например Split. Потом центр осей возвращаем.
Но что-то туго пока пишется, навыки чуток потеряны, а может вообще не так всё надо делать?


Спасибо, удачи.

P.S. Может ещё сложнее вопрос задам сразу.
Есть 4 точки не лежащие на прямой плоскости, понятно тогда, что существует 4 плоскости, проходящие через 3 из них.
Если эти плоскости являются плоскостями разреза, то захотелось это использовать в скрипте.
Кто-то уже пробовал для своих скриптов решить эту задачу?

P.P.S. Кажется понял. Не хватает данных в задаче. Получится некий хаос при нарезке всеми плоскостями...

P.P.P.S. Понятно теперь стало. Надо резать только двумя плоскостями из 4 возможных, теми, что ближе к поверхности фигуры. Вот что я забыл, блин.

Извините за бред, просто ступор пятничный. Организм требует отдыха.  ;D
« Последнее редактирование: 09 августа 2024, 16:09:19 от myth »

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #67 : 09 августа 2024, 15:56:06 »
Привет.

Решил чуть попробовать, вспомнить это делается, написать скрипт.
Не тороид, но похоже. Модификация 3х3х3.

<?xml version = "1.0" encoding = "UTF-8"?><xml Data_Version = "2" ><Interface>
<Name>Cylinder Cube v4</Name>
<Programmer>Виктор Шугаров</Programmer>
<Added>2024-08-07</Added>
</Interface>
<Script>
clRed    := 'C80000';
clOrange := 'FF800A';
clGreen  := '009600';
clBlue   := '0000C8';
clYellow := 'FFFF00';
R := 0.5;
H := 0.5;
D := R / 3;
Sq := sqrt(2)/2+0.15;
D1 := D+0.1;
</Script>
<Axes TurningAngles = "Pi / 2" PlaneDistances = "-D1; D1" TurnAxesWithLayer = "1" >
<Axis NormVector = "1; 0; 0" />
<Axis NormVector = "0; 1; 0" />
<Axis NormVector = "0; 0; 1" />
</Axes>
<Figure>
<Cylinder Radius = "R" Color = "clRed" >
<Base X = "0" Y = "0-2*H-H*Sq" Z = "0-2*H+H*Sq" />
<Top  X = "0" Y = "0+2*H-H*Sq" Z = "0+2*H+H*Sq" />
</Cylinder>
<Split><Plane NormVector = " 0; 1; 0" NormDistance = "0" /></Split>
<Split><Plane NormVector = " 0; 0; D" NormDistance = "0" /></Split>
<HideContaining Vector = "-0.001;-0.001; D"/>
<RemoveAllVisible/>
<Cylinder Radius = "R" Color = "clBlue " >
<Base X = "0" Y = "0+2*H+H*Sq" Z = " 0-2*H+H*Sq" />
<Top  X = "0" Y = "0-2*H+H*Sq" Z = " 0+2*H+H*Sq" />
</Cylinder>
<Split><Plane NormVector = " 0; 1; 0" NormDistance = "0" /></Split>
<Split><Plane NormVector = " 0; 0; D" NormDistance = "0" /></Split>
<HideContaining Vector = " 0.001; 0.001; D"/>
<RemoveAllVisible/>
<Cylinder Radius = "R" Color = "clGreen " >
<Base X = "0" Y = "0-2*H+H*Sq" Z = "0-2*H-H*Sq" />
<Top  X = "0" Y = "0+2*H+H*Sq" Z = "0+2*H-H*Sq" />
</Cylinder>
<Split><Plane NormVector = " 0; 1; 0" NormDistance = "0" /></Split>
<Split><Plane NormVector = " 0; 0; D" NormDistance = "0" /></Split>
<HideContaining Vector = " 0.001; 0.001;-D"/>
<RemoveAllVisible/>
<Cylinder Radius = "R" Color = "clYellow" >
<Base X = "0" Y = "0+2*H-H*Sq" Z = "0-2*H-H*Sq" />
<Top  X = "0" Y = "0-2*H-H*Sq" Z = "0+2*H-H*Sq" />
</Cylinder>
<Split><Plane NormVector = " 0; 1; 0" NormDistance = "0" /></Split>
<Split><Plane NormVector = " 0; 0; D" NormDistance = "0" /></Split>
<HideContaining Vector = "-0.001;-0.001;-D"/>
<RemoveAllVisible/>
<ShowAll/>
<SplitByAxes/>
<SaveSolvedState/>
</Figure>
<Procedures CheckSolved = "CheckSavedStates" />
</xml>

Извините, код мусорный, начиналось совсем с другого пазла, но не стыдно почти.  ;)

P.S. Начинал с тела Штейнмеца (пересечение двух цилиндров), потом чуть изменил код, раздвинул цилиндры до появления отверстия между ними и применил для 3х3х3.


Спасибо, удачи.
« Последнее редактирование: 13 августа 2024, 16:23:58 от myth »

Оффлайн grigr

  • Глобальный модератор
  • *****
  • Сообщений: 5 259
  • Пол: Мужской
  • кручу-верчу
    • Мой Магазин
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #68 : 09 августа 2024, 16:16:14 »
Привет... я же забыл все как там кодить ((( а остальные врядли тут подскажут.
лучше писать на форуме тр.сом или напрямую Борису

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #69 : 09 августа 2024, 16:32:43 »
Привет... я же забыл все как там кодить ((( а остальные врядли тут подскажут.
лучше писать на форуме тр.сом или напрямую Борису

Спасибо, но уже нашёл свои "грубые"ошибки. Надо было смоделировать "на пальцах", сразу понимание пришло. :-)
И с нормалью проще тоже, не надо центр окружности вписанной какой-то искать, любая точка в вершине треугольника на время становится центром осей для разреза последующего. Не надо лишнее вычислять при этом, точнее меньше кажется считать надо.
Торможу жутко что-то сегодня, на работе же. :-)

Спасибо, удачи.
« Последнее редактирование: 09 августа 2024, 16:39:42 от myth »

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #70 : 09 августа 2024, 16:46:47 »
Привет.
............
P.S. Начинал с тела Штейнмеца (пересечение двух цилиндров), потом чуть изменил код, раздвинул цилиндры до появления отверстия между ними и применил для 3х3х3.
......

О, забыл проверить что будет, если цилиндры сильнее внутрь "сдавить", углы станут острее - это понятно. Но кажется эллипс (разрез посередине тела этого) может стать окружностью, будет симметрия тогда.
Поработаю с понедельника над этим, чтобы у пазла не вылезала серость наружу, не было видно его внутреннего мира.  :D


Спасибо, удачи.

P.S. Поясню про цилиндры.
При создании фигуры было использовано 4 цилиндра. Их обрезали на вершине и основании под 45 и сложили в эти разные фигуры.
Было лень переделывать, зачем-то использую split, когда надо было просто делать cute.
Можно и split, но не надо было скрывать какие-то элементы, а разместить все 4 с нарезкой где надо и потом уже их скрыть, удалить мусор и отобразить.

P.P.S. Если понять как происходит переход из тела Штейнмеца  в тороид, то можно ещё вариант интересный предсказать. Есть промежуточный вариант, когда "угол" превращается в впуклость с дальнейшим переходом в отверстие. В этом месте будет "плоско".
Попробую смоделировать, но это не точно.
« Последнее редактирование: 13 августа 2024, 16:21:46 от myth »

Оффлайн T4r4sB

  • Постоялец
  • ***
  • Сообщений: 211
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #71 : 09 августа 2024, 17:43:10 »
Привет.

Есть вопрос по pCubes:
Даны координаты трёх точек, то есть они на плоскости сечения.
Есть написанное что-то уже, чтобы сделать Split или Cute по их координатам?


Нет, нужен вектор нормали и расстояние от начала координат
Для трех точек (A, B, C) вектор нормали N это cross(B-A, C-A).normalize(), а расстояние до начала коордиеат это dot(A, N).

Dot и cross это скалярное и векторное произведения

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #72 : 09 августа 2024, 17:56:06 »
Привет.

Есть вопрос по pCubes:
Даны координаты трёх точек, то есть они на плоскости сечения.
Есть написанное что-то уже, чтобы сделать Split или Cute по их координатам?


Нет, нужен вектор нормали и расстояние от начала координат
Для трех точек (A, B, C) вектор нормали N это cross(B-A, C-A).normalize(), а расстояние до начала коордиеат это dot(A, N).

Dot и cross это скалярное и векторное произведения

Как много я не знал. Спасибо!

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #73 : 12 августа 2024, 09:48:22 »
.............
P.P.S. Если понять как происходит переход из тела Штейнмеца  в тороид, то можно ещё вариант интересный предсказать. Есть промежуточный вариант, когда "угол" превращается в впуклость с дальнейшим переходом в отверстие. В этом месте будет "плоско".
Попробую смоделировать, но это не точно.

Привет.

Это была ошибка - это тело Штейнмеца  и есть тот самый "промежуточный вариант".
По сути мозг был обманут наличием линий на рисунке. А ведь в вершине эти линиии гладкие, а в сечении тела это правильные окружности.
Говорил же, что пятница не лучший день думать.  ;D

Оффлайн myth

  • Постоялец
  • ***
  • Сообщений: 107
  • Пол: Мужской
  • ---я вернулся?---
Re: pCubes - продвинутый симулятор Twisty Puzzles
« Ответ #74 : 12 августа 2024, 11:40:19 »
Привет.

В pCubes появился новый пазл: Pentahedron 5-layers.xml
Спасибо Борису, порадовал, пытаюсь что-то понять.
Просто недавно мы пытались сделать этот пазл, почти получилось, но "глючно" как-то.
Но и у нас кривизна была по бокам одинаковая, а тут к центру растёт. Красота!

Вот про что говорю, цитата:
PH := 0.6; // horizontal pillow
PV := 0.9; // vertical pillow

Мне пока далеко так, не помогает изучение чужого кода. Надо ещё "1000 пуговиц пришить".  ;D

Спасибо, удачи.