gpt4 book ai didi

android - 几何概念的解释

转载 作者:行者123 更新时间:2023-11-29 21:59:56 25 4
gpt4 key购买 nike

我知道这是一个愚蠢的问题,但我正在阅读一个教程,但我似乎不理解下面的代码行......我已经理解了这背后的几何算法,但是...... 。哦!!!这很简单,但我似乎不明白。请帮助....我是初学者...

  private void drawPict(Canvas canvas, int x, int y, int w, int h,
float sx, float sy) {
canvas.save();
canvas.translate(x, y);
canvas.clipRect(0, 0, w, h);
canvas.scale(0.5f, 0.5f);
canvas.scale(sx, sy, w, h);
canvas.drawPicture(mPicture);
canvas.restore();
}
@SuppressWarnings("unused")
@Override
protected void dispatchDraw(Canvas canvas) {
super.dispatchDraw(mPicture.beginRecording(getWidth(), getHeight()));
mPicture.endRecording();
int x = getWidth()/2;
int y = getHeight()/2;
if (false) {
canvas.drawPicture(mPicture);
} else {
drawPict(canvas, 0, 0, x, y, 1, 1);
drawPict(canvas, x, 0, x, y, -1, 1);
drawPict(canvas, 0, y, x, y, 1, -1);
drawPict(canvas, x, y, x, y, -1, -1);
}
}

我再次研究了这个...并了解到 canvas.scale 有 4 个参数,是我假设的点的坐标...但我仍然无法理解 float sx,float sy...

sx=-1 和 sy=1...它会扩展,同意...但没有更好的方法吗?

最佳答案

按 +1 倍缩放给出沿轴的恒等变换,按 -1 倍缩放给出跨轴的反射。在本示例中,您在每个轴上都有四种可能的反射/无反射组合中的每一种。将两个坐标缩放 +1 是恒等变换。将 x 坐标缩放 -1,将 y 坐标缩放 +1 会在垂直线上产生反射,即左右反射。反之亦然,将 x 缩放 +1,将 y 缩放 -1,这是一种上下反射。将两个坐标缩放 -1 会产生双重反射,这与旋转 180 度相同。

Canvas 类没有单独调用反射,因此使用缩放代替。

关于android - 几何概念的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12225469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com