Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Igors от Октябрь 21, 2015, 09:34



Название: Дизайн
Отправлено: Igors от Октябрь 21, 2015, 09:34
Добрый день

Есть 2 объекта, для простоты 2 сферы. Пользователю нужна возможность задать силу их взаимодействия, правила:

- если объекты "достаточно близко" (друг от друга), то между ними возникает сила отталкивания. И чем они ближе тем эта отталкивающая сила больше

- если объекты "достаточно далеко" то наоборот, между ними возникает сила притяжения

- если объекты "совсем далеко" то никакой силы нет

Теперь надо все эти "достаточно" и "совсем" выразить в числах. Плюс величины самих сил. Плюс, наверное,  закон (кривая) изменения. Получается много QLineEdit с которыми не очень удобно/приятно работать. Делать редактируемый график - возни много, а с др стороны он может оказаться не так уж хорош. Напр диапазон притяжения может быть в 10 раз больше диапазона отталкивания. Какие есть соображения?

Спасибо


Название: Re: Дизайн
Отправлено: Racheengel от Октябрь 21, 2015, 11:02
Ну не знаю, первое, что в голову приходит - это слайдер с несколькими ползунками. Т.е. ползунок 1 задает диапазон "от 0 до точки отталкивания", а ползунок 2 - "от отталкивания до притяжения", все, что за ним - уже "совсем далеко".

Ну и силы, наверное, аналогично задавать можно. Но все зависит от необходимой точности.


Название: Re: Дизайн
Отправлено: m_ax от Октябрь 21, 2015, 11:07
Цитировать
Пользователю нужна возможность задать силу их взаимодействия, правила:
Лучше не силу, а потенциал взаимодействия задавать..
Например потенциал Леннарда-Джонса https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB_%D0%9B%D0%B5%D0%BD%D0%BD%D0%B0%D1%80%D0%B4-%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%B0 (https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB_%D0%9B%D0%B5%D0%BD%D0%BD%D0%B0%D1%80%D0%B4-%D0%94%D0%B6%D0%BE%D0%BD%D1%81%D0%B0)

Там 2 параметра, вот пусть юзеры их и гоняют.. Можно при этом графически это в миниатюре отображать, для наглядности..