是否有.NET库中的任何类,方法或任何算法,以执行非仿射变换?(即不仅涉及旋转,缩放,平移和剪切的转换)
例如:
(来源:last100.com)
是否存在非仿射变换的另一个术语?
我不知道.Net中集成了任何内容,可以让你进行非仿射变换.
我想你正试图进行某种3D纹理映射?如果是这种情况,你需要一个同质的仿射变换,这在.Net中是不可用的.我也不知道在.Net中进行像素位移变换的任何集成方法.
但是,目前投票的解决方案可能对您要做的事情有好处,只要注意它不会开箱即用.
例如:
左边的图片是使用Neil N提供的单个四边形扭曲库生成的.右边的图片是使用DirectX中的单个四边形(实际上是两个三角形)生成的.
这可能对你要做的事情没有任何影响,但如果你想做3D东西,这是要记住的,如果没有透视正确的映射,它会显得很奇怪.
您发布的所有示例图像都可以使用四边形失真来完成.虽然我无法确定四边形失真会涵盖所有非仿射变换.
下面是C#中一个不太好的实现的链接...它有效,但速度很慢.在维基百科周围寻找可用于这些计算的许多不同优化
http://www.vcskicks.com/image-distortion.html
-Neil