You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(15) |
Oct
(32) |
Nov
(35) |
Dec
(48) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(46) |
Feb
(22) |
Mar
(65) |
Apr
(49) |
May
(22) |
Jun
(29) |
Jul
(51) |
Aug
(34) |
Sep
(32) |
Oct
(46) |
Nov
(30) |
Dec
(32) |
| 2002 |
Jan
(48) |
Feb
(4) |
Mar
(20) |
Apr
(28) |
May
(13) |
Jun
(34) |
Jul
(51) |
Aug
(15) |
Sep
(15) |
Oct
(35) |
Nov
(15) |
Dec
(20) |
| 2003 |
Jan
(31) |
Feb
(111) |
Mar
(41) |
Apr
(28) |
May
(36) |
Jun
(29) |
Jul
(27) |
Aug
(29) |
Sep
(47) |
Oct
(28) |
Nov
(7) |
Dec
(26) |
| 2004 |
Jan
(44) |
Feb
(9) |
Mar
(17) |
Apr
(26) |
May
(58) |
Jun
(13) |
Jul
(44) |
Aug
(64) |
Sep
(30) |
Oct
(11) |
Nov
(21) |
Dec
(28) |
| 2005 |
Jan
(29) |
Feb
(11) |
Mar
(11) |
Apr
(22) |
May
(85) |
Jun
(46) |
Jul
(17) |
Aug
(18) |
Sep
(14) |
Oct
(22) |
Nov
(1) |
Dec
(45) |
| 2006 |
Jan
(20) |
Feb
(36) |
Mar
(18) |
Apr
(24) |
May
(21) |
Jun
(48) |
Jul
(23) |
Aug
(20) |
Sep
(10) |
Oct
(41) |
Nov
(46) |
Dec
(40) |
| 2007 |
Jan
(40) |
Feb
(20) |
Mar
(13) |
Apr
(6) |
May
(24) |
Jun
(31) |
Jul
(30) |
Aug
(11) |
Sep
(11) |
Oct
(10) |
Nov
(56) |
Dec
(64) |
| 2008 |
Jan
(64) |
Feb
(22) |
Mar
(63) |
Apr
(28) |
May
(25) |
Jun
(36) |
Jul
(11) |
Aug
(9) |
Sep
(14) |
Oct
(41) |
Nov
(46) |
Dec
(130) |
| 2009 |
Jan
(95) |
Feb
(41) |
Mar
(24) |
Apr
(35) |
May
(53) |
Jun
(67) |
Jul
(48) |
Aug
(48) |
Sep
(86) |
Oct
(75) |
Nov
(64) |
Dec
(52) |
| 2010 |
Jan
(57) |
Feb
(31) |
Mar
(28) |
Apr
(40) |
May
(25) |
Jun
(42) |
Jul
(79) |
Aug
(31) |
Sep
(49) |
Oct
(66) |
Nov
(38) |
Dec
(25) |
| 2011 |
Jan
(29) |
Feb
(18) |
Mar
(44) |
Apr
(6) |
May
(28) |
Jun
(31) |
Jul
(36) |
Aug
(24) |
Sep
(30) |
Oct
(23) |
Nov
(21) |
Dec
(27) |
| 2012 |
Jan
(14) |
Feb
(11) |
Mar
(2) |
Apr
(48) |
May
(7) |
Jun
(32) |
Jul
(22) |
Aug
(25) |
Sep
(31) |
Oct
(32) |
Nov
(21) |
Dec
(17) |
| 2013 |
Jan
(44) |
Feb
(27) |
Mar
(3) |
Apr
(1) |
May
|
Jun
|
Jul
(3) |
Aug
(4) |
Sep
(1) |
Oct
(7) |
Nov
(5) |
Dec
(5) |
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
(2) |
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Steve S. <st...@sp...> - 2009-09-12 17:35:28
|
Hi Lenore... On Sep 12, 2009, at 8:38 AM, Lenore Horner wrote: > (Sorry, forgot to cc the list.) > > Hi Steve, > > You're saying the following? > a = 1 > b = a > b = 3 > Now print a would give 3? No... not really. Assignments in python just add references to existing objects. So... a=1 Makes the label 'a' refer to the integer object that represents the integer '1'. b=a Makes the label 'b' refer to the same object that 'a' refers to.... in this case it happnes to be an integer: '1' (but python doesn't really care about that). b=3 just makes 'b' now refer to the integer object '3', 'a' still refers to '1' as it did before. > > I could almost understand if the following were true. > air.acceleration = gravity > gravity = gravity + (1,0,1) > print acceleration gives (1,-9.8,1) > > That would mean the assignment was somehow permanent, which is to my > mind quite weird but potentially useful. This case is more subtle... gravity = gravity + (1,0,1) First the right hand side... "gravity + (1,0,1)" creates a *new* vector object. The assignment then makes the label 'gravity' refer to that new object. > > But it sounds like you're saying that assignment in python makes two > variables identical rather than giving the one on the left the current > value of the one on the right? That seems to me to be incredibly > awkward. How is one supposed to initialize several things identically > (no possibility of typos or slider misadjustments) and then let them > evolve differently? You can use the vector constructor to make multiple identical vectors: x = vector(1,2,3) y = vector(x) The 'vector(x)' creates a new, independent vector object that is initialized to have the same components as the existing vector object referred to by 'x'. As Bruce points out... check out the document: http://vpython.org/contents/experienced.html it has some great tips and may avert other problems ;-). Hope that's helpful.... -steve |
|
From: Bruce S. <Bru...@nc...> - 2009-09-12 17:17:13
|
It may be useful to read the discussion "How Python is different from languages you may know" found in the documentation section of vpython.org. The most common trap for experienced programmers who are new to Python is precisely this issue. Bruce Sherwood Lenore Horner wrote: > So a vector is a list which also has strange properties. I still want > to know why it is more useful to have two names for the same thing than > it is to copy the values from one thing to another thing. > > Granted, I have since found out I can work around this problem with the > following clumsy process (the least clumsy of the three I have found). > >>> from visual import * > >>> a = vector(0,0,1) > >>> b = vector(a.x,a.y,a.z) > >>> print a,b > <0, 0, 1> <0, 0, 1> > >>> b.x=1 > >>> print a,b > <0, 0, 1> <1, 0, 1> > > Lenore > > > On Sep 12, 2009, at 10:12 , Robert Xiao wrote: > >> Vector objects are mutable, which means they get passed by reference >> instead of by value. It also means that statements like "a=b" do not >> copy the value, but they copy the reference (making a and b point to >> the same vector). So, >> >> a = vector(1,2,3) >> b = a >> b.x = 3 >> print a >> >> yields >> <3, 2, 3> >> >> as expected, because a and b refer to the same vector. The same thing >> happens with list objects in Python. >> >> Numbers, tuples and strings are immutable in Python, so they are >> passed by value. >> >> Robert >> >> 2009/9/12 Lenore Horner <lh...@si... <mailto:lh...@si...>> >> >> (Sorry, forgot to cc the list.) >> >> Hi Steve, >> >> You're saying the following? >> a = 1 >> b = a >> b = 3 >> Now print a would give 3? >> >> I could almost understand if the following were true. >> air.acceleration = gravity >> gravity = gravity + (1,0,1) >> print acceleration gives (1,-9.8,1) >> >> That would mean the assignment was somehow permanent, which is to my >> mind quite weird but potentially useful. >> >> But it sounds like you're saying that assignment in python makes two >> variables identical rather than giving the one on the left the current >> value of the one on the right? That seems to me to be incredibly >> awkward. How is one supposed to initialize several things identically >> (no possibility of typos or slider misadjustments) and then let them >> evolve differently? >> >> ----- >> Testing: >> Nope, that's not true. >> >>> a = 1 >> >>> print a >> 1 >> >>> b = a >> >>> print a, b >> 1 1 >> >>> b = 3 >> >>> print a, b >> 1 3 >> >> Well maybe vectors behave differently than scalars. >> Nope. >> >>> a = (0,0,1) >> >>> b = a >> >>> print b >> (0, 0, 1) >> >>> b = (1,0,0) >> >>> print a, b >> (0, 0, 1) (1, 0, 0) >> >> Maybe a vector is different than a tuple. >> Nope. >> from visual import * >> >>> a = vector(0,0,1) >> >>> b = a >> >>> b = vector(1,0,0) >> >>> print a, b >> <0, 0, 1> <1, 0, 0> >> >> But the above isn't quite what I'm doing in my code. Maybe component >> assignment works differently than all other types of assignment. >> Yup! >> >>> a = vector(0,0,1) >> >>> b = a >> >>> c = a >> >>> print a, b, c >> <0, 0, 1> <0, 0, 1> <0, 0, 1> >> >>> c.y = 5 >> >>> print a, b, c >> <0, 5, 1> <0, 5, 1> <0, 5, 1> >> >> Ok, that's just plain spooky. >> >> Can someone give me an example where that would be helpful? >> >> Now I have to go figure out how to dodge this bullet. >> >> Lenore >> >> >> On Sep 12, 2009, at 06:36 , Steve Spicklemire wrote: >> >> > Hi Lenore, >> > >> > It's about python assignments. You are assigning the *same* >> > acceleration vector to both objects, then changing the y component >> > of the same vector. >> No. I did not change the y component of the vector which was assigned >> to both of them. >> > >> > Instead of assigning both accelerations to the same vector (gravity) >> > try initializing them with different vectors: >> > >> > pixie.acceleration = vector(0,-9.8,0) >> > air.acceleration = vector(0,-9.8,0) >> > >> > then when you fiddle with the y components, it will be the y >> > components of different vector objects. >> > >> > That should work! >> > -steve >> > >> > On Sep 12, 2009, at 7:26 AM, Lenore Horner wrote: >> > >> >> Sorry. I was in too big a hurry and forgot to paste the code. >> Here >> >> it is. I've put arrows off to the right indicating the lines where >> >> both air.acceleration and pixie.acceleration are being changed >> >> despite >> >> the fact that only air.acceleration appears in the code. I've >> >> included all of the while loop. I don't see anywhere that I'm >> >> reassigning pixie.acceleration from its original value of >> gravity but >> >> it changes as soon as it hits those to statements (and not before). >> >> >> >> Thanks, >> >> Lenore >> >> >> >> >> >> angle = math.pi/4 >> >> speed = 13.0 >> >> >> >> power = 2 >> >> constant = 1 >> >> >> >> gravity = vector(0,-9.8,0) >> >> >> >> launch_velocity = >> >> vector(speed*math.cos(angle),speed*math.sin(angle),0) >> >> >> >> pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red) >> >> pixie.velocity = launch_velocity >> >> pixie.acceleration = gravity >> >> >> >> air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, >> color=color.blue) >> >> air.velocity = launch_velocity >> >> air.acceleration = gravity >> >> >> >> scene.mouse.getclick() # Don't launch until we're watching >> >> >> >> dt = 0.01 >> >> while 1: >> >> rate(100) >> >> air.pos = air.pos + air.velocity*dt >> >> if air.y < -3.55: >> >> air.velocity = vector(0,0,0) >> >> else: >> >> air.velocity = air.velocity + air.acceleration*dt >> >> air.acceleration.y = gravity.y - sign(air.velocity.y) * >> >> constant * air.radius * air.velocity.y**power <----- >> >> print "5", air.acceleration, pixie.acceleration >> >> air.acceleration.x = -sign(air.velocity.x) * constant * >> >> air.radius * air.velocity.x**power <------- >> >> print "6", air.acceleration, pixie.acceleration >> >> >> >> pixie.pos = pixie.pos + pixie.velocity*dt >> >> if pixie.y < -3.55: >> >> pixie.velocity = vector(0,0,0) >> >> else: >> >> pixie.velocity = pixie.velocity + pixie.acceleration*dt >> >> >> >> >> >> On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote: >> >> >> >>> Can you explain the context of your question? I have no idea what >> >>> program or >> >>> documentation you're referring to. >> >>> >> >>> Bruce Sherwood >> >>> >> >>> Lenore Horner wrote: >> >>>> Perhaps I'm just blind, but I can't figure out why the assignment >> >>>> statements above print "5" and print "6" affect both acceleration >> >>>> vectors, but they do. How do I change the acceleration vector of >> >>>> one >> >>>> object without touching the vector of other objects? >> >>>> >> >>>> Thanks, >> >>>> Lenore >> >>> >> >>> >> ------------------------------------------------------------------------------ >> >>> Let Crystal Reports handle the reporting - Free Crystal >> Reports 2008 >> >>> 30-Day >> >>> trial. Simplify your report design, integration and deployment >> - and >> >>> focus on >> >>> what you do best, core application coding. Discover what's new >> with >> >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> >>> _______________________________________________ >> >>> Visualpython-users mailing list >> >>> Vis...@li... >> <mailto:Vis...@li...> >> >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >> >> >> >> >> >> >> ------------------------------------------------------------------------------ >> >> Let Crystal Reports handle the reporting - Free Crystal Reports >> >> 2008 30-Day >> >> trial. Simplify your report design, integration and deployment - >> >> and focus on >> >> what you do best, core application coding. Discover what's new with >> >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> >> _______________________________________________ >> >> Visualpython-users mailing list >> >> Vis...@li... >> <mailto:Vis...@li...> >> >> https://lists.sourceforge.net/lists/listinfo/visualpython-users >> > >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports >> 2008 30-Day >> trial. Simplify your report design, integration and deployment - >> and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> <mailto:Vis...@li...> >> https://lists.sourceforge.net/lists/listinfo/visualpython-users >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> trial. Simplify your report design, integration and deployment - and >> focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. >> http://p.sf.net/sfu/bobj-july_______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> <mailto:Vis...@li...> >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > ------------------------------------------------------------------------ > > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
|
From: Lenore H. <lh...@si...> - 2009-09-12 16:23:50
|
So a vector is a list which also has strange properties. I still want to know why it is more useful to have two names for the same thing than it is to copy the values from one thing to another thing. Granted, I have since found out I can work around this problem with the following clumsy process (the least clumsy of the three I have found). >>> from visual import * >>> a = vector(0,0,1) >>> b = vector(a.x,a.y,a.z) >>> print a,b <0, 0, 1> <0, 0, 1> >>> b.x=1 >>> print a,b <0, 0, 1> <1, 0, 1> Lenore On Sep 12, 2009, at 10:12 , Robert Xiao wrote: > Vector objects are mutable, which means they get passed by reference > instead of by value. It also means that statements like "a=b" do not > copy the value, but they copy the reference (making a and b point to > the same vector). So, > > a = vector(1,2,3) > b = a > b.x = 3 > print a > > yields > <3, 2, 3> > > as expected, because a and b refer to the same vector. The same > thing happens with list objects in Python. > > Numbers, tuples and strings are immutable in Python, so they are > passed by value. > > Robert > > 2009/9/12 Lenore Horner <lh...@si...> > (Sorry, forgot to cc the list.) > > Hi Steve, > > You're saying the following? > a = 1 > b = a > b = 3 > Now print a would give 3? > > I could almost understand if the following were true. > air.acceleration = gravity > gravity = gravity + (1,0,1) > print acceleration gives (1,-9.8,1) > > That would mean the assignment was somehow permanent, which is to my > mind quite weird but potentially useful. > > But it sounds like you're saying that assignment in python makes two > variables identical rather than giving the one on the left the current > value of the one on the right? That seems to me to be incredibly > awkward. How is one supposed to initialize several things identically > (no possibility of typos or slider misadjustments) and then let them > evolve differently? > > ----- > Testing: > Nope, that's not true. > >>> a = 1 > >>> print a > 1 > >>> b = a > >>> print a, b > 1 1 > >>> b = 3 > >>> print a, b > 1 3 > > Well maybe vectors behave differently than scalars. > Nope. > >>> a = (0,0,1) > >>> b = a > >>> print b > (0, 0, 1) > >>> b = (1,0,0) > >>> print a, b > (0, 0, 1) (1, 0, 0) > > Maybe a vector is different than a tuple. > Nope. > from visual import * > >>> a = vector(0,0,1) > >>> b = a > >>> b = vector(1,0,0) > >>> print a, b > <0, 0, 1> <1, 0, 0> > > But the above isn't quite what I'm doing in my code. Maybe component > assignment works differently than all other types of assignment. > Yup! > >>> a = vector(0,0,1) > >>> b = a > >>> c = a > >>> print a, b, c > <0, 0, 1> <0, 0, 1> <0, 0, 1> > >>> c.y = 5 > >>> print a, b, c > <0, 5, 1> <0, 5, 1> <0, 5, 1> > > Ok, that's just plain spooky. > > Can someone give me an example where that would be helpful? > > Now I have to go figure out how to dodge this bullet. > > Lenore > > > On Sep 12, 2009, at 06:36 , Steve Spicklemire wrote: > > > Hi Lenore, > > > > It's about python assignments. You are assigning the *same* > > acceleration vector to both objects, then changing the y component > > of the same vector. > No. I did not change the y component of the vector which was assigned > to both of them. > > > > Instead of assigning both accelerations to the same vector (gravity) > > try initializing them with different vectors: > > > > pixie.acceleration = vector(0,-9.8,0) > > air.acceleration = vector(0,-9.8,0) > > > > then when you fiddle with the y components, it will be the y > > components of different vector objects. > > > > That should work! > > -steve > > > > On Sep 12, 2009, at 7:26 AM, Lenore Horner wrote: > > > >> Sorry. I was in too big a hurry and forgot to paste the code. > Here > >> it is. I've put arrows off to the right indicating the lines where > >> both air.acceleration and pixie.acceleration are being changed > >> despite > >> the fact that only air.acceleration appears in the code. I've > >> included all of the while loop. I don't see anywhere that I'm > >> reassigning pixie.acceleration from its original value of gravity > but > >> it changes as soon as it hits those to statements (and not before). > >> > >> Thanks, > >> Lenore > >> > >> > >> angle = math.pi/4 > >> speed = 13.0 > >> > >> power = 2 > >> constant = 1 > >> > >> gravity = vector(0,-9.8,0) > >> > >> launch_velocity = > >> vector(speed*math.cos(angle),speed*math.sin(angle),0) > >> > >> pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red) > >> pixie.velocity = launch_velocity > >> pixie.acceleration = gravity > >> > >> air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, > color=color.blue) > >> air.velocity = launch_velocity > >> air.acceleration = gravity > >> > >> scene.mouse.getclick() # Don't launch until we're watching > >> > >> dt = 0.01 > >> while 1: > >> rate(100) > >> air.pos = air.pos + air.velocity*dt > >> if air.y < -3.55: > >> air.velocity = vector(0,0,0) > >> else: > >> air.velocity = air.velocity + air.acceleration*dt > >> air.acceleration.y = gravity.y - sign(air.velocity.y) * > >> constant * air.radius * air.velocity.y**power <----- > >> print "5", air.acceleration, pixie.acceleration > >> air.acceleration.x = -sign(air.velocity.x) * constant * > >> air.radius * air.velocity.x**power <------- > >> print "6", air.acceleration, pixie.acceleration > >> > >> pixie.pos = pixie.pos + pixie.velocity*dt > >> if pixie.y < -3.55: > >> pixie.velocity = vector(0,0,0) > >> else: > >> pixie.velocity = pixie.velocity + pixie.acceleration*dt > >> > >> > >> On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote: > >> > >>> Can you explain the context of your question? I have no idea what > >>> program or > >>> documentation you're referring to. > >>> > >>> Bruce Sherwood > >>> > >>> Lenore Horner wrote: > >>>> Perhaps I'm just blind, but I can't figure out why the assignment > >>>> statements above print "5" and print "6" affect both acceleration > >>>> vectors, but they do. How do I change the acceleration vector of > >>>> one > >>>> object without touching the vector of other objects? > >>>> > >>>> Thanks, > >>>> Lenore > >>> > >>> > ------------------------------------------------------------------------------ > >>> Let Crystal Reports handle the reporting - Free Crystal Reports > 2008 > >>> 30-Day > >>> trial. Simplify your report design, integration and deployment - > and > >>> focus on > >>> what you do best, core application coding. Discover what's new > with > >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> _______________________________________________ > >>> Visualpython-users mailing list > >>> Vis...@li... > >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users > >> > >> > >> > ------------------------------------------------------------------------------ > >> Let Crystal Reports handle the reporting - Free Crystal Reports > >> 2008 30-Day > >> trial. Simplify your report design, integration and deployment - > >> and focus on > >> what you do best, core application coding. Discover what's new with > >> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >> _______________________________________________ > >> Visualpython-users mailing list > >> Vis...@li... > >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july_______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
|
From: Robert X. <nne...@gm...> - 2009-09-12 15:13:01
|
Vector objects are mutable, which means they get passed by reference instead of by value. It also means that statements like "a=b" do not copy the value, but they copy the reference (making a and b point to the same vector). So, a = vector(1,2,3) b = a b.x = 3 print a yields <3, 2, 3> as expected, because a and b refer to the same vector. The same thing happens with list objects in Python. Numbers, tuples and strings are immutable in Python, so they are passed by value. Robert 2009/9/12 Lenore Horner <lh...@si...> > (Sorry, forgot to cc the list.) > > Hi Steve, > > You're saying the following? > a = 1 > b = a > b = 3 > Now print a would give 3? > > I could almost understand if the following were true. > air.acceleration = gravity > gravity = gravity + (1,0,1) > print acceleration gives (1,-9.8,1) > > That would mean the assignment was somehow permanent, which is to my > mind quite weird but potentially useful. > > But it sounds like you're saying that assignment in python makes two > variables identical rather than giving the one on the left the current > value of the one on the right? That seems to me to be incredibly > awkward. How is one supposed to initialize several things identically > (no possibility of typos or slider misadjustments) and then let them > evolve differently? > > ----- > Testing: > Nope, that's not true. > >>> a = 1 > >>> print a > 1 > >>> b = a > >>> print a, b > 1 1 > >>> b = 3 > >>> print a, b > 1 3 > > Well maybe vectors behave differently than scalars. > Nope. > >>> a = (0,0,1) > >>> b = a > >>> print b > (0, 0, 1) > >>> b = (1,0,0) > >>> print a, b > (0, 0, 1) (1, 0, 0) > > Maybe a vector is different than a tuple. > Nope. > from visual import * > >>> a = vector(0,0,1) > >>> b = a > >>> b = vector(1,0,0) > >>> print a, b > <0, 0, 1> <1, 0, 0> > > But the above isn't quite what I'm doing in my code. Maybe component > assignment works differently than all other types of assignment. > Yup! > >>> a = vector(0,0,1) > >>> b = a > >>> c = a > >>> print a, b, c > <0, 0, 1> <0, 0, 1> <0, 0, 1> > >>> c.y = 5 > >>> print a, b, c > <0, 5, 1> <0, 5, 1> <0, 5, 1> > > Ok, that's just plain spooky. > > Can someone give me an example where that would be helpful? > > Now I have to go figure out how to dodge this bullet. > > Lenore > > > On Sep 12, 2009, at 06:36 , Steve Spicklemire wrote: > > > Hi Lenore, > > > > It's about python assignments. You are assigning the *same* > > acceleration vector to both objects, then changing the y component > > of the same vector. > No. I did not change the y component of the vector which was assigned > to both of them. > > > > Instead of assigning both accelerations to the same vector (gravity) > > try initializing them with different vectors: > > > > pixie.acceleration = vector(0,-9.8,0) > > air.acceleration = vector(0,-9.8,0) > > > > then when you fiddle with the y components, it will be the y > > components of different vector objects. > > > > That should work! > > -steve > > > > On Sep 12, 2009, at 7:26 AM, Lenore Horner wrote: > > > >> Sorry. I was in too big a hurry and forgot to paste the code. Here > >> it is. I've put arrows off to the right indicating the lines where > >> both air.acceleration and pixie.acceleration are being changed > >> despite > >> the fact that only air.acceleration appears in the code. I've > >> included all of the while loop. I don't see anywhere that I'm > >> reassigning pixie.acceleration from its original value of gravity but > >> it changes as soon as it hits those to statements (and not before). > >> > >> Thanks, > >> Lenore > >> > >> > >> angle = math.pi/4 > >> speed = 13.0 > >> > >> power = 2 > >> constant = 1 > >> > >> gravity = vector(0,-9.8,0) > >> > >> launch_velocity = > >> vector(speed*math.cos(angle),speed*math.sin(angle),0) > >> > >> pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red) > >> pixie.velocity = launch_velocity > >> pixie.acceleration = gravity > >> > >> air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, color=color.blue) > >> air.velocity = launch_velocity > >> air.acceleration = gravity > >> > >> scene.mouse.getclick() # Don't launch until we're watching > >> > >> dt = 0.01 > >> while 1: > >> rate(100) > >> air.pos = air.pos + air.velocity*dt > >> if air.y < -3.55: > >> air.velocity = vector(0,0,0) > >> else: > >> air.velocity = air.velocity + air.acceleration*dt > >> air.acceleration.y = gravity.y - sign(air.velocity.y) * > >> constant * air.radius * air.velocity.y**power <----- > >> print "5", air.acceleration, pixie.acceleration > >> air.acceleration.x = -sign(air.velocity.x) * constant * > >> air.radius * air.velocity.x**power <------- > >> print "6", air.acceleration, pixie.acceleration > >> > >> pixie.pos = pixie.pos + pixie.velocity*dt > >> if pixie.y < -3.55: > >> pixie.velocity = vector(0,0,0) > >> else: > >> pixie.velocity = pixie.velocity + pixie.acceleration*dt > >> > >> > >> On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote: > >> > >>> Can you explain the context of your question? I have no idea what > >>> program or > >>> documentation you're referring to. > >>> > >>> Bruce Sherwood > >>> > >>> Lenore Horner wrote: > >>>> Perhaps I'm just blind, but I can't figure out why the assignment > >>>> statements above print "5" and print "6" affect both acceleration > >>>> vectors, but they do. How do I change the acceleration vector of > >>>> one > >>>> object without touching the vector of other objects? > >>>> > >>>> Thanks, > >>>> Lenore > >>> > >>> > ------------------------------------------------------------------------------ > >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > >>> 30-Day > >>> trial. Simplify your report design, integration and deployment - and > >>> focus on > >>> what you do best, core application coding. Discover what's new with > >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >>> _______________________________________________ > >>> Visualpython-users mailing list > >>> Vis...@li... > >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users > >> > >> > >> > ------------------------------------------------------------------------------ > >> Let Crystal Reports handle the reporting - Free Crystal Reports > >> 2008 30-Day > >> trial. Simplify your report design, integration and deployment - > >> and focus on > >> what you do best, core application coding. Discover what's new with > >> Crystal Reports now. http://p.sf.net/sfu/bobj-july > >> _______________________________________________ > >> Visualpython-users mailing list > >> Vis...@li... > >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > |
|
From: Lenore H. <lh...@si...> - 2009-09-12 12:38:31
|
(Sorry, forgot to cc the list.) Hi Steve, You're saying the following? a = 1 b = a b = 3 Now print a would give 3? I could almost understand if the following were true. air.acceleration = gravity gravity = gravity + (1,0,1) print acceleration gives (1,-9.8,1) That would mean the assignment was somehow permanent, which is to my mind quite weird but potentially useful. But it sounds like you're saying that assignment in python makes two variables identical rather than giving the one on the left the current value of the one on the right? That seems to me to be incredibly awkward. How is one supposed to initialize several things identically (no possibility of typos or slider misadjustments) and then let them evolve differently? ----- Testing: Nope, that's not true. >>> a = 1 >>> print a 1 >>> b = a >>> print a, b 1 1 >>> b = 3 >>> print a, b 1 3 Well maybe vectors behave differently than scalars. Nope. >>> a = (0,0,1) >>> b = a >>> print b (0, 0, 1) >>> b = (1,0,0) >>> print a, b (0, 0, 1) (1, 0, 0) Maybe a vector is different than a tuple. Nope. from visual import * >>> a = vector(0,0,1) >>> b = a >>> b = vector(1,0,0) >>> print a, b <0, 0, 1> <1, 0, 0> But the above isn't quite what I'm doing in my code. Maybe component assignment works differently than all other types of assignment. Yup! >>> a = vector(0,0,1) >>> b = a >>> c = a >>> print a, b, c <0, 0, 1> <0, 0, 1> <0, 0, 1> >>> c.y = 5 >>> print a, b, c <0, 5, 1> <0, 5, 1> <0, 5, 1> Ok, that's just plain spooky. Can someone give me an example where that would be helpful? Now I have to go figure out how to dodge this bullet. Lenore On Sep 12, 2009, at 06:36 , Steve Spicklemire wrote: > Hi Lenore, > > It's about python assignments. You are assigning the *same* > acceleration vector to both objects, then changing the y component > of the same vector. No. I did not change the y component of the vector which was assigned to both of them. > > Instead of assigning both accelerations to the same vector (gravity) > try initializing them with different vectors: > > pixie.acceleration = vector(0,-9.8,0) > air.acceleration = vector(0,-9.8,0) > > then when you fiddle with the y components, it will be the y > components of different vector objects. > > That should work! > -steve > > On Sep 12, 2009, at 7:26 AM, Lenore Horner wrote: > >> Sorry. I was in too big a hurry and forgot to paste the code. Here >> it is. I've put arrows off to the right indicating the lines where >> both air.acceleration and pixie.acceleration are being changed >> despite >> the fact that only air.acceleration appears in the code. I've >> included all of the while loop. I don't see anywhere that I'm >> reassigning pixie.acceleration from its original value of gravity but >> it changes as soon as it hits those to statements (and not before). >> >> Thanks, >> Lenore >> >> >> angle = math.pi/4 >> speed = 13.0 >> >> power = 2 >> constant = 1 >> >> gravity = vector(0,-9.8,0) >> >> launch_velocity = >> vector(speed*math.cos(angle),speed*math.sin(angle),0) >> >> pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red) >> pixie.velocity = launch_velocity >> pixie.acceleration = gravity >> >> air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, color=color.blue) >> air.velocity = launch_velocity >> air.acceleration = gravity >> >> scene.mouse.getclick() # Don't launch until we're watching >> >> dt = 0.01 >> while 1: >> rate(100) >> air.pos = air.pos + air.velocity*dt >> if air.y < -3.55: >> air.velocity = vector(0,0,0) >> else: >> air.velocity = air.velocity + air.acceleration*dt >> air.acceleration.y = gravity.y - sign(air.velocity.y) * >> constant * air.radius * air.velocity.y**power <----- >> print "5", air.acceleration, pixie.acceleration >> air.acceleration.x = -sign(air.velocity.x) * constant * >> air.radius * air.velocity.x**power <------- >> print "6", air.acceleration, pixie.acceleration >> >> pixie.pos = pixie.pos + pixie.velocity*dt >> if pixie.y < -3.55: >> pixie.velocity = vector(0,0,0) >> else: >> pixie.velocity = pixie.velocity + pixie.acceleration*dt >> >> >> On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote: >> >>> Can you explain the context of your question? I have no idea what >>> program or >>> documentation you're referring to. >>> >>> Bruce Sherwood >>> >>> Lenore Horner wrote: >>>> Perhaps I'm just blind, but I can't figure out why the assignment >>>> statements above print "5" and print "6" affect both acceleration >>>> vectors, but they do. How do I change the acceleration vector of >>>> one >>>> object without touching the vector of other objects? >>>> >>>> Thanks, >>>> Lenore >>> >>> ------------------------------------------------------------------------------ >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >>> 30-Day >>> trial. Simplify your report design, integration and deployment - and >>> focus on >>> what you do best, core application coding. Discover what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> _______________________________________________ >>> Visualpython-users mailing list >>> Vis...@li... >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports >> 2008 30-Day >> trial. Simplify your report design, integration and deployment - >> and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > |
|
From: Steve S. <st...@sp...> - 2009-09-12 12:04:00
|
Hi Lenore, It's about python assignments. You are assigning the *same* acceleration vector to both objects, then changing the y component of the same vector. Instead of assigning both accelerations to the same vector (gravity) try initializing them with different vectors: pixie.acceleration = vector(0,-9.8,0) air.acceleration = vector(0,-9.8,0) then when you fiddle with the y components, it will be the y components of different vector objects. That should work! -steve On Sep 12, 2009, at 7:26 AM, Lenore Horner wrote: > Sorry. I was in too big a hurry and forgot to paste the code. Here > it is. I've put arrows off to the right indicating the lines where > both air.acceleration and pixie.acceleration are being changed despite > the fact that only air.acceleration appears in the code. I've > included all of the while loop. I don't see anywhere that I'm > reassigning pixie.acceleration from its original value of gravity but > it changes as soon as it hits those to statements (and not before). > > Thanks, > Lenore > > > angle = math.pi/4 > speed = 13.0 > > power = 2 > constant = 1 > > gravity = vector(0,-9.8,0) > > launch_velocity = vector(speed*math.cos(angle),speed*math.sin > (angle),0) > > pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red) > pixie.velocity = launch_velocity > pixie.acceleration = gravity > > air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, color=color.blue) > air.velocity = launch_velocity > air.acceleration = gravity > > scene.mouse.getclick() # Don't launch until we're watching > > dt = 0.01 > while 1: > rate(100) > air.pos = air.pos + air.velocity*dt > if air.y < -3.55: > air.velocity = vector(0,0,0) > else: > air.velocity = air.velocity + air.acceleration*dt > air.acceleration.y = gravity.y - sign(air.velocity.y) * > constant * air.radius * air.velocity.y**power <----- > print "5", air.acceleration, pixie.acceleration > air.acceleration.x = -sign(air.velocity.x) * constant * > air.radius * air.velocity.x**power <------- > print "6", air.acceleration, pixie.acceleration > > pixie.pos = pixie.pos + pixie.velocity*dt > if pixie.y < -3.55: > pixie.velocity = vector(0,0,0) > else: > pixie.velocity = pixie.velocity + pixie.acceleration*dt > > > On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote: > >> Can you explain the context of your question? I have no idea what >> program or >> documentation you're referring to. >> >> Bruce Sherwood >> >> Lenore Horner wrote: >>> Perhaps I'm just blind, but I can't figure out why the assignment >>> statements above print "5" and print "6" affect both acceleration >>> vectors, but they do. How do I change the acceleration vector of >>> one >>> object without touching the vector of other objects? >>> >>> Thanks, >>> Lenore >> >> --------------------------------------------------------------------- >> --------- >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 >> 30-Day >> trial. Simplify your report design, integration and deployment - and >> focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > ---------------------------------------------------------------------- > -------- > Let Crystal Reports handle the reporting - Free Crystal Reports > 2008 30-Day > trial. Simplify your report design, integration and deployment - > and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
|
From: Lenore H. <lh...@si...> - 2009-09-12 11:26:46
|
Sorry. I was in too big a hurry and forgot to paste the code. Here
it is. I've put arrows off to the right indicating the lines where
both air.acceleration and pixie.acceleration are being changed despite
the fact that only air.acceleration appears in the code. I've
included all of the while loop. I don't see anywhere that I'm
reassigning pixie.acceleration from its original value of gravity but
it changes as soon as it hits those to statements (and not before).
Thanks,
Lenore
angle = math.pi/4
speed = 13.0
power = 2
constant = 1
gravity = vector(0,-9.8,0)
launch_velocity = vector(speed*math.cos(angle),speed*math.sin(angle),0)
pixie = sphere(pos=vector(-9,-3.55,0), radius=0.2, color=color.red)
pixie.velocity = launch_velocity
pixie.acceleration = gravity
air = sphere(pos=vector(-9,-3.55,0.3), radius=0.15, color=color.blue)
air.velocity = launch_velocity
air.acceleration = gravity
scene.mouse.getclick() # Don't launch until we're watching
dt = 0.01
while 1:
rate(100)
air.pos = air.pos + air.velocity*dt
if air.y < -3.55:
air.velocity = vector(0,0,0)
else:
air.velocity = air.velocity + air.acceleration*dt
air.acceleration.y = gravity.y - sign(air.velocity.y) *
constant * air.radius * air.velocity.y**power <-----
print "5", air.acceleration, pixie.acceleration
air.acceleration.x = -sign(air.velocity.x) * constant *
air.radius * air.velocity.x**power <-------
print "6", air.acceleration, pixie.acceleration
pixie.pos = pixie.pos + pixie.velocity*dt
if pixie.y < -3.55:
pixie.velocity = vector(0,0,0)
else:
pixie.velocity = pixie.velocity + pixie.acceleration*dt
On Sep 11, 2009, at 18:20 , Bruce Sherwood wrote:
> Can you explain the context of your question? I have no idea what
> program or
> documentation you're referring to.
>
> Bruce Sherwood
>
> Lenore Horner wrote:
>> Perhaps I'm just blind, but I can't figure out why the assignment
>> statements above print "5" and print "6" affect both acceleration
>> vectors, but they do. How do I change the acceleration vector of one
>> object without touching the vector of other objects?
>>
>> Thanks,
>> Lenore
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008
> 30-Day
> trial. Simplify your report design, integration and deployment - and
> focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now. http://p.sf.net/sfu/bobj-july
> _______________________________________________
> Visualpython-users mailing list
> Vis...@li...
> https://lists.sourceforge.net/lists/listinfo/visualpython-users
|
|
From: Bruce S. <Bru...@nc...> - 2009-09-11 23:39:58
|
In INSTALL.txt which contains instructions for building Visual on Linux, there was a serious error in this suggestion: "There have been significant changes in where 3rd-party software is stored on Ubuntu 9.04. You probably want to use /usr/bin/python2.6 To configure, do this in a folder parallel to vpython-core2: PYTHON=/usr/bin/python ../vpython-core2/configure --prefix=/usr/local/lib" This statement should instead be PYTHON=/usr/bin/python ../vpython-core2/configure --prefix=/usr/local The error has been corrected in CVS. Bruce Sherwood |
|
From: Bruce S. <Bru...@nc...> - 2009-09-11 23:20:25
|
Can you explain the context of your question? I have no idea what program or documentation you're referring to. Bruce Sherwood Lenore Horner wrote: > Perhaps I'm just blind, but I can't figure out why the assignment > statements above print "5" and print "6" affect both acceleration > vectors, but they do. How do I change the acceleration vector of one > object without touching the vector of other objects? > > Thanks, > Lenore |
|
From: Bruce S. <Bru...@nc...> - 2009-09-11 23:18:45
|
Oops. I misread. What works for me is cmd-q, not cmd-w. And I note that cmd-q kills other Mac programs, too. Bruce Sherwood Bruce Sherwood wrote: > Works for me, both from VIDLE and from a terminal. What version of Python and > VPython are you using? On what kind of Mac with what operating system? > > Bruce Sherwood > > Lenore Horner wrote: >> On the Mac, is there a reason that the vpython window doesn't catch >> cmd-w? As I debug, I'm getting tired of mousing up to the red button >> - I'd rather just use cmd-w. >> >> (I'm not using VIDLE. Just editing and running from command-line.) >> >> Thanks, >> Lenore |
|
From: Robert X. <nne...@gm...> - 2009-09-11 18:35:20
|
What code are you using? 2009/9/11 Lenore Horner <lh...@si...> > Perhaps I'm just blind, but I can't figure out why the assignment > statements above print "5" and print "6" affect both acceleration > vectors, but they do. How do I change the acceleration vector of one > object without touching the vector of other objects? > > Thanks, > Lenore > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > |
|
From: Lenore H. <lh...@si...> - 2009-09-11 18:16:19
|
Perhaps I'm just blind, but I can't figure out why the assignment statements above print "5" and print "6" affect both acceleration vectors, but they do. How do I change the acceleration vector of one object without touching the vector of other objects? Thanks, Lenore |
|
From: Lenore H. <lh...@si...> - 2009-09-11 18:14:46
|
I'm using MacPython2.6 and the latest VPython on a PowerBook G4 running 10.5.8. Lenore On Sep 11, 2009, at 12:59 , Bruce Sherwood wrote: > Works for me, both from VIDLE and from a terminal. What version of > Python and VPython are you using? On what kind of Mac with what > operating system? > > Bruce Sherwood > > Lenore Horner wrote: >> On the Mac, is there a reason that the vpython window doesn't >> catch cmd-w? As I debug, I'm getting tired of mousing up to the >> red button - I'd rather just use cmd-w. >> (I'm not using VIDLE. Just editing and running from command-line.) >> Thanks, >> Lenore |
|
From: Bruce S. <Bru...@nc...> - 2009-09-11 17:59:42
|
Works for me, both from VIDLE and from a terminal. What version of Python and VPython are you using? On what kind of Mac with what operating system? Bruce Sherwood Lenore Horner wrote: > On the Mac, is there a reason that the vpython window doesn't catch > cmd-w? As I debug, I'm getting tired of mousing up to the red button > - I'd rather just use cmd-w. > > (I'm not using VIDLE. Just editing and running from command-line.) > > Thanks, > Lenore |
|
From: Lenore H. <lh...@si...> - 2009-09-11 17:49:23
|
On the Mac, is there a reason that the vpython window doesn't catch cmd-w? As I debug, I'm getting tired of mousing up to the red button - I'd rather just use cmd-w. (I'm not using VIDLE. Just editing and running from command-line.) Thanks, Lenore |
|
From: Adrian M. <adr...@ya...> - 2009-09-10 06:16:37
|
I’m using boa-constructor to create GUI in python with wxpython, and Vpython for 3D and 2D graph. Using the property “exit=false” for “display” allow me to continue with may nice GUI.
The problem is that with @@@@@ gdisplay @@@@@@@ this property doesn’t work!
I’m wrong, some ideas?
how to solve the problem?????????
oscillation = gdisplay(xtitle='Time', ytitle='Response')
oscillation.exit=false #don't work!!!!!!!!!!
Below is the code… (you need to install wxpython) (tested in Linux debian python2.5 and vpython 3.n; and in windows python2.6, vpython5)
Build with boa-constructor
need wxpython
File: Frame1.py
______________________________________________
#Boa:Frame:Frame1
import wx
from visual import *
from visual.graph import *
def create(parent):
return Frame1(parent)
[wxID_FRAME1] = [wx.NewId() for _init_ctrls in range(1)]
[wxID_FRAME1MENU1TEST2D, wxID_FRAME1MENU1TEST3D,
] = [wx.NewId() for _init_coll_menu1_Items in range(2)]
class Frame1(wx.Frame):
def _init_utils(self):
# generated method, don't edit
self.menu1 = wx.Menu(title='')
self.menuBar1 = wx.MenuBar()
self._init_coll_menu1_Items(self.menu1)
self._init_coll_menuBar1_Menus(self.menuBar1)
def _init_coll_menuBar1_Menus(self, parent):
# generated method, don't edit
parent.Append(menu=self.menu1, title=u'File')
def _init_coll_menu1_Items(self, parent):
# generated method, don't edit
parent.Append(help='', id=wxID_FRAME1MENU1TEST3D, kind=wx.ITEM_NORMAL,
text=u'test 3D')
parent.Append(help='', id=wxID_FRAME1MENU1TEST2D, kind=wx.ITEM_NORMAL,
text=u'test 2D')
self.Bind(wx.EVT_MENU, self.OnMenu1Test3dMenu,
id=wxID_FRAME1MENU1TEST3D)
self.Bind(wx.EVT_MENU, self.OnMenu1Test2dMenu,
id=wxID_FRAME1MENU1TEST2D)
def _init_ctrls(self, prnt):
# generated method, don't edit
wx.Frame.__init__(self, id=wxID_FRAME1, name='', parent=prnt,
pos=wx.Point(486, 335), size=wx.Size(400, 250),
style=wx.DEFAULT_FRAME_STYLE, title='Frame1')
self._init_utils()
self.SetClientSize(wx.Size(392, 216))
self.SetMenuBar(self.menuBar1)
def __init__(self, parent):
self._init_ctrls(parent)
# &&&&&&&&&&&&&&&&&&&&&&& That is the Vpython Code &&&&&&&&&&&&&&
def OnMenu1Test3dMenu(self, event):
#Work
scene=display(title='Un ejemplo')
scene.exit=false
floor = box(length=4, height=0.5, width=4, color=color.blue)
ball = sphere(pos=(0,4,0), color=color.red)
ball.velocity = vector(0,-1,0)
def OnMenu1Test2dMenu(self, event):
#Work but close the GUI at the end!
oscillation = gdisplay(xtitle='Time', ytitle='Response')
oscillation.exit=false #don't work
funct1 = gcurve(color=color.cyan)
funct2 = gvbars(delta=0.5, color=color.red)
funct3 = gdots(color=color.yellow)
for t in arange(-30, 74, 1):
funct1.plot( pos=(t, 5.0+5.0*cos(-0..2*t)*exp(0.015*t)) )
funct2.plot( pos=(t, 2.0+5.0*cos(-0.1*t)*exp(0.015*t)) )
funct3.plot( pos=(t, 5.0*cos(-0.03*t)*exp(0.015*t)) )
________________________________________________
File: App1.py (run this file..)
______________________________________________
#!/usr/bin/env python
#Boa:App:BoaApp
import wx
import Frame1
modules ={'Frame1': [1, 'Main frame of Application', u'Frame1.py']}
class BoaApp(wx.App):
def OnInit(self):
self.main = Frame1.create(None)
self.main.Show()
self.SetTopWindow(self.main)
return True
def main():
application = BoaApp(0)
application.MainLoop()
if __name__ == '__main__':
main()
|
|
From: Bruce S. <Bru...@nc...> - 2009-09-10 02:47:24
|
Now available at vpython.org is a Mac PowerPC installer for VPython 5.12, for OSX 10.4 or 10.5. Bruce Sherwood |
|
From: Stef M. <s.m...@ru...> - 2009-09-09 20:22:20
|
hi Jacob, I'm the author of those notes. thanks for the tip, I'll try it as soon as I've some more time. cheers, Stef Jacob Schmidt wrote: > Sorry for sending this to the list, but I couldn't finding any other way > of contacting the author of the vpython embedding code. On the website > it claims: > > [quote] > Remove Caption and Frame > > For real docking we want to remove the caption and the frame of the > VPython window, so the user can't control the buttons and mouse actions > on the caption and frame-borders. In windows this is not possible at > all, because the frame settings can only be set at the time of creation > of the window, of which we've no control at all. But with a trick we can > realize the same effect, by the correct positioning and sizing of the > window in a container. > [/quote] > > But in reality it is quite plausible to change the caption and > frame-borders in > windows after the window is created. > > Google SetWindowLong and check out all of the constants that start with > WS in > the win32api (or MSDN) > > SetWindowLong allows you to change the style dword of a window after it > has been > created. > > Jacob Schmidt > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > > > |
|
From: Jacob S. <sch...@ro...> - 2009-09-09 20:03:25
|
Sorry for sending this to the list, but I couldn't finding any other way of contacting the author of the vpython embedding code. On the website it claims: [quote] Remove Caption and Frame For real docking we want to remove the caption and the frame of the VPython window, so the user can't control the buttons and mouse actions on the caption and frame-borders. In windows this is not possible at all, because the frame settings can only be set at the time of creation of the window, of which we've no control at all. But with a trick we can realize the same effect, by the correct positioning and sizing of the window in a container. [/quote] But in reality it is quite plausible to change the caption and frame-borders in windows after the window is created. Google SetWindowLong and check out all of the constants that start with WS in the win32api (or MSDN) SetWindowLong allows you to change the style dword of a window after it has been created. Jacob Schmidt |
|
From: Bruce S. <Bru...@nc...> - 2009-09-09 16:21:55
|
It is interesting that VPython has recently become of interest to a community of expert programmers who would like to embed it in larger environments. I myself don't feel competent to think through or implement mechanisms to make this feasible (and currently I'm overcommitted to other work having to do with a major revision of a textbook and associated supplementary materials), and David Scherer, who does have the necessary competence, is not available, so what needs to happen is for someone or someones to step forward and try something. Bruce Sherwood Michele Mattioni wrote: > Hi All, > > I would like to add my two cents on this matter. > > If I understood correctly there is a growing need to integrate visual > window with a bigger library, that can be QT, GTK, WxPython or you > named it. > > Until now the approach that most of us has taken is to use something > similar to the one pointed out in the previous mail and now in the > FAQ. > > Shortly in this approach there are two threads running: > (i) visual thread, that is a gtk thread which manage the display with > the related zoom and rotate action. > (ii) application thread which manage to run the library of choice with > the application (e.g.: Another GTK thread, a QT one or wxPython.) > > This is all good until you want to do something different than zoom or > rotate the object. > > Let's take the click example: > http://vpython.org/contents/docs/visual/mouse_click.html > What is suggested is to enter a while True loop which will exit only > if that action will happen. This is called busy waiting and this is > bad. > > This is bad because the CPU is constantly checking if something has > been clicked. This happens every cycle making the computer > unresponsive and degrading the performance of the program. It's > acceptable for smaller program, it's completely cumbersome for bigger > one. > > To avoid the loss of performance somebody has proposed to use a timer, > as pointed out in the FAQ and the link above is one of the possible > solution; but this is not a workaround and just move the problem to > the update time of the timer without solving the problem. > > So the question is: > Why am I able to rotate or to zoom the objects without wasting CPU and > not to click on the objects? At the end of the day it's the same > window and it's the same objects! > > Shortly because the first two events are embedded in the visual > threads, and the GTK (as all the major UI library) is event driven. > Only if an event happens, the main loop will respond, checking if the > event is known and acts; otherwise nothing will happen. > > The last one comes from outside the main visual loop and because our > event is not recorded in the visual loop, we need to: > - Lock the application with a while true > - Wait until our user click on the object. > > If our user does not click on the object and change his mind we can't > do anything about it. He can only click. However he can still rotate > and zoom because this event are managed (and recognised) by the visual > main loop. > > What is the solution? > > Deploy a proper visual widget that can be integrated in GTK, QT, > wxPython, windows and MAc. > > The code starti the display: > http://visualpython.cvs.sourceforge.net/viewvc/visualpython/vpython-core2/src/gtk2/display.cpp?revision=1.57&view=markup > > should be divided in two chunks: > - One class with all the visual goodness > - Several class which extend the first class and provide a GTK widget, > wxPython widget and Qt widget (and I guess windows and Mac.) > > This will give the possibility to insert visual in the main thread of > any bigger application and and experienced developer can make a full > use of the visual abilities registering as many event he wants (so the > click, the rotate, the zoom, the selection of objects). > > For the beginner developer we have just to write a wrapper for the > widget that will start the application and then everything can be used > as before. > > This is what I understood looking with the code and developing a bit > with visual (that is really great piece of software Thanks! :) ) > > Do you think is the right way to go? > > Cheers, > Michele > |
|
From: Bruce S. <Bru...@nc...> - 2009-09-09 15:53:11
|
A possible diagnosis is that the problem lies with your graphics environment, which perhaps doesn't support OpenGL properly. Try running the demo program glinfo.py and report the output. Perhaps you could update the graphics driver from the laptop manufacturer. Or try setting the graphics acceleration to zero. Bruce Sherwood Tim wrote: > Hi, > I did what you said. Python commands seem to be working fine. I am > running on a Win32 system with Windows XP and a Via Unichrome S3 > graphics card. My laptop only has 256MB memory. Could that be the > problem? VPython is fine on my Desktop machine. > > > Thanks, > > Tim > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
|
From: Tim <tim...@ta...> - 2009-09-09 10:40:05
|
Hi, I did what you said. Python commands seem to be working fine. I am running on a Win32 system with Windows XP and a Via Unichrome S3 graphics card. My laptop only has 256MB memory. Could that be the problem? VPython is fine on my Desktop machine. Thanks, Tim |
|
From: Michele M. <mat...@gm...> - 2009-09-09 09:02:58
|
Hi All, I would like to add my two cents on this matter. If I understood correctly there is a growing need to integrate visual window with a bigger library, that can be QT, GTK, WxPython or you named it. Until now the approach that most of us has taken is to use something similar to the one pointed out in the previous mail and now in the FAQ. Shortly in this approach there are two threads running: (i) visual thread, that is a gtk thread which manage the display with the related zoom and rotate action. (ii) application thread which manage to run the library of choice with the application (e.g.: Another GTK thread, a QT one or wxPython.) This is all good until you want to do something different than zoom or rotate the object. Let's take the click example: http://vpython.org/contents/docs/visual/mouse_click.html What is suggested is to enter a while True loop which will exit only if that action will happen. This is called busy waiting and this is bad. This is bad because the CPU is constantly checking if something has been clicked. This happens every cycle making the computer unresponsive and degrading the performance of the program. It's acceptable for smaller program, it's completely cumbersome for bigger one. To avoid the loss of performance somebody has proposed to use a timer, as pointed out in the FAQ and the link above is one of the possible solution; but this is not a workaround and just move the problem to the update time of the timer without solving the problem. So the question is: Why am I able to rotate or to zoom the objects without wasting CPU and not to click on the objects? At the end of the day it's the same window and it's the same objects! Shortly because the first two events are embedded in the visual threads, and the GTK (as all the major UI library) is event driven. Only if an event happens, the main loop will respond, checking if the event is known and acts; otherwise nothing will happen. The last one comes from outside the main visual loop and because our event is not recorded in the visual loop, we need to: - Lock the application with a while true - Wait until our user click on the object. If our user does not click on the object and change his mind we can't do anything about it. He can only click. However he can still rotate and zoom because this event are managed (and recognised) by the visual main loop. What is the solution? Deploy a proper visual widget that can be integrated in GTK, QT, wxPython, windows and MAc. The code starti the display: http://visualpython.cvs.sourceforge.net/viewvc/visualpython/vpython-core2/src/gtk2/display.cpp?revision=1.57&view=markup should be divided in two chunks: - One class with all the visual goodness - Several class which extend the first class and provide a GTK widget, wxPython widget and Qt widget (and I guess windows and Mac.) This will give the possibility to insert visual in the main thread of any bigger application and and experienced developer can make a full use of the visual abilities registering as many event he wants (so the click, the rotate, the zoom, the selection of objects). For the beginner developer we have just to write a wrapper for the widget that will start the application and then everything can be used as before. This is what I understood looking with the code and developing a bit with visual (that is really great piece of software Thanks! :) ) Do you think is the right way to go? Cheers, Michele On Wed, Sep 9, 2009 at 1:50 AM, Bruce Sherwood<Bru...@nc...> wrote: > I've put a link to your web site in the "Contributed" section of vpython.org, > and mentioned this in the FAQ. > > Bruce > > Stef Mientki wrote: >> >> Bruce Sherwood wrote: >>> I myself don't know anything about these other environments into which people >>> want to embed Visual, so someone other than me will have to look for a solution. >>> I thought that there had been some discussion a few months ago in this list by >>> people who had successfully embedded Visual in some larger environment? >>> >>> >> yep in wxPython, see >> http://mientki.ruhosting.nl/data_www/pylab_works/pw_vpython_docking.html >> >> cheers, >> Stef >>> Bruce Sherwood >>> >>> Matteo Malosio wrote: >>> >>>> Hi, >>>> no good news. I have tried to create an independent thread to manage >>>> only VPython, but it didn't work :-) >>>> >>>> I really don't know how to solve the preblem. >>>> >>>> Thank you >>>> >>>> Matteo >>>> >>>> >>>> >>>> Piotr Byzia ha scritto: >>>> >>>>>> Dears, >>>>>> I've a problem integrating VPython5 with PyQt4. If anyone can help me... >>>>>> thanks a lot! >>>>>> >>>>>> >>>>>> Here is the problem: >>>>>> >>>>>> The following code should show a PyQt4 form together with a VPython >>>>>> scene. >>>>>> Using VPython3 it works correctly, while useing VPython5 it crashes. >>>>>> Does anyone has experience on facing this problem? >>>>>> I would be very grateful if anyone can help me. >>>>>> >>>>>> from visual import * >>>>>> from PyQt4 import QtCore, QtGui >>>>>> import sys >>>>>> >>>>>> class MainWindow(QtGui.QMainWindow): >>>>>> def __init__(self): >>>>>> QtGui.QDialog.__init__(self) >>>>>> >>>>>> scene.visible = 1 >>>>>> b = box() >>>>>> >>>>>> app = QtGui.QApplication(sys.argv) >>>>>> window = MainWindow() >>>>>> window.show() >>>>>> sys.exit(app.exec_()) >>>>>> >>>>>> >>>>>> replacing >>>>>> >>>>>> scene.visible = 1 >>>>>> >>>>>> >>>>>> with >>>>>> >>>>>> scene.visible = 0 >>>>>> >>>>>> >>>>>> it works and the Qt window is shown also with VPython5 (but the scene >>>>>> can't be obviously seen!). >>>>>> >>>>> Hi Matteo, >>>>> >>>>> Recently, I also tried to embed VPython window into QT using PyQT, but >>>>> also with no luck :( >>>>> Have you discovered anything new on that matter? >>>>> >>>>> Below is my code: >>>>> >>>>> from PyQt4 import QtCore, QtGui >>>>> >>>>> from visual import * >>>>> >>>>> class Ball(QtGui.QGraphicsItem): >>>>> def __init__(self): >>>>> super(Ball, self).__init__() >>>>> >>>>> self.shape = sphere(pos=(17.047, 14.099, 3.625),radius=1) >>>>> >>>>> >>>>> if __name__ == '__main__': >>>>> >>>>> app = QtGui.QApplication(sys.argv) >>>>> >>>>> scene_qt = QtGui.QGraphicsScene() >>>>> scene_qt.setSceneRect(-300, -300, 600, 600) >>>>> scene_qt.setItemIndexMethod(QtGui.QGraphicsScene.NoIndex) >>>>> >>>>> # scene2 = display(title='Graph of position', width=600, >>>>> height=200, center=(5,0,0), background=(0,1,1)) >>>>> >>>>> ball = Ball() >>>>> scene_qt.addItem(ball) >>>>> >>>>> # ball = sphere(pos=(17.047, 14.099, 3.625),radius=1) >>>>> >>>>> view = QtGui.QGraphicsView(scene_qt) >>>>> view.show() >>>>> >>>>> sys.exit(app.exec_()) >>>>> >>>>> >>>>> >>>>> Best, >>>>> Piotr Byzia >>>>> >>>> -- >>>> ------------------------------------------------------- >>>> Matteo Malosio, Eng. >>>> Researcher >>>> ITIA-CNR (www.itia.cnr.it) >>>> Institute of Industrial Technologies and Automation >>>> National Research Council >>>> via Bassini 15, 20133 MILANO, ITALY >>>> Ph: +39 0223699978 >>>> Fax: +39 0223699925 >>>> e-mail: mat...@it... >>>> ------------------------------------------------------- >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> ------------------------------------------------------------------------------ >>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >>>> trial. Simplify your report design, integration and deployment - and focus on >>>> what you do best, core application coding. Discover what's new with >>>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> Visualpython-users mailing list >>>> Vis...@li... >>>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >>>> >>> ------------------------------------------------------------------------------ >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >>> trial. Simplify your report design, integration and deployment - and focus on >>> what you do best, core application coding. Discover what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> _______________________________________________ >>> Visualpython-users mailing list >>> Vis...@li... >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >>> >>> >>> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> https://lists.sourceforge.net/lists/listinfo/visualpython-users > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users > |
|
From: Bruce S. <Bru...@nc...> - 2009-09-09 00:50:42
|
I've put a link to your web site in the "Contributed" section of vpython.org, and mentioned this in the FAQ. Bruce Stef Mientki wrote: > > Bruce Sherwood wrote: >> I myself don't know anything about these other environments into which people >> want to embed Visual, so someone other than me will have to look for a solution. >> I thought that there had been some discussion a few months ago in this list by >> people who had successfully embedded Visual in some larger environment? >> >> > yep in wxPython, see > http://mientki.ruhosting.nl/data_www/pylab_works/pw_vpython_docking.html > > cheers, > Stef >> Bruce Sherwood >> >> Matteo Malosio wrote: >> >>> Hi, >>> no good news. I have tried to create an independent thread to manage >>> only VPython, but it didn't work :-) >>> >>> I really don't know how to solve the preblem. >>> >>> Thank you >>> >>> Matteo >>> >>> >>> >>> Piotr Byzia ha scritto: >>> >>>>> Dears, >>>>> I've a problem integrating VPython5 with PyQt4. If anyone can help me... >>>>> thanks a lot! >>>>> >>>>> >>>>> Here is the problem: >>>>> >>>>> The following code should show a PyQt4 form together with a VPython >>>>> scene. >>>>> Using VPython3 it works correctly, while useing VPython5 it crashes. >>>>> Does anyone has experience on facing this problem? >>>>> I would be very grateful if anyone can help me. >>>>> >>>>> from visual import * >>>>> from PyQt4 import QtCore, QtGui >>>>> import sys >>>>> >>>>> class MainWindow(QtGui.QMainWindow): >>>>> def __init__(self): >>>>> QtGui.QDialog.__init__(self) >>>>> >>>>> scene.visible = 1 >>>>> b = box() >>>>> >>>>> app = QtGui.QApplication(sys.argv) >>>>> window = MainWindow() >>>>> window.show() >>>>> sys.exit(app.exec_()) >>>>> >>>>> >>>>> replacing >>>>> >>>>> scene.visible = 1 >>>>> >>>>> >>>>> with >>>>> >>>>> scene.visible = 0 >>>>> >>>>> >>>>> it works and the Qt window is shown also with VPython5 (but the scene >>>>> can't be obviously seen!). >>>>> >>>> Hi Matteo, >>>> >>>> Recently, I also tried to embed VPython window into QT using PyQT, but >>>> also with no luck :( >>>> Have you discovered anything new on that matter? >>>> >>>> Below is my code: >>>> >>>> from PyQt4 import QtCore, QtGui >>>> >>>> from visual import * >>>> >>>> class Ball(QtGui.QGraphicsItem): >>>> def __init__(self): >>>> super(Ball, self).__init__() >>>> >>>> self.shape = sphere(pos=(17.047, 14.099, 3.625),radius=1) >>>> >>>> >>>> if __name__ == '__main__': >>>> >>>> app = QtGui.QApplication(sys.argv) >>>> >>>> scene_qt = QtGui.QGraphicsScene() >>>> scene_qt.setSceneRect(-300, -300, 600, 600) >>>> scene_qt.setItemIndexMethod(QtGui.QGraphicsScene.NoIndex) >>>> >>>> # scene2 = display(title='Graph of position', width=600, >>>> height=200, center=(5,0,0), background=(0,1,1)) >>>> >>>> ball = Ball() >>>> scene_qt.addItem(ball) >>>> >>>> # ball = sphere(pos=(17.047, 14.099, 3.625),radius=1) >>>> >>>> view = QtGui.QGraphicsView(scene_qt) >>>> view.show() >>>> >>>> sys.exit(app.exec_()) >>>> >>>> >>>> >>>> Best, >>>> Piotr Byzia >>>> >>> -- >>> ------------------------------------------------------- >>> Matteo Malosio, Eng. >>> Researcher >>> ITIA-CNR (www.itia.cnr.it) >>> Institute of Industrial Technologies and Automation >>> National Research Council >>> via Bassini 15, 20133 MILANO, ITALY >>> Ph: +39 0223699978 >>> Fax: +39 0223699925 >>> e-mail: mat...@it... >>> ------------------------------------------------------- >>> >>> >>> ------------------------------------------------------------------------ >>> >>> ------------------------------------------------------------------------------ >>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >>> trial. Simplify your report design, integration and deployment - and focus on >>> what you do best, core application coding. Discover what's new with >>> Crystal Reports now. http://p.sf.net/sfu/bobj-july >>> >>> >>> ------------------------------------------------------------------------ >>> >>> _______________________________________________ >>> Visualpython-users mailing list >>> Vis...@li... >>> https://lists.sourceforge.net/lists/listinfo/visualpython-users >>> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> Visualpython-users mailing list >> Vis...@li... >> https://lists.sourceforge.net/lists/listinfo/visualpython-users >> >> >> > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |
|
From: Bruce S. <Bru...@nc...> - 2009-09-09 00:36:23
|
The first thing to try is to write an extremely minimal non-Visual program and see what happens when you run it: print 2+3 This will make sure that something sensible happens with Python, independent of the Visual module. What can you tell us about your Windows machine? What operating system? What graphics card? Bruce Sherwood Tim wrote: > Hi, > I have downloaded and installed python 2.6.2 and the latest verson of > VPython. When I try to run any of the sample VPython applications, I get > the error: > > Runtime Error > > Program: C:\Python26\pythonw.exe > > This application has requested the Runtime to terminate in an unusual > way.... > > > Can anyone help to troubleshoot this? > > Thanks, > > Tim > > > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > Visualpython-users mailing list > Vis...@li... > https://lists.sourceforge.net/lists/listinfo/visualpython-users |