用仿射变换从四边形变换到四边形?

时间:2021-12-27 11:16:53

Is Java's AffineTransform insufficient to hold transformation from one convex quadrilateral to another?

Java的仿射变换是否不足以支持从一个凸四边形到另一个凸四边形的变换?

Is this true, that transformation between convex quadrilaterals is fully covered by perspective transform?

这是真的吗,凸四边形之间的变换被透视变换完全覆盖了?

Perspective matrix has 8 elements, while Java's has 6. Does this mean that here are insufficient coefficients?

透视矩阵有8个元素,而Java有6个元素。这是否意味着系数不足?

This means that I can't code GUI where user would drag quadrilateral corners and get quadrilateral content transformed correspondently?

这意味着我不能编写GUI,用户可以拖拽四边形的角,然后相应地转换四边形的内容?

How can this be?

这怎么可能?

1 个解决方案

#1


2  

An affine transformation maintains parallel lines as parallel. A perspective transform is by definition does not, and therefore is not affine.

仿射变换使平行线保持平行。根据定义,透视变换不是,因此也不是仿射。

A perspective transfrom is included with the JAI ("Java Advanced Imaging") API but I'm not sure what's the official source for it after Oracle bought Sun.

JAI(“Java Advanced Imaging”)API中包含了透视事务,但我不确定Oracle收购Sun之后,它的官方来源是什么。

#1


2  

An affine transformation maintains parallel lines as parallel. A perspective transform is by definition does not, and therefore is not affine.

仿射变换使平行线保持平行。根据定义,透视变换不是,因此也不是仿射。

A perspective transfrom is included with the JAI ("Java Advanced Imaging") API but I'm not sure what's the official source for it after Oracle bought Sun.

JAI(“Java Advanced Imaging”)API中包含了透视事务,但我不确定Oracle收购Sun之后,它的官方来源是什么。