繁体   English   中英

Delphi GDI+ 使用已知的矩形和角度在圆弧上查找点

[英]Delphi GDI+ find point on an arc using the known rectangle and angle

在 Delphi 10.2.3 中使用 GDI+:我有一个从矩形 RectF 绘制的椭圆(非圆形)弧,并使用 DrawArcF 定义了起始角和扫角。 我需要能够仅根据点的度数找到沿圆弧中心线的任何点(无论笔宽如何) - 例如,如果圆弧从 210 开始 120 度,我需要找到该点,比如说,284 度,相对于 RectF。

在这种情况下,无论矩形大小如何,矩形的纵横比都保持不变,因此弧线的形状也应该保持一致,如果这会有所不同的话。

关于如何 go 对此有何想法?

cx, cy为中心、半轴a,b的轴对齐椭圆相对于角度Fi的参数方程为:

t = ArcTan2(a * Sin(Fi), b * Cos(Fi))
x = cx + a * Cos(t)
y = cy + b * Sin(t)

(我使用atan2来摆脱atan范围限制/符号问题)


请注意,参数t贯穿相同的范围0..2*Pi但与真实角度Fi不同(它们在角度k*Pi/2处重合)。
来自 Mathworldb/a=0.6Fi/t比率图片(公式 58 附近)

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM