Another way to do this that might be shorter is to compute the matrix that transforms the 0,0,1,1 square to an arbitrary quad, which I will call T(quad). Then the full transform is T(dest)*inverse(t(source))

Søren Sandmann wrote:
From: Søren Sandmann Pedersen <s...@redhat.com>

This program can compute the projective transformation that transforms
one quadrilateral into another. The code is basically maxima[1] output
translated into C.

[1] http://maxima.sourceforge.net/
---
 demos/quad2quad.c | 2183 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 2183 insertions(+), 0 deletions(-)
 create mode 100644 demos/quad2quad.c

diff --git a/demos/quad2quad.c b/demos/quad2quad.c
new file mode 100644
index 0000000..a8c05b1
--- /dev/null
+++ b/demos/quad2quad.c
@@ -0,0 +1,2183 @@
+#include <math.h>
+#include <stdio.h>
+#include <pixman.h>
+
+/* This code is basically the output of Maxima translated into C.
_______________________________________________
Pixman mailing list
Pixman@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/pixman

Reply via email to