Головоломки > Конструирование и модификация головоломок

Куб с вращающимися ребрами, но не вертолет

(1/2) > >>

T4r4sB:
Пришлось сильно искривить этот куб, чтоб центры попали ровно на середину ребер
Не думал, что шейпмоды меня когда-то снова заинтересуют, но его я быстро смоделировал и на компе показалось очень прикольно. Решил напечатать


Размер хз как мерять, но между соседними вершинами что-то типа 52 миллиметров, он довольно компактный

Вместо жёлтого - прозрачный, чтоб соригинальничать. Мб жёлтый лучше бы смотрелся, не знаю...


А ещё это мой первый опыт цветного куба без наклеек и плиток. Углы пришлось делать из 3 частей (ну и пары крепежных элементов между ними)




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



Из такого положения его почти нереально провернуть, потому что не за что хвататься. Звучит как идея для бандажа но хз как реализовать технически


Запутанный он такой:

grigr:
Чудная штучка )))) долго не мог понять что за фигня, потом дошло что это Киломинкс в очень необычной форме!!!
красивое ))) хотя выглядит как расплавленный кубик !

T4r4sB:
Спасибо) да, это киломинкс. Так-то шейпмодов типа "мегаминкс/киломинкс в кубе" дофига, но ни у одного нет центров в серединах ребер

grigr:
мне нравится! классно вышло )))

T4r4sB:
Не могу не вбросить по поводу традиционных систем моделирования

Вот например, форма граней задаётся седловой функцией по типу z=x2-y2:


--- Код: ---    let dx = 26.0 - 22.0 * sqr(pos.y / 52.0) + 22.0 * sqr(pos.z / 52.0) - pos.x.abs();
    let dy = 26.0 - 22.0 * sqr(pos.z / 52.0) + 22.0 * sqr(pos.x / 52.0) - pos.y.abs();
    let dz = 26.0 - 22.0 * sqr(pos.x / 52.0) + 22.0 * sqr(pos.y / 52.0) - pos.z.abs();

    if dx < 0.0 || dy < 0.0 || dz < 0.0 {
      return 0;
    }
--- Конец кода ---
А для того, чтоб угловой элемент разбить на три цветные грани, причём чтоб граница разбиения идеально попала на стык граней, я использовал примерно это:


--- Код: ---        if dx < dy - hole && dx < dz - hole {
          part_index += 1;
        } else if dy < dz - hole && dy < dx - hole {
          part_index += 2;
        } else if dz < dx - hole && dz < dy - hole {
        } else {
          return 0;
        }
--- Конец кода ---
Тут ещё с запасом на допуск возникающий при печати

Мне интересно, как Солиды, Оншейпы и прочие тут выкручиваются

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Перейти к полной версии