Re: Resolve/Reduce is taking forever
- To: mathgroup at smc.vnet.net
- Subject: [mg67237] Re: Resolve/Reduce is taking forever
- From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
- Date: Wed, 14 Jun 2006 06:28:41 -0400 (EDT)
- Organization: Uni Leipzig
- References: <e6lhfd$nd3$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
a) a line and a polynom of third order *must* have
a crossing
some where in the plane, so a infinite line
will never stay
left of the curve, except a3 is zero
b) you can search for the solutions a3×t^3 +
a2×t^2 + a1×t + a0==b1×t + b0
and look if there is a real solution and if the
real solution
is in the range 0 <= t <= 1
c) when you found no valid real solution you can
just calculate
Integrate[b1×t + b0-(a3×t^3 + a2×t^2 + a1×t +
a0),{t,0,1}]
when the value is positive than the line is
above (left) the polynom
and otherwiese it its below (right) the polynom
Regards
Jens
"Bonny Banerjee" <banerjee at cse.ohio-state.edu>
schrieb im Newsbeitrag
news:e6lhfd$nd3$1 at smc.vnet.net...
|I am trying to write a simple function that
determines the conditions for a
| curve to be on the left of a straight line. A
curve is to the left of a
| straight line if each point on the curve is to
the left of the straight
| line. The curve is specified using parametric
equations:
|
| x -> a3×t^3 + a2×t^2 + a1×t + a0
| y -> b1×t + b0
|
| where t is the parameter, 0<=t<=1, and {a0, a1,
a2, a3, b0, b1} are real
| coefficients. The straight line is specified
using two points {x1,y1} and
| {x2,y2}.
|
| Here is the function:
|
| isLeftofLine[{x1_, y1_}, {x2_, y2_}, {a0_, a1_,
a2_, a3_, b0_, b1_}] =
| Resolve[
| ForAll[t, 0 <= t <= 1 => fxy[{x1, y1}, {x2,
y2}, {a3×t^3 + a2×t^2 +
| a1×t + a0, b1×t + b0}] <= 0],
| {a0, a1, a2, a3, b0, b1}, Reals]
|
| where
|
| fxy[{x1_, y1_}, {x2_, y2_}, {x_, y_}] =
| (x - x1)×(y2 - y1) - (y - y1)×(x2 - x1)
|
| I tried Resolve and Reduce but both are taking
forever. I waited for more
| than 4 hours but could not get any result from
any of them. Considering this
| is a simple logical expression with only one
universal quantifier, I am
| surprised at what might be taking so long.
|
| Any insights would be very helpful. Also, any
alternative method for solving
| the same problem, such as using any other
function in place of
| Reduce/Resolve or using a different
representation for the curve or straight
| line, would be nice to know. I preferred using
parametric equations for
| representing the curve as the curve is finite.
|
| Thanks,
| Bonny.
|
|
|