How do I do 2 point perspective using inkscape?
How do I do 2 point perspective using inkscape? I could not find it in the documentation.
You know parallel lines meet at a point on the horizon?
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
dwain.alford@...155... wrote:
Paul Elliott wrote:
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
you don't draw?
He is asking for something like: http://sourceforge.net/tracker/index.php?func=detail&aid=1012134&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1079582&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1291805&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1365890&gro...
Perhaps even http://sourceforge.net/tracker/index.php?func=detail&aid=1005753&gro...
And not all Inkscape users are masters at drawing
Nicu Buculei (OCAL) wrote:
dwain.alford@...155... wrote:
Paul Elliott wrote:
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
you don't draw?
He is asking for something like: http://sourceforge.net/tracker/index.php?func=detail&aid=1012134&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1079582&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1291805&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1365890&gro...
Perhaps even http://sourceforge.net/tracker/index.php?func=detail&aid=1005753&gro...
And not all Inkscape users are masters at drawing
i guess i expected him to be able to draw; and at the same time not be a master. i'm not even a master. what struck me as odd was asking the program to produce a two point perspective.
paul, if i offended you, i'm sorry.
i'll check out the links for further info.
dwain
Nicu Buculei (OCAL) wrote:
http://sourceforge.net/tracker/index.php?func=detail&aid=1012134&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1079582&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1291805&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1365890&gro...
so i guess the answer is no, but it's being worked on?
dwain
dwain.alford@...155... wrote:
Nicu Buculei (OCAL) wrote:
http://sourceforge.net/tracker/index.php?func=detail&aid=1012134&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1079582&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1291805&gro... http://sourceforge.net/tracker/index.php?func=detail&aid=1365890&gro...
so i guess the answer is no, but it's being worked on?
I'm afraid the answer is no, other requested the same feature, is considered useful but is not actively worked right now. If someone is looking for features to implement the request is listed in the place one would look.
Nicu, I have not followed any of those links, but this thought jumps to mind: on a layer called "plines" use the line tool and draw all the perspective lines you could need - mark a vanishing point (or 2) anywhere, even off the canvas, and then just draw lines from the points out across the page.
When you have a nice structure of guides (not guides, but normal lines) then make a new layer and use the plines layer below as a trace/sketch guide. Hide/Show plines as you need.
HTH Donn.
Donn wrote:
Nicu, I have not followed any of those links, but this thought jumps to mind: on a layer called "plines" use the line tool and draw all the perspective lines you could need - mark a vanishing point (or 2) anywhere, even off the canvas, and then just draw lines from the points out across the page.
When you have a nice structure of guides (not guides, but normal lines) then make a new layer and use the plines layer below as a trace/sketch guide. Hide/Show plines as you need.
Indeed, this is how would one make *from scratch* a perspective drawing, is not easy but is doable. But the original poster asked for something else: an automatic way to make the transformation with Inkscape from a flat drawing to a perspective one. Kind of like the perspective tool in GIMP. Unfortunately, we don't have this feature (yet), I just linked to other requests for the same thing to show there is interest.
On Wed, Oct 18, 2006 at 10:31:12PM -0500, dwain.alford@...155... wrote:
Paul Elliott wrote:
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
you don't draw?
No, I don't draw that well, but that is not the point.
Anyone (including me) can create a perfect pentagram (all you need is staight edge a compass and remember your math class), but many would find it difficult to put that perfect pentagram on a corn flake box sitting katty wampus to the viewer.
But since you can draw, you can draw the Mona Lisa. But you might have dificulty putting that Mona Lisa on a corn flake box if it is sitting katy wampus to the viewer.
All I am really asking for is the transformation.
I can draw all the perspective lines I need to determine the transformation on an invisible layer that I erase later.
Let me have a rectangle, and let me say that the four corners of the rectangle now map to these four courners of a rombus, let the computer figure out how to move the other points.
This is the kind of calculation computers were designed to do.
From there, I can figure out the rest.
Paul Elliott wrote:
But since you can draw, you can draw the Mona Lisa.
Whoa.
All I am really asking for is the transformation.
I can draw all the perspective lines I need to determine the transformation on an invisible layer that I erase later.
Let me have a rectangle, and let me say that the four corners of the rectangle now map to these four courners of a rombus, let the computer figure out how to move the other points.
This is the kind of calculation computers were designed to do.
From there, I can figure out the rest.
Ok. You don't draw. But can you program? (If I had to guess I'd say you are a C++ kinda guy.) I spent some time trying to write an extension to do perspective transforms a while back and I failed. The result of that experiment is in the Effects menu (labeled either "Summer's Night" or "Envelope"). The envelope effect is not a true perspective distortion. If you would be interested in helping me with the math (I've still got the code for my two or three other failed attempts around somewhere), maybe we could get something clunky worked out in python. If you are really interested I had embarked upon a different more betterer path and under the guidance of bbyak I had planned to develop some sort of live effects mechanism in Inkscape proper (C++). This would be really really cool. Would you like to give me a hand with this effort?
Aaron Spike
On Thu, Oct 19, 2006 at 12:28:54PM -0500, Aaron Spike wrote:
Paul Elliott wrote:
But since you can draw, you can draw the Mona Lisa.
Whoa.
All I am really asking for is the transformation.
I can draw all the perspective lines I need to determine the transformation on an invisible layer that I erase later.
Let me have a rectangle, and let me say that the four corners of the rectangle now map to these four courners of a rombus, let the computer figure out how to move the other points.
This is the kind of calculation computers were designed to do.
From there, I can figure out the rest.
Ok. You don't draw. But can you program? (If I had to guess I'd say you are a C++ kinda guy.) I spent some time trying to write an extension to do perspective transforms a while back and I failed. The result of that experiment is in the Effects menu (labeled either "Summer's Night" or "Envelope"). The envelope effect is not a true perspective distortion. If you would be interested in helping me with the math (I've still got the code for my two or three other failed attempts around somewhere), maybe we could get something clunky worked out in python. If you are really interested I had embarked upon a different more betterer path and under the guidance of bbyak I had planned to develop some sort of live effects mechanism in Inkscape proper (C++). This would be really really cool. Would you like to give me a hand with this effort?
Aaron Spike
First, I am not sure if Modify Path that has been discussed on this thread is the solution. Some comments seem to say it is not the true solution. I will have to test it.
If it is the solution, all that needs to be done is document it better so that idiots like myself can deterime how to use it to do their perspective work.
But if it turns out that new code is really needed, I would suggest never write new code if you can steal it from elsewhere. That it what code reuse is all about.
Are there any other open source/free software projects that use this kind of transformation with bitmaps? If there are, lets steal their code! Open software licenses allow code to be copied into other open projects.
Good software developers imitate. Great ones steal.
If not, we should look in books. Ideas are not copyrightable. This math is very old. It should be laid out somewhere.
If it turns out code is needed, it will take me a long time to get up to speed. Although, I know C++, I am not familiar with this area of expertise. I would have to study the source for a long time just to begin.
Paul Elliott wrote:
First, I am not sure if Modify Path that has been discussed on this thread is the solution. Some comments seem to say it is not the true solution. I will have to test it.
It isn't. Some people mistakenly think it is good enough. But it isn't.
If it is the solution, all that needs to be done is document it better so that idiots like myself can deterime how to use it to do their perspective work.
The best documentation has already been linked from this thread: http://tavmjong.free.fr/INKSCAPE/MANUAL/html/ch16s04.html#Effects-Envelope
But if it turns out that new code is really needed, I would suggest never write new code if you can steal it from elsewhere. That it what code reuse is all about.
That is exactly what was attempted in my failed attempts. A couple of the failed attempts were stealing from GIMP and a few borrowed from Java libraries.
If it turns out code is needed, it will take me a long time to get up to speed. Although, I know C++, I am not familiar with this area of expertise. I would have to study the source for a long time just to begin.
A difference can be made even without a great commitment of time and effort, if you are willing to help.
Aaron Spike
Aaron Spike wrote:
I spent some time trying to write an extension to do perspective transforms a while back and I failed. The result of that experiment is in the Effects menu (labeled either "Summer's Night" or "Envelope"). The envelope effect is not a true perspective distortion. If you would be interested in helping me with the math (I've still got the code for my two or three other failed attempts around somewhere), maybe we could get something clunky worked out in python.
FWIW, here is the persp transform code in AGG
http://www.antigrain.com/__code/include/agg_trans_perspective.h.html
hth, bb
Boris Borcic wrote:
Aaron Spike wrote:
I spent some time trying to write an extension to do perspective transforms a while back and I failed. The result of that experiment is in the Effects menu (labeled either "Summer's Night" or "Envelope"). The envelope effect is not a true perspective distortion. If you would be interested in helping me with the math (I've still got the code for my two or three other failed attempts around somewhere), maybe we could get something clunky worked out in python.
FWIW, here is the persp transform code in AGG
http://www.antigrain.com/__code/include/agg_trans_perspective.h.html
I've just had a look at "Summer's Night" code.
An issue you'll have with perspective transforms is that they don't generally commute with Bezier curves.
IOW, the perspective transform of a Bezier curve obtained from some controls points in NOT in general the same as the Bezier curve obtained from the perspective transforms of the initial control points.
The simplest way out of this problem is to flatten the paths before transformation.
hth, bb
the question was posed in the jabber room as to how you could do a non uniform gradient. So I threw together a quick tut on how to fake them.
http://simarilius.wordpress.com/2006/10/21/faking-irregular-gradients-in-ink...
hope its useful.
Sim
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
On 10/21/06, John Cliff <simarilius@...12...> wrote:
http://simarilius.wordpress.com/2006/10/21/faking-irregular-gradients-in-ink...
That is one way, but with SVN it's easier and more flexible to use blur in combination with clipping.
SVN means what?
On 10/21/06, bulia byak <buliabyak@...155...> wrote:
On 10/21/06, John Cliff <simarilius@...12...> wrote:
http://simarilius.wordpress.com/2006/10/21/faking-irregular-gradients-in-ink...
That is one way, but with SVN it's easier and more flexible to use blur in combination with clipping.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da... _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
SVN is short for Subversion which is the version control system we use to store the development version of inkscape. when you see reference to using svn in a context like below we're talking about a feature thats in the current development code, that wasnt in the last release, in this case the blur filter. you can get an SVN build from by using an autopackage on linux, one of the nightly builds for windows, or by compiling your own on whatever platform your on.
cheers
Sim
--- Edward Hume <edhume@...155...> wrote:
SVN means what?
On 10/21/06, bulia byak <buliabyak@...155...> wrote:
On 10/21/06, John Cliff <simarilius@...12...> wrote:
http://simarilius.wordpress.com/2006/10/21/faking-irregular-gradients-in-ink...
That is one way, but with SVN it's easier and more flexible to use blur in combination with clipping.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your
job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da...
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da...
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
not sure I'd agree with that statement about it being easier and more flexible to use blur, as I've just played with blur/clipping for a good 15 minutes and cant get it to look like that. This technique also has the added benefit of allowing you to be non uniform in the distance your gradient is running across. you also cant fake a square gradient with blur, which you can with this.
Cheers
Sim
--- bulia byak <buliabyak@...155...> wrote:
On 10/21/06, John Cliff <simarilius@...12...> wrote:
http://simarilius.wordpress.com/2006/10/21/faking-irregular-gradients-in-ink...
That is one way, but with SVN it's easier and more flexible to use blur in combination with clipping.
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da...
Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
An issue you'll have with perspective transforms is that they don't generally commute with Bezier curves.
IOW, the perspective transform of a Bezier curve obtained from some controls points in NOT in general the same as the Bezier curve obtained from the perspective transforms of the initial control points.
I haven't used Xara Extreme, but if it does perspective, it would likely be with beziers since it's for SVG too, wouldn't it?
On 10/21/06, Michael Moore <stuporglue@...155...> wrote:
An issue you'll have with perspective transforms is that they don't generally commute with Bezier curves.
IOW, the perspective transform of a Bezier curve obtained from some controls points in NOT in general the same as the Bezier curve obtained from the perspective transforms of the initial control points.
I haven't used Xara Extreme, but if it does perspective, it would likely be with beziers since it's for SVG too, wouldn't it?
Now that's stringing a lot of unverified hypotheses, is that not, just to deny somebody's word ?
FYI, a link to a forum thread where the matter is discussed in more detail (Note : 'quartic' and 'cubic' Bezier curves are particular cases of 'polynomial' Bezier curves).
http://www.gatago.com/comp/graphics/algorithms/3161557.html
Creative photography for any occasion http://elementsbycaroline.com Full quality proofs Online album
Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&da... _______________________________________________ Inkscape-user mailing list Inkscape-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-user
On 10/19/06, Paul Elliott <pelliott@...2026...> wrote:
This is the kind of calculation computers were designed to do.
Unfortunately, Inkscape does not yet have any code from that. The closest thing we have is the "Envelope" extension - it puts objects into an arbitrary four-sided envelope but without perspective distortions.
If anyone feels up to the task, we would really appreciate a perspective-enabled extension. You can use the Envelope as the starting point.
Let me have a rectangle, and let me say that the four corners of the rectangle now map to these four courners of a rombus, let the computer figure out how to move the other points.
Take a look at the Envelope effect...
http://tavmjong.free.fr/INKSCAPE/MANUAL/html/ch16s04.html#Effects-Envelope
Paul Elliott wrote:
How do I do 2 point perspective using inkscape? I could not find it in the documentation.
You know parallel lines meet at a point on the horizon?
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
Paul
If you want to do it yourself, I think it is pretty straightforward, there is a series of tutorials at http://www.khulsey.com/perspective_2pt.html if you want to have a look.
This is a page on the Web site http://www.khulsey.com/student.html, which provides Adobe Illustrator & Photoshop Tutorials & Lessons, and might be of general interest to Inkscape users.
Adam
On 10/18/06, Paul Elliott <pelliott@...2026...> wrote:
How do I do 2 point perspective using inkscape? I could not find it in the documentation.
You know parallel lines meet at a point on the horizon?
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
Hi, this isn't the same, but would it help?
http://tavmjong.free.fr/INKSCAPE/MANUAL/html/ch02s06.html
Cheers, Kyungjoon Lee
On Wed, 18 Oct 2006, Paul Elliott wrote:
How do I do 2 point perspective using inkscape? I could not find it in the documentation.
I dont know. Anyone? Bueller? Bueller?
I do know there is some work underway on other grid types. There have been many requests for guides at all kinds of angles (which I've closed) and a request for Perspective Grid https://sourceforge.net/tracker/index.php?func=detail&aid=1005753&gr...
Which when implemented will hopefully make your task easier.
I would like to draw something as a flat surface, and then put it on the ground and have inkscape figure out how to do the distortion.
Skew is included in the Transform dialog but as far as I know there are no tools or extensions to automate the process as I understand your request.
This tutorial isn't exactly what you are looking for but maybe it will be of some interest. http://tavmjong.free.fr/INKSCAPE/MANUAL/html/ch02s06.html
On Thu, Oct 19, 2006 at 02:33:25PM +0100, Alan Horkan wrote:
Skew is included in the Transform dialog but as far as I know there are no tools or extensions to automate the process as I understand your request.
Except, Skew isn't what he wants at all. Skew, Rotation, Translation are all Affine Transforms, which is what the Transform dialog offers. What he/we/whomever want is the ability to perform Perspective Transforms. The math isn't that much more complicated, it just isn't implemented, and no offense intended, but there are some real scary bits in the Inkscape code base (as there are in all).
Affine transforms look like
[a b c] [d e f] [0 0 1]
Perspective transforms look like
[a b c] [d e f] [g h 1]
Jeff
participants (16)
-
unknown@example.com
-
Aaron Spike
-
Adamsown
-
Alan Horkan
-
Boris Borcic
-
bulia byak
-
Donn
-
Edward Hume
-
Jeffrey Brent McBeth
-
John Cliff
-
Kyungjoon Lee
-
Michael Moore
-
Nicu Buculei
-
Nicu Buculei (OCAL)
-
Paul Elliott
-
Tavmjong Bah