Как я вычисляю точку на окружность круга?

Обычно вы делаете:

connect(ui->horizontalSlider, &QSlider::valueChanged, 
ui->horizontalSlider, &QSlider::setValue);

, но ваша логика неверна, потому что вы соединяете valueChanged с setValue , что приведет к сбою вашего приложения, так как произойдет переполнение ...

С другой стороны, подключение используется только для передачи сигналов и слотов, вы не можете выполнять математику в сигналах / функциях, связанных с этим, по крайней мере, не так ... вам понадобится лямбда или что-то подобное в середине

214
задан 4 revs, 2 users 96% 13 April 2019 в 16:33
поделиться

3 ответа

Bless - высококачественный полнофункциональный шестнадцатеричный редактор.

Это написан на mono / Gtk # и его основной платформой является GNU / Linux. Однако он должен работать без проблем на любой платформе, на которой работает mono и Gtk #. Основные особенности s довольно легко адаптировать к любому языку с помощью основных триггерных функций. Обратите внимание, что большинство языков будут использовать радиан для угла в триггерных функциях, поэтому вместо того, чтобы циклически проходить через 0..360 градусов, вы циклически меняете 0..2PI радиан.

568
ответ дан 23 November 2019 в 04:22
поделиться

Вот моя реализация на C #:

    public static PointF PointOnCircle(float radius, float angleInDegrees, PointF origin)
    {
        // Convert from degrees to radians via multiplication by PI/180        
        float x = (float)(radius * Math.Cos(angleInDegrees * Math.PI / 180F)) + origin.X;
        float y = (float)(radius * Math.Sin(angleInDegrees * Math.PI / 180F)) + origin.Y;

        return new PointF(x, y);
    }
45
ответ дан 23 November 2019 в 04:22
поделиться

Кому нужен триг, когда у вас есть комплексные числа :

#include <complex.h>
#include <math.h>

#define PI      3.14159265358979323846

typedef complex double Point;

Point point_on_circle ( double radius, double angle_in_degrees, Point centre )
{
    return centre + radius * cexp ( PI * I * ( angle_in_degrees  / 180.0 ) );
}
15
ответ дан 23 November 2019 в 04:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: