Повернуть 2D точкуDelphi , Графика и Игры , CanvasПовернуть 2D точку
Оформил: DeeCo const PIDiv180 = 0.017453292519943295769236907684886; procedure Rotate(RotAng: Double; x, y: Double; var Nx, Ny: Double); var SinVal: Double; CosVal: Double; begin RotAng := RotAng * PIDiv180; SinVal := Sin(RotAng); CosVal := Cos(RotAng); Nx := x * CosVal - y * SinVal; Ny := y * CosVal + x * SinVal; end; (* End Of Rotate Cartesian Point*) Преобразование (Rotate) Процедура Rotate принимает четыре параметра:
Процедура вычисляет новые координаты (Nx и Ny) путем применения преобразования поворота к входной точке (x, y) с помощью заданного угла поворота RotAng. Вычисление основано на тригонометрических функциях sin и cos. Разбивка процесса:
Полученные повёрнутые координаты хранятся в переменных Nx (новая x-координата) и Ny (новая y-координата). Например, если вызвать процедуру с углом поворота 45 градусов и начальной точкой (3, 4):
Вывод будет повёрнутыми координатами (Nx и Ny) для точки, которая была повёрнута на 45 градусов вокруг начала координат (0, 0). Эта процедура может быть полезна в различных приложениях с графическим интерфейсом, где требуются повороты. В статье описывается процедура поворота 2D точки на угол RotAng с помощью использования математических функций синуса и косинуса для трансформации координат. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |