绘制因子超过1000的短行和长行,以便两者都可见

时间:2017-12-23 07:00:18

标签: canvas graphics lazarus

当绘制长度为110.366的线和另一条长度为1.011的线时,每条线以非90度角倾斜。假设这些线彼此相差60度,并且线的起点在同一点。如果我增加缩放因子使得小线具有4个像素的比例,那么大线将是440个像素的长度。此外,如果我比较几个较小的行,如1.11,1.22和1.33,它们的长度似乎相同。有没有办法可以在画布上获得更高的分辨率,这样我就能同时看到细微的差异和长线?

// Long line length 116.60317460 at angle of 312 degrees 
// Short line length 1.1111111 at angle of 240 degrees
// Start at point 200,204 at an angle of 68 degrees difference
MoveTo(200, 204);
LineTo(200 + 316, 204 - 348);
MoveTo(200, 204);
LineTo(200 - 4, 204 - 4);

即使在此,点已经被截断为整数,并且当比较接近长度为1的线时,用户没有得到准确的信息.x和y由给定角度的余弦和正弦确定。低于两个像素的线通常不可见。较长的线条可能会离开屏幕,使用户更难以比较较长的线条以获得图形感。缩放可能会有所帮助,但我不知道。我只限于第三方共享软件。

1 个答案:

答案 0 :(得分:1)

如果您的线条都共享一个公共点,请使用长度的对数变换来压缩范围。

如果他们没有,你就会陷入困境。