0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 12
|
||||||
Вращение колеса вокруг своей оси12.04.2017, 15:46. Показов 8370. Ответов 15
Помогите. Я уже запарилась. В общем, мне нужно что бы колесо со спицами двигалось по осе X и вращалось ВОКРУГ СВОЕЙ ОСИ и никуда не улетало, ни вверх ни вниз. Как это сделать? Что в коде поменять и на что обратить внимание?
0
|
12.04.2017, 15:46 | |
Ответы с готовыми решениями:
15
Вращение букв вокруг оси Вращение фигуры вокруг произвольной оси |
![]() 10 / 10 / 4
Регистрация: 05.07.2016
Сообщений: 51
|
|||||||||||
12.04.2017, 17:21 | |||||||||||
Существенная ошибка в коде это:
Я по первой же мысли сделал так:
Вобщем, нужно придумать как создавать отдельные (независимые) объекты Graphics, чтобы можно было отдельно работать и ничего не мигало. Честно говоря на данный момент я не знаю как так сделать чтобы убрать мигание (DoubleBuffered только делает хуже в моём последнем примере кода).
0
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 12
|
||||||
12.04.2017, 17:40 [ТС] | ||||||
Да уж, мечта эпилептика вышла) и с DoubleBuffered это вообще бомба. У меня есть пример работы, которую дал преподаватель, и там полигон поворачивается на любую желанную величину угла по нажатию кнопки. Может это как то поможет вам помочь мне
![]()
0
|
![]() ![]() ![]() |
|||||||
12.04.2017, 18:37 | |||||||
![]() Решение
3
|
![]() 10 / 10 / 4
Регистрация: 05.07.2016
Сообщений: 51
|
|
12.04.2017, 18:53 | |
Storm23, классно конечно Вы нашли метод решения проблемы))) Если я правильно понял код, то: Вы, я вижу, решили всё крутить: и шину колеса, и спицы (если не так понял скажите). Но всё же хотелось бы ради интереса крутить, например, только спицы, а не всё картинку вместе с шиной колеса. Ведь могут и такие случаи быть.
0
|
![]() ![]() ![]() |
||
12.04.2017, 19:30 | ||
После отрисовки спиц, можно вызвать метод Grphics.ResetTransform - он сбрасывает предыдущие преобразования. Затем делайте новые преобразования и рисуйте другие части.
1
|
![]() |
|
12.04.2017, 21:08 | |
0
|
![]() ![]() ![]() |
|||||||||||||
12.04.2017, 22:38 | |||||||||||||
2) Особенно важно вызывать Dispose для графических примитивов (типа Brush, Pen, Graphics, Bitmap) - все эти объекты очень тяжелые, а перерисовка происходит очень часто. В результате, если не вызывать Disopse - возникает перерасход памяти, иногда даже с выпадением в OutOfMemoryException (а для Bitmap - так наверняка). Можете потестировать сами. Возьмем вот такой код:
Запустим и посмотрим на используемую память процесса: Как видим, расход памяти - около 8 мб. А теперь уберем using и будем создавать Pen без Dispose:
Почти 40 мб! Причем если понаблюдать за расходом памяти, то видно, что в первом случае память ведет себя стабильно на уровне 8 мб. Во втором же случае память постоянно растет, потом дойдя до какого-то момента - чуть падает (это срабатывает сборщик мусора, который вызывает финализатор и диспоз), и потом опять начинает расти.
5
|
![]() 10 / 10 / 4
Регистрация: 05.07.2016
Сообщений: 51
|
|
13.04.2017, 16:34 | |
Strom23, с using я понял, но вот уже если дело на то пошло, то будьте добры, откройте нам секрет, для чего Вы используете var вместо типа который нужно использовать? Может и тут какая нибудь хитрость есть?))
И, кстати, в данном случае, можно было бы вообще не использовать ни каких using, а просто один раз создать Pen вне циклов))
0
|
![]() 8948 / 4860 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
|
||||||||
13.04.2017, 16:49 | ||||||||
Добавлено через 2 минуты IDisposable
2
|
![]() ![]() ![]() |
|||||||||||||
13.04.2017, 18:02 | |||||||||||||
Добавлено через 3 минуты ViterAlex, а я вообще делаю вот так:
1
|
0 / 0 / 0
Регистрация: 16.04.2017
Сообщений: 2
|
|
17.05.2017, 04:47 | |
Как при таком способе( вращении всей формы) сделать 2 движущихся вдоль одной оси, вращающихся колеса?
0
|
17.05.2017, 04:47 | |
Помогаю со студенческими работами здесь
16
Вращение фигуры вокруг центра оси
Реализовать вращение колеса с разноцветными спицами
Вращение одной сферы вокруг другой Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
|
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
|
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
|
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг.
Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя.
Странные серые краски проникают и. . .
|
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
|
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
|
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
|
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
|
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
|
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
|