IRC log for #brlcad on 20080707

01:31.15 *** join/#brlcad Axman6 (n=Axman6@pdpc/supporter/student/Axman6)
03:50.09 *** join/#brlcad andrecastelo (n=chatzill@189.71.31.179)
05:46.54 *** join/#brlcad clock_ (n=clock@77-56-87-218.dclient.hispeed.ch)
06:14.41 yukonbob hello , cadheds
06:14.47 yukonbob *cadheads
06:15.30 *** join/#brlcad andrecastelo_ (n=chatzill@189.71.14.236)
06:15.59 yukonbob uhhhhhhh
06:16.29 yukonbob there are andrecastelo's popping up like mushrooms in here..
06:16.37 yukonbob set out the traps...
06:52.29 brlcad howdy yukonbob
07:13.24 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
07:33.13 *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz)
08:30.09 *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01)
10:08.06 *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt)
10:10.02 mafm hello
10:13.28 *** join/#brlcad Mouette (n=root@fw1.phys.sinica.edu.tw)
10:39.18 *** join/#brlcad andrecastelo__ (n=chatzill@189.71.13.212)
12:21.11 *** join/#brlcad andrecastelo__ (n=chatzill@189.71.13.212)
12:38.06 *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01)
13:11.59 pacman87 morning, all
13:14.09 mafm morning
13:56.36 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
14:42.22 pacman87 d_rossberg & brlcad: the revolve axis is currently set as the sketch's y-axis. it would be fairly easy to allow the user to specify a different x coordinate to revolve about -- would this be useful, or would it be better assume that the sketch is setup properly?
14:43.24 pacman87 if the sketch editor could be extended to handle transformations (translation, rotation, scale)
14:43.58 pacman87 that would probably work better
14:44.31 pacman87 allow more flexablilty with sketches, and avoid the extra computation doing the translation each time in revolve
14:45.50 brlcad ewilhelm: yes
14:51.33 *** join/#brlcad prasad_ (n=psilva@h-67-103-183-185.mclnva23.covad.net)
14:59.45 ``Erik O.o
15:05.09 brlcad pacman87: "no comment" .. i.e. I defer to you and d_rossberg on that one
15:05.47 pacman87 i'm assuming the curent sketch editor doesnt already do that...
15:08.26 brlcad present sketch editor is crappy
15:09.11 ``Erik hum, now tcl and tk have 8.5.3 out
15:09.13 brlcad it'll let you translate, but only edge/curve at a time
15:09.35 brlcad presently no scaling or rotation, though they would be trivial to add
15:10.02 brlcad you just have this absolute 2D coordinate space that you work in, create your sketch
15:11.13 pacman87 should i start a 'wish list' for the editor?
15:13.06 brlcad sure
15:14.11 brlcad could add a section to the TODO specifically for it or a new file somewhere in doc or in src/primitives/sketch etc
15:14.52 ``Erik it might be better to add it to the orange page or make something similar to that, then migrate those to the TODO in svn when people agree?
15:15.46 d_rossberg pacman87: to use the y-axis as the revolve axis is ok for now
15:16.35 pacman87 how much sketch checking should i do?
15:17.00 pacman87 ie, make sure it's a closed loop?
15:17.07 d_rossberg what kind of checks do you need
15:17.52 d_rossberg you could also have some kind of default behavior if it's not closed
15:18.02 pacman87 closed loop, everything on the + side of the y-axis
15:18.49 d_rossberg why not on the - side?
15:19.26 pacman87 my algorithm for partial revolves assumes + only
15:20.25 pacman87 is there an application for partial revolves on the - side too?
15:22.49 d_rossberg i don't know (at the moment) but you can have a sketch with the rotation axis moving through (but this can be done by two rotatons too)
15:23.14 d_rossberg pacman97: BTW the sketch_name in rt_revolve_internal has a problem
15:23.53 d_rossberg in asc2g there will be no memory allocated for it, and in ifree not freed
15:24.13 pacman87 i noticed the asc2g problem
15:24.18 d_rossberg maybe you should use bu_vls there
15:25.02 d_rossberg (%S format in bu_structparse)
15:25.21 d_rossberg see the dsp primitive for reference
15:25.41 pacman87 ok, i was basing it more on the extrude
15:27.00 d_rossberg the extrude has it's own adjust function
15:40.56 *** join/#brlcad louipc (n=louipc@206-248-164-28.dsl.teksavvy.com)
15:51.08 *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01)
16:57.20 *** join/#brlcad docelic (n=docelic@78.134.201.30)
17:00.34 brlcad ``Erik: possibly, though the TODO doesn't cover "big picture"/project goals like the orange page, they tend to be much smaller tasks
17:00.52 brlcad a section on the website/wiki would be good for that though, for sure
17:34.03 *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz)
18:05.17 *** join/#brlcad ilya0044566 (n=q@217.118.79.36)
18:08.05 ilya0044566 after the installation, brlcad 7.10 has not offered mr graphical mode in ubuntu 8.04, and i have problems with some libraries for X as Xlib.h. What librarie(s) shall I use?
18:09.47 *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01)
18:10.47 ilya0044566 in linux [ubuntu] - what libraries for X Window system shall I use? do i need something 'huge' as OpenGL?
18:12.28 ilya0044566 People leave the room, than they enter the room. It's kind of-a life, it is kind of-a "this's the way life is, yeah..."
18:23.14 d_rossberg ilya0044566: you should use the head version from the subversion repository for Ubuntu 8.04
18:25.00 mafm I go now, bye
18:25.06 ilya0044566 head version of which librarie - I have non-cheap internet traffic - this is a problem...
18:26.12 d_rossberg and for the xlib you need some X development package (xserver-xorg-dev?)
18:28.17 ilya0044566 so, after the installation into new system it has offered me only [nu] at the startup... Is it something well-known, or I just 2 greedy 2 install libraries? I'lltry xorg-dev and others...
18:30.11 d_rossberg ~brlsvn
18:30.40 pacman87 ~svncad
18:30.47 pacman87 ~cadsvn
18:30.47 ibot To obtain BRL-CAD from Subversion: svn checkout https://brlcad.svn.sourceforge.net/svnroot/brlcad/brlcad/trunk brlcad
18:30.49 ilya0044566 ~brlsvn - what is it?
18:30.51 ibot ilya0044566: okay
18:31.39 ilya0044566 "okay" - what is it?
18:31.56 d_rossberg ilya0044566: ~cadsvn shown the url uf brl-cad's subversion repository
18:32.23 ilya0044566 okay
18:32.28 d_rossberg use your subversion client wih this url to check out the latest version of brlcad
18:33.03 d_rossberg (~brlsvn was mistyped)
18:34.04 ilya0044566 ok, but i'm 2 greedy 2 spend 20 mb of traffic, i'm www.ansysED.narod.ru and i'm new 2 open source...
18:36.21 d_rossberg that's probable a problem, brl-cad version 7.12.4 (and probable the versions before) has a problem with Ubuntu 8.04
18:37.12 d_rossberg however, you could try to get the X window working
18:37.27 ilya0044566 yes, and ubuntu, probably, might have a lot more libraries at the "plain" installation...
18:38.19 d_rossberg by instaling did you install the xserver-xorg-dev package of Ubuntu?
18:39.57 d_rossberg or the xorg-dev package?
18:40.08 ilya0044566 ther were no any options... it's a cd image... only onr cd, but kubuntu's dvd I had was 'empty' too - I compare it with versions of ASPLinux on 4 cd's...
18:41.13 pacman87 d_rossberg: the other thing for checking sketches is the order of the spline curves
18:42.10 ilya0044566 i don't really know... "essentials libraries for X window system" - this make a sence... I just can't spend traffic for a while... but i surely will have a brlcad installed!
18:42.25 d_rossberg ilya0044566: do you update or upgrade your system via internet?
18:43.13 ilya0044566 no, 1mb equals 0.1 US $
18:44.01 d_rossberg ilya0044566: you probaly have to install the development packeges via internet (because they are not essential for using the other software)
18:44.19 ilya0044566 ok, ...corporations still 'milking' good guys :(
18:45.27 ilya0044566 ok. i need 2 quit now... My frien says his program Pro-Engeneer can point the dimensions to the model, and to prepare views... Without autocad, i want to mix BRLCAD with QCAD... Am I right, or there are another ways?
18:46.42 ilya0044566 'other ways' - to be correct...
18:47.58 d_rossberg pacman87: sure, they have to have a low degree (2 or so), will it be done in the prep function?
18:48.11 ilya0044566 ok, i quit for about 1.5 days
18:48.27 *** part/#brlcad ilya0044566 (n=q@217.118.79.36)
18:48.47 pacman87 i was thinking about adding a function to sketch.c
18:48.58 pacman87 and calling it from rt_revolve_prep()
18:49.07 pacman87 since the sweep will need that check too
18:50.25 d_rossberg will sweep work with the same degree of spline (i.e. sketch) curves as the revolve?
18:51.09 pacman87 yes, that's the plan
18:51.16 d_rossberg ... maybe yes if we think of a sweep as a series of revolves (?)
18:53.26 pacman87 essentially, yes
18:53.51 pacman87 for revolve, i'm mappign the ray into 2d, then finding intersections
18:55.08 d_rossberg pacman87: therefore you plan to implement a function which checks the maximum degree of a sketch in sketch.c and call it from revolve.c and sweep.c, that sounds good for me
18:55.49 pacman87 what should i name it?
18:56.11 d_rossberg as for the closed loop: you can require a closed loop or close it with a default method
18:57.25 d_rossberg are there any similar functions to guess the name?
18:57.26 pacman87 if it's not closed, the only thing that makes sense is if the two endpoints are on the y-axis
18:58.27 pacman87 there's an rt_check_curve()
18:59.11 d_rossberg for example, closing the sketch automatically would make the primitive more robust
18:59.27 pacman87 ideally, i'd return the degree of the sketch, so if someone else needs it, it's there
18:59.50 d_rossberg rt_check_sketch_degree()
18:59.51 pacman87 close by line segment from end to start?
19:02.57 d_rossberg closing the sketch: from the y-axis to the first point by a straight line, from the last point of one segment to the first point of the next segment by a straight line, from the last point to the y-axis by a straight line (for all: if it is not already closed)
19:04.38 d_rossberg the result of automatic closing may be not what the user want but he sees what he did
19:05.15 d_rossberg this is better than seeing nothing but the error message
19:05.16 pacman87 yeah, depends on how 'smart' i make the algorithm
19:05.31 pacman87 since there could be several disjointed segments
19:06.04 pacman87 or unconnected sets of segments
19:06.54 d_rossberg yes, the sketch can be very ugly, even if it is closed
19:07.11 pacman87 self intersecting
19:07.27 d_rossberg exactly
19:07.37 pacman87 which i don't think will be a problem, other than looking ugly
19:08.35 d_rossberg it could be intended to get holes in the solid
19:09.11 pacman87 if you have two seperate, independantly closed loops
19:10.14 pacman87 the other way to handle open loops is to duplicate all the segments
19:10.18 pacman87 forming a shell
19:10.27 pacman87 since the hitpoints would be duplicated
19:10.38 pacman87 (i ran into this problem with an ill-formed sketch earlier)
19:11.56 d_rossberg yes, a double line in the sketch means nothing (no hit)
19:12.29 pacman87 i though it was a hit with a zero-length hit segment
19:12.48 pacman87 ie, identical in and out points
19:13.47 d_rossberg double lines are a common trick to conect two regions in one border line
19:14.33 d_rossberg they should be trated as "not there"
19:15.06 pacman87 hmmm
19:16.19 pacman87 is trying to think of the best way to detect this
19:16.33 d_rossberg with double lines you may cut holes in plates if you have to deskribe the plate by one closed borderline
19:17.45 pacman87 i'm not seeing it
19:18.37 pacman87 say you have three points: (0,0); (0,2); and (1,1)
19:18.51 pacman87 and the sketch just has line segments
19:18.54 pacman87 so it's a triangle
19:19.04 d_rossberg e.g. a wall with a window in it
19:19.51 d_rossberg how would you describe this with a single closed border?
19:20.16 pacman87 oh, so the sketch outline traces along the middle of the wall, around the window, and back to the edge of teh wall on the same path
19:20.25 pacman87 and the overlapping segments cancel
19:20.35 pacman87 leaving a window in a wall
19:20.52 d_rossberg yep
19:21.22 pacman87 where does the 'single' part of the 'single closed border' requirement come from?
19:22.26 d_rossberg the structure is much simpler than having a list of closed non overlapping borders
19:24.08 d_rossberg a surface has a border and a border is a list of points
19:24.28 d_rossberg this is much simpler than "list of list of points"
19:25.23 d_rossberg if you need the second you have to compute it from the first one
19:27.21 pacman87 i though the sketch primitive could handle multiple closed loops
19:28.30 pacman87 and if those loops overlap, then that'd be the same as a self-intersecting closed loop
19:29.46 d_rossberg the sketch primitive has no problem with it
19:30.30 d_rossberg but you have to decide if two intersection points are identical or not
19:32.22 pacman87 so i'd have to check for zero length segments, and for zero distance between the end/start of adjacent segments
19:35.13 d_rossberg i would say yes
19:39.44 *** join/#brlcad clock_ (n=clock@77-56-95-134.dclient.hispeed.ch)
20:30.17 brlcad ~brlsvn is <reply>try ~cadsvn instead
20:30.18 ibot brlcad: okay
20:33.07 brlcad pacman87: feel free to refactor code needed by multiple primitives into files in src/librt/primitives ;)
20:33.27 brlcad nice working pic too :)
20:40.30 brlcad pacman87: also adding to the previous discussion, being a solid shotline ray-tracer, no primitives should return zero-thickness ray segments as hits -- they shoule have a non-zero thickness or it's a miss
20:54.37 *** join/#brlcad homovulgaris (n=homovulg@117.196.130.46)
20:56.05 pacman87 so do a NEAR_ZERO( dist1-dist2, SMALL_FASTF)?
21:31.20 brlcad that'd be one way
21:32.10 brlcad isolates which of his memory chips is bad after about a dozen reboots and tests
21:32.26 pacman87 mmmm, memory chips :)
21:38.39 brlcad excessively obscure file corruption errors .. that took a while to pin down
21:40.14 pacman87 brlcad: what's your opinion on how to handle non-closed sketches?
21:44.21 brlcad pacman87: if they're implicitly 'closed' wrt the rotation axis, I think it should behave accordingly -- e.g. points/edges 0,0 -> 1,1 -> 0,1 would be 'implicitly' closed even though there is no 0,1 -> 0,0 closure
21:45.02 brlcad where accordingly means that it'd revolve and ray-trace successfully (as an upside-down cone in that example)
21:45.36 brlcad if someone defined 0,0 -> 0,1 -> 1,1 though .. hm, dunno
21:46.52 brlcad you could close it automatically by implicitly forming an edge to the 0,y value or throw an error (not so useful but not unreasonable)
21:47.46 brlcad i suppose you could also auto-close to the original point if they don't form a closed loop (e.g. to 0,0 in that second example instead of to 0,y) .. but that'd be .. wierd
21:48.55 pacman87 most 'auto-closing' ends up rather complicated; ie for multiple open sections
21:51.00 brlcad determining what it means might get complicated, but the closure itself could be fairly simple
21:52.25 brlcad something like "if a segment/curve endpoint has no connected endpoints, connect it to a line segment that goes from the unconnected x,y point to the corresponding 0,y point
21:53.41 brlcad you would probably want to throw an error if you close it for the user since I'd still probably consider that an "invalid" ill-defined revolve sketch, but it'd probably be closer to what was expected
21:54.43 brlcad so if someone models a simple open 0,0 -> 1,1 straight segment as the curve, it'd make the cone
21:55.11 brlcad 1,0 -> 1,1 would make a cylinder, etc
21:55.26 pacman87 ok, will do
21:56.45 brlcad as if they'd modeled those as 0,0 -> 1,1 -> 0,1 -> 0,0 for the cone and 1,0 -> 1,1 -> 0,1 -> 0,0 -> 1,0 respectively for the cylinder
21:57.51 brlcad probably need to test each edge/curve against the y-axis as a bisector, so you can insert the corresponding points/edges
21:58.55 pacman87 so we're still ignoring everything on the (-) side of y?
22:00.31 pacman87 one other question: should i modify the actual sketch (add the extra points/segments) or leave it alone?
22:00.48 pacman87 modifying the sketch would be easier for me
22:00.51 brlcad hm? not really ignoring it
22:02.14 brlcad 0,0 -> -1,0 -> 1,1 -> 0,1 would be perfectly valid I would think (two cones that touch tip to tip)
22:02.35 pacman87 that's the -x side
22:02.41 pacman87 i was referring to the -y side
22:02.45 brlcad ah ah
22:03.23 brlcad how's -y any different?
22:03.35 pacman87 wait, i just confused myself
22:03.41 brlcad translate all the values down and it works just fine
22:04.05 pacman87 invalid | valid
22:04.08 pacman87 axis ^
22:04.32 brlcad in fact, to make your processing simple, you may want to do exactly that -- translate all values into positive xy 'normalized' coordinates
22:05.41 brlcad you'd have to translate the ray by the same amount, but it should remove sign problems when evaluating
22:06.11 pacman87 let me ask as an open question: what should happen when a circle centered at 0,0 is revolved through 90 degrees?
22:07.29 brlcad two quarter-sphere wedges
22:08.08 pacman87 ok, that gets a bit more difficult
22:10.03 brlcad hm, I take it back about translating to positive first-quadrant coordinates .. that might cause more problems than it solves
22:10.34 pacman87 yeah, it's working perfectly when everything has a positive x coord
22:10.57 pacman87 s/perfectly/perfectly for straight lines ;)
22:11.57 brlcad what about automatically trimming the curves like I suggested -- bisect all curves against the x and y axis so you can evaluate all curves for each of the four quadrants consistently?
22:12.45 brlcad since if you got it working for +x, should be a few flips of sign to get the other quadrants
22:12.48 pacman87 the y coordinate doesn't working
22:12.55 pacman87 doesn't matter*
22:13.25 brlcad so only bisect with the x-axis
22:13.37 brlcad er, y-axis
22:14.12 pacman87 what should result from a triangle at -1,0 1,0 1,2?
22:14.21 brlcad then all your x coordinate signs are flipped and only solid for angles 90->270
22:15.40 pacman87 i could pick up the hits with -x coords by using both sides of my projected hyperbola
22:15.44 brlcad I'd think a cylinder, no different than 0,0 -> 1,0 -> 1,2 -> 1,0
22:16.28 brlcad testing hits, you'd get solids on both the left and right, but the segments would overlap so you'd combine them (and get the cynlinder since the +x side encompasses)
22:16.54 pacman87 so i'd have to keep the hit lists seperate
22:17.43 brlcad yeah, you wouldn't have your answer until you evaluate both sides
22:18.14 pacman87 which doesnt' really have any computational advantages over just using two revolves
22:18.18 brlcad pretty simple book-keeping though, some of the other primitives have to do that
22:18.35 pacman87 which primitives?
22:19.10 brlcad yeah, don't think there are any computational advantages other than they overlap as *one* primitive so you would only ever get one segment back
22:19.44 brlcad whereas if I actually made two revolve primitives, that would be an overlap -- I'd have to union them at a sub-region level
22:21.17 pacman87 is that really a problem?
22:22.53 brlcad not really -- they are able to do that regardless
22:23.25 brlcad the question is more what should a single primitive do -- your -1,0 1,0 1,2 should work I think
22:24.03 pacman87 it would do the same by ignoring the -x hits (only for full revolve, though)
22:24.25 brlcad in that case it would
22:24.39 pacman87 if it was flipped, it'd be different
22:24.44 brlcad for other cases, it wouldn't (like your sphere rotated by 90)
22:25.13 brlcad s/sphere/circle/
22:25.46 brlcad or even -1,-1 -> 1,1 (two cones)
22:27.17 pacman87 yeah, partial revolves are a major difference
22:30.02 brlcad if you a) break up prep()/shot() into a left/right case for +-x and b) close all open edges to the y-axis .. should give you a consistent means to test intersection
22:31.24 brlcad kicks CIA-22
22:31.25 CIA-22 ow
22:32.15 *** join/#brlcad Twingy (n=justin@74.92.144.217)
22:50.57 *** join/#brlcad elite01 (n=elite01@unaffiliated/elite01)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.