Приветствую! Не подскажете как заставить круглую форму вращаться на месте, а не гулять по экрану? Делаю калейдоскоп. Специально сделал заливку непрозрачным синим чтобы было понятно почему она прецессирует, а не вертится на месте. Как избавиться от углов из-а которых происходит смещение на экране? Или может есть более простое решение. Но мне нужна форма созданная на основе круглой картинки, чтобы ее можно было менять. Пытался вращать картинку с прозрачным фоном с помощью элементов Alfa rotate но чето не вышло ничего.
https://forum.hiasm.com/getfile/39580
--- Добавлено в 2023-03-17 00:22:40
Редактировалось 4 раз(а), последний 2023-03-17 00:22:40
Этот топик читают: Гость
Ответов: 1291
Рейтинг: 47
|
|||
карма: 3 |
| ||
файлы: 1 | Круглая вращающаяся форма.zip [59.2KB] [275] |
Ответов: 793
Рейтинг: 168
|
|||
Aziz писал(а): как заставить круглую форму вращаться на месте, а не гулять по экрану? Как вариант - https://forum.hiasm.com/getfile/39581 Нет, тоже убегает.. Редактировалось 1 раз(а), последний 2023-03-17 07:46:19 |
|||
карма: 16 |
| ||
файлы: 1 | form_rotations.zip [30.7KB] [281] |
Ответов: 19
Рейтинг: 21
|
|||
А если вот так. |
|||
карма: 1 |
| ||
Голосовали: | Gunta, sla8a |
Ответов: 793
Рейтинг: 168
|
|||
Flapiotun писал(а): А если вот так.Да, наверное это самый простой и надёжный способ. Чуть дополнил. Для закрытия нажать "ESC". https://forum.hiasm.com/getfile/39582 --- Добавлено в 2023-03-17 14:16:01 Редактировалось 2 раз(а), последний 2023-03-17 14:16:01 |
|||
карма: 16 |
| ||
файлы: 1 | form_rotations 2.zip [30.6KB] [265] | ||
Голосовали: | Flapiotun |
Ответов: 2267
Рейтинг: 676
|
|||
Думаю что рисовать "дешевле" все же:
Редактировалось 1 раз(а), последний 2023-03-17 16:56:45 |
|||
карма: 11 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Gunta, Flapiotun, sla8a, спасибо огромное! Не додумался бы что форму можно менять без точки doPicture с помощью WinTools. Хотя его часто использовал для режима "поплавка" формы. Интересно, почему они по разному работают.
sla8a, да, я пытаюсь освоить эти элементы рисования, что-то получается. Думаю теперь как с их помощью нарисовать зеркальные отражения в калейдоскопе. В 1 версии, я просто рандомно наваленные точки вращал и копировал симметрично. Потом понял что это не совсем похоже на отражения в классическом калейдоскопе, где они множественные. Редактировалось 1 раз(а), последний 2023-03-18 11:23:20 |
|||
карма: 3 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Aziz, "в классическом калейдоскопе" поле зрения не ограничено ничем, в т.ч. и окружностью. Попробуйте GL.
|
|||
карма: 19 |
|
Ответов: 2267
Рейтинг: 676
|
|||
Aziz писал(а): рандомно наваленные точки вращалЛеонид писал(а): Попробуйте GL. |
|||
карма: 11 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Леонид, так то да, когда смотришь, но на практике все же это прибор круглой формы и поле зрения круглое.. Фулскрин по любому будет.
sla8a, да, я это учел. Ввел ограничитель на число точек и их цвета. И при вращении и смене позиции выключал старую красную точку, рисуя по ее старым координатам черную точку и рисуя новую красную по новым координатам. openGL показалось сложноватым в плане преобразований и отражений. Но может я ошибаюсь, там этот функционал более развит, надо глянуть, спасибо. В дальнейших планах этот калейдоскоп прикрутить к своему генератору мелодий, чтобы тот по его паттернам такое же что-то красивое выдавал. 12 цветов - 12 нот.. Чистый рандом без повторов в музыке звучит мерзко) И тут я вспомнил про калейдоскоп, где из рандома что-то красивое получается. Также со временем хочу рисованные точки или многоугольники заменить фото реальных стекляшек, как в настоящем калейдоскопе, чтобы они рандомно и независимо крутились вокруг оси (тут уже без 3Д моделей и openGL не обойтись), с меняющимся числом зеркал. Можно конечно, стекляшки сложной формы генерить программно. Что я и сделал, пытаясь в новой версии вместо точек многоугольники использовать. |
|||
карма: 3 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Aziz, пара примеров с калейдоскопом квадратной формы (когда-то рисовал сколько кружочков колбасы можно увидеть в холодильнике с зеркальными стенками )
https://forum.hiasm.com/getfile/39584 |
|||
карма: 19 |
|
Ответов: 2267
Рейтинг: 676
|
|||
Леонид,
flood ну шарики раскрутили понятно, а Альберта то за что? |
|||
карма: 11 |
|
Ответов: 8926
Рейтинг: 823
|
|||
sla8a, случайно попался, по подходящему размеру
|
|||
карма: 19 |
|
Ответов: 1291
Рейтинг: 47
|
|||
Леонид, спасибо большое! Очень пригодится..
--- Добавлено в 2023-03-24 03:57:57 Леонид, а вот что у меня пока получилось, простите за запутанность схемы, так и не научился все рисовать аккуратно, гонясь за Содержанием (функционалом), упускаю Форму.. Или это у меня встроенный в мозг постковидный обфускатор кода работает)) Хоть какая-то польза от вируса) Меню и авторотация по ПКМ. 2-й клик очищает. Также увеличивается при нажатии колесика. Назначение параметров - во всплывающих подсказках. Из главных проблем схемы что я не смог побороть - если сделать число отражений Mirrors большим (20-30) то появляется некрасивый артефакт, от которого я так и не смог избавиться. Причем он начинает появляться уже при числе зеркал больше 5, но слабо заметен - просто не все точки отражаются корректно. Я так понял, это новые точки перерисовывают старые, поэтому идет разрушение симметрии узора. Может кто сможет исправить? Еще хотел чтобы сделать инерционную авторотацию в ту сторону, куда крутнул в последний раз, это пока работает если выключить ротацию, крутнуть куда нужно и снова ее включить. А чтобы автоматизировать это нужно чтобы компонент MoveWindow не перехватывал события onMouseUP с помощью которого хотел снова запускать таймер вращения. Об этом спросил в другой теме. Редактировалось 9 раз(а), последний 2023-03-24 04:27:51 |
|||
карма: 3 |
| ||
файлы: 1 | Калейдоскоп 1.9.5.zip [200.5KB] [254] |
Ответов: 793
Рейтинг: 168
|
|||
Aziz писал(а): Делаю калейдоскопЭто конечно не калейдоскоп, но эффект очень завораживающий. https://forum.hiasm.com/getfile/39612 Редактировалось 1 раз(а), последний 2023-05-31 12:54:19 |
|||
карма: 16 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Gunta, не помню, выкладывал-ли здесь, а для любителей астрономии делал пример (не соответствующий действительности)
https://disk.yandex.ru/d/L07OB6JKbV5sWg |
|||
карма: 19 |
|