IRC log for #brlcad on 20080606

00:56.33 starseeker pacman87: funky
00:59.08 *** join/#brlcad Twingy (n=justin@74.92.144.217)
01:07.02 pacman87 starseeker: i was testing my uv mapping
02:03.17 starseeker Hmm - considering this is a completely mechanical translation to html, it's not bad: http://brlcad.org/oed/
02:42.20 brlcad pacman87: stack shader, you apply checker and plastic
02:42.28 brlcad nice uv mapping
02:45.16 poolio brlcad: Was just wondering where you wanted he brep() routine? In primitives/xxx/xxx_brep.cpp ? And would the routine just be xxx_brep(implicit shape) or something?
02:47.59 CIA-21 BRL-CAD: 03brlcad * r31329 10/brlcad/trunk/COPYING: fix typo, remove trademark section
02:48.16 CIA-21 BRL-CAD: 03brlcad * r31330 10/brlcad/trunk/configure.ac: ws
02:48.37 brlcad poolio: yeah, something like that
02:49.11 brlcad spot on for the file and function name, there are more function arguments
03:07.52 *** join/#brlcad PrezKennedy (i=Matthew@208.43.126.194)
03:12.21 poolio brlcad: ah alright, I'll go ahead and commit sph and cyl
03:12.29 poolio And just to confirm, no rt prefix?
03:12.35 brlcad something like rt_xxx_brep(ON_Brep **b, const struct rt_db_internal *ip, const struct bn_tol *tol)
03:13.02 brlcad no no, should match the style of the other callbacks, with the prefix
03:13.31 brlcad exact params depends on what it ends up needing, but I suspect at least those three -- maybe a model instead of an ip, but same gist
03:14.51 poolio Alright, thanks. I'll give it a shot
03:16.14 starseeker takes a gander at the firebird docbook manual...
03:16.46 brlcad woo hoo
03:19.42 brlcad poolio: the idea will be (particularly for testing) to have it generate a valid solid ON_Brep that could be passed to mk_brep
03:20.44 *** join/#brlcad andrecastelo__ (n=chatzill@189.71.56.224)
03:21.24 brlcad howdy andre!
03:23.43 starseeker raises eyebrows - they're using what appears to be a script based build rather than teaching autotools to do it
03:25.14 brlcad you can always make autoconf run a script ;)
03:25.32 starseeker true :-)
03:25.40 brlcad regardless, autoconf probably would just check for tool availability
03:26.01 starseeker right. they have instructions for downloading tools from their website if problems arise
03:27.10 brlcad somethin like a make doc target (have it run a script)
03:33.02 poolio brlcad: How would I handle the bn_tol? Isn't that just for raytracing?
03:33.39 starseeker brlcad: any idea on that html oed why there are capital As next to the navigation links?
03:33.50 starseeker I don't get them when I view the page locally
03:34.26 brlcad poolio: nope
03:34.50 brlcad it's for anything that requires numerical tolerancing, which you will undoubtedly run into for some of the primitives
03:36.58 poolio Well, in terms of creating the brep from the implicit form, why would you need to deal with the tolerancing? Like, wouldn't you just create a brep that ignored it and creating a very precise representation?
03:47.07 brlcad poolio: sure, ideally .. some of the primitives will still require some computations
03:47.28 brlcad e.g. arbs
03:49.54 poolio brlcad: I don't really get it :) Could you give an example where you'd need to look at tolerances?
03:50.05 brlcad you'll know it when you get to it :)
03:50.10 brlcad don't worry about it till then :)
03:50.46 starseeker brlcad: Early thoughts - xmlto uses xsltproc for the "dirty work", which is in turn part of libxslt and uses libxml. Would it be worth considering adding libxslt, libxml and the necessary style files to the src/other directory?
03:51.12 starseeker the licenses on those two libs are MIT, and they claim to be written in basic C code
03:51.13 brlcad eep, I'd sure hope not
03:51.33 brlcad that'd only be if we were including and redistributing xmlto
03:51.53 starseeker xmlto is just a script that invokes xsltproc, apparently
03:52.01 starseeker we could probably go direct to xsltproc
03:52.06 brlcad okay, including and redistributing xsltproc
03:52.09 brlcad same thing
03:53.13 brlcad I see it more like autoconf, libtool, automake, m4, perl, make .. all things we require devs have, but we don't provide them (because they are dev-only)
03:53.48 brlcad and devs != any user that might compile brl-cad
03:53.54 brlcad devs is our guys here
03:54.23 starseeker OK.
03:54.26 poolio brlcad: ok ok. So basically you shouldn't create say, multiple points if they are all within the tolerance? I was just thinking I'd go ahead and create those points, and that it wouldn't matter :)
03:54.48 starseeker was thinking they might be in the same class as libpng, libregex, libz...
03:54.57 brlcad poolio: yeah, something like that .. you'll end up with rather invalid surfaces and geometry
03:55.24 brlcad that will just cascade failures (and completely invalid geometry due to floating point error alone)
03:55.48 poolio Well, will is it really 'invalid' ? Is floating point that bad?
03:55.51 poolio Ah, ok :)
03:55.59 brlcad yes, it really is
03:56.09 brlcad when it comes to validity checking on brep geometry
03:56.13 brlcad it's a pretty major problem
03:57.20 poolio So is implicit gemoetry not checked against tolerances? Cause wouldn't converting from valid geometry lead to valid results...maybe I should just wait til I get there
03:57.22 brlcad you'll end up with things that are inside out, twisted, with singularities, cracks, overlaps, and other degeneracies
03:57.58 brlcad the implicits are checked, sure .. the mere conversion to brep form, though, can (and will) introduce those errors
03:58.40 brlcad aside from primitives that inherintly tolerancing for type detection (arbs)
03:59.57 poolio brlcad: So should all shapes take a tolerance or only the ones that need them? I'm thinking it's easier to just use a standard...although with C++ we could overload/set a default param
04:00.57 brlcad the api has to be the same for all of them
04:01.21 brlcad it's a callback
04:02.09 poolio ah, k
04:02.43 brlcad it'll go in a table by name, and called genericly
04:02.58 brlcad like all the other rt_xxx_* callbacks
04:05.29 pacman87 how much time is it worth spending on moving the code back into prep() from shot/norm/uv?
04:05.53 pacman87 and is there a standardized way to test performance improvements?
04:06.10 brlcad pacman87: highly valuable
04:06.32 brlcad optimizing the hell out of primitives is always a good thing
04:06.51 brlcad that cascades performance benefits
04:07.25 pacman87 so, keep moving code until i cant find any more code to move.
04:07.30 brlcad standardized way .. use a good performance profiler ;)
04:07.35 brlcad yep
04:08.03 brlcad and then for the code that's remaining, make sure it's efficient, non-redundant, cache coherent, etc
04:08.13 pacman87 i've never done performance profiling before
04:08.40 brlcad ahh, fun stuff
04:08.45 brlcad well, want to? :)
04:08.57 pacman87 yeah, i just want to know how
04:09.01 brlcad how easy and good it is depends entirely on your platform
04:09.10 pacman87 slackware 12
04:09.38 brlcad so your basic staple of profiling on linux would be gprof
04:12.04 brlcad it's really simple to use -- you'll recompile with configure --enable-profiling --disable-optimized .. compile .. install .. run rt on a hyp .. then run gprof
04:12.04 pacman87 is there a compile flag for profiling?
04:12.19 pacman87 read my mind :)
04:12.52 brlcad when you run rt with profiling enabled, it'll generate a gmon.out file in that directory, gprof uses that along with the binary to sort out where time was spent
04:13.28 brlcad it'll generate a fairly detailed report with lots of options and stats.. you then review that report and see if where the time is being spent makes sense
04:14.29 pacman87 uv is skipped unless there's a texture, and i'm guessing norm is skipped if there's no shading
04:14.41 pacman87 when is curve called?
04:15.17 brlcad look for the rt_functab entry callers
04:15.26 brlcad don't recall specifically
04:15.42 pacman87 curve and tess are the last functions i have to write
04:15.51 brlcad tess will be fun..
04:16.10 pacman87 yeah, i've kind of been avoiding it
04:17.57 brlcad ehy and tgc kinda give you the formula though
04:18.05 brlcad might be nearly identical to tgc
04:19.03 brlcad oh yeah -- can the hyp caps have two different radii? .. and separate orientation? :)
04:20.01 brlcad separate radii at least could be really useful for attaching pipes together
04:20.01 pacman87 right now the endplates are identical
04:20.23 pacman87 if you want a different radius, you could cut it off sooner
04:21.10 pacman87 the cross sections are all similar ellipses, a/b = const
04:32.48 brlcad except it'd be a curvature discontinuity
04:35.02 brlcad i see these being used to smoothly tie together tgc/rcc objects, pinched cables, flow control valves, etc, connecting ends with a specific height and specific sized/shaped ends
04:35.42 pacman87 that could be done, using a circle for the cross section at the neck
04:37.37 pacman87 in that case, you'd need the height axis, top/bottom heights, major axis vectors for the two ends, major/minor axis lengths for both ends, and the radius of the circle in the middle
04:38.11 brlcad major/minor for the ellipse in the middle ;)
04:38.17 pacman87 in that case, it's not really an elliptical hyperboloid anymore
04:38.29 pacman87 yeah, sure ;)
04:38.36 pacman87 and the major vector for that too
04:39.23 pacman87 but i don't see a way to handle an arbitrary elliptical neck
04:40.31 brlcad alright, just a thought :)
04:41.31 pacman87 if you want a shape like that, i could do it
04:41.46 brlcad nah, doesn't have to be that way .. more just probing thought
04:42.20 pacman87 but it'd probably take another week or so
04:42.37 pacman87 and i'd rather go on to the revolve after hyp is done
04:44.31 brlcad yeah, don't worry about it .. straight up elliptic hyperboloid of one sheet sounds like the plan to stick to
04:45.18 brlcad especially since we could do the shape I'm thinking of with a generalized sweep anyways :)
04:52.27 poolio brlcad: So apparently I break parsing of input if I manage to sneak in a '\' before it outputs the next line of parameter reading. Is this expected?
05:04.36 brlcad doesn't ring a bell, but would have to read the source
05:08.37 pacman87 i'm off to bed; i'll work on tess() in the morning
05:18.29 brlcad cheers
05:19.04 starseeker likes the ability to include multiple sub-files in a top level document - that needs more study
05:31.47 brlcad xpath is good stuff
05:31.59 brlcad and/or usual docbook hierarchyness
05:32.57 starseeker breaking VolII into parts should be a good test
06:35.11 brlcad pacman87: in hyp hyp 0 0 0 0 0 1 1 0 0 1 .5
06:35.26 brlcad ae 35 25
06:36.38 brlcad actually from any ae it seems
06:37.50 brlcad scale is off too
06:39.57 brlcad and all sorts of interesting results if I twitch that .5 anywhere from .1 to 10 .. :)
06:41.20 CIA-21 BRL-CAD: 03brlcad * r31331 10/brlcad/trunk/configure.ac: don't allow system tcl to be mixed with non-system itcl under any circumstance regardless of version
07:02.51 *** join/#brlcad b0ef (n=b0ef@062016141231.customer.alfanett.no)
07:32.19 *** join/#brlcad clock_ (n=clock@zux221-122-143.adsl.green.ch)
08:25.07 *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
08:49.15 *** join/#brlcad d_rossberg (n=rossberg@bz.bzflag.bz)
09:16.26 *** join/#brlcad elite01 (n=elite01@dslb-088-071-044-078.pools.arcor-ip.net)
09:22.17 *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt)
09:23.43 mafm hello
10:11.29 *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt) [NETSPLIT VICTIM]
10:12.54 *** join/#brlcad archivist (n=archivis@host81-149-119-172.in-addr.btopenworld.com) [NETSPLIT VICTIM]
10:31.04 *** join/#brlcad dtidrow (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
11:40.23 *** join/#brlcad thing0 (n=ric@124-169-237-118.dyn.iinet.net.au)
11:47.16 brlcad howdy mafm
11:47.47 brlcad your code now has a home!
11:50.14 brlcad the rt^3 module, you can add to that as needed probably starting with a new subdir in src, and another for src/other for the external deps
12:15.37 clock_ There's a Swiss guy mentioned in the new who retargetted his Opel Kadett for driving on wood
12:15.53 clock_ Has a gasifier attached to the rear of the vehicle
12:16.12 clock_ I wonder if a gasifier large enough could feed a resonance ramjet and one could build a cruise misile running on wood
12:16.42 clock_ Or fly to the moon on wood ;-)
12:19.57 mafm brlcad: I guessed so by the movement in the -commit list... but is the ^ a good character for filenames? wouldn't that give problems on some systems?
12:22.54 mafm my bet is on vivoleum: http://www.dailykos.com/story/2007/6/14/214445/536
12:23.05 mafm (for clock_ :) )
12:25.06 clock_ I wonder what happens if you put plastic into gassifier
12:25.18 clock_ could cars run on the plastic part of household waste?
12:25.30 clock_ Terry, eat the youghurts faster, Dad needs to drive to the work!
12:26.45 mafm many of those contain nasty chemicals or things that cause breathing problems for humans or other nasty side effects... kind of the problem with biofuels
12:27.53 clock_ I once put the oil from canned fish into a jar and added a makeshift wick
12:27.56 clock_ It burned hell long!
12:39.52 *** part/#brlcad thing0 (n=ric@124-169-237-118.dyn.iinet.net.au)
12:40.53 mafm :D
12:52.38 clock_ I just invented how to make a transmission from slow to fast without cogs, only with levers!
12:52.47 clock_ without cogwheels
13:07.41 brlcad mafm: you'd think, but I've actually been surprised how many shells/OS/filesystems support it without a problem
13:07.58 brlcad that said, the name isn't finalized, think of it as an internal dev name
13:08.20 mafm fine
13:09.05 mafm did you read the log about RBGui? it seems that the development effort has declined since when it was considered
13:09.17 brlcad yep
13:13.11 brlcad mafm: for the module, you have a fairly large amount of flexibility, nothing there is set in stone -- it'll likely be a stomping ground for the new OO API layer in order to keep a defined separation with librt/libbn/libbu, but how that is organized on the filesystem isn't set
13:14.06 brlcad one thing that would be nice would be a conversion of rt^3 to cmake, you're welcome to
13:14.20 brlcad especially if you're not experienced with the autotools, then it'd probably be a great idea
13:18.26 mafm I'm not experience in cmake either :D
13:18.28 brlcad mafm: as for rbgui, whenever you want to talk about that vs other other options, I'm game
13:18.55 mafm well, you know about the other *option*: CEGUI
13:21.03 brlcad sure, that is an option
13:21.44 brlcad their activity wouldn't necessarily need to be the deciding factor, especially if you're talking about a mere couple months that have passed to declare them "inactive"
13:22.01 mafm since March, is 3
13:22.29 brlcad sure, call it 6 .. that's not very long in the big scheme of things :)
13:22.30 mafm the thing is that they patched OGRE for a new function that they {need,think is more convenient}?
13:22.38 brlcad plenty of projects release once a year or less
13:22.43 mafm and they removed that option from newer stable versions of OGRE
13:22.44 brlcad yet are still quite "active"
13:23.02 mafm and they haven't adapted their code since then
13:23.12 brlcad the bigger issue is how readable/maintainable is their code bose
13:23.31 mafm so well, a few months is not big hassle.. but they have a very short story
13:23.42 brlcad so if we have to do the updates and ports ourselves, is that worth the effort (compared to the downsides of using something else)
13:23.48 mafm so in the scale of their lifetime, it's significant, I think
13:24.04 brlcad i'm just saying that it's not a deciding factor
13:24.14 brlcad they could drop dead/disappear today
13:24.29 brlcad it could still be a viable code to use, even if it doesn't work out of the box
13:24.33 brlcad just depends on other factors
13:24.50 brlcad i.e. the actual quality of the code and features provided
13:25.20 brlcad build system integration issues are usually very very minor .. the actual features the various toolkits provide are where the time is spent
13:25.59 brlcad "usually" of course, there are some outlier nasties for rapidly changing codes, but ogre isn't in that camp
13:26.13 mafm well... yes, but in example if CEGUI dies, for sure somebody will maintain it in one way or another... but if they die almost certainly the job would be for BRL-CAD team, no other way
13:27.18 mafm and code quality, at first glance, might be easy to analyze; but for features probably you don't know until you're deeply buried in the mud :D
13:27.42 brlcad possibly, but I'd just treat it as if nobody is or will maintain either -- that makes evaluation a lot more simple and less influenced by popularity perception
13:28.10 brlcad the code itself and features really should drive the decision
13:28.51 brlcad any external code is a burden especially given we fully manage all external dependencies
13:30.01 mafm I see
13:30.35 mafm well, the code looks clean and pretty well commented, with lots of "const" guards and so on -- so they seem to have put good care on it
13:31.07 brlcad are their features significantly better/worse than cegui?
13:31.48 brlcad a minor note, you mentioned yeesterday about cegui's appearance -- you are aware that we would absolutely not use the default theme, yes? :)
13:31.50 mafm as for the features, having seeing the video in the links of the discussion, I think that they are not behind CEGUI, but that might be just because of the default theme (as somebody suggest in OGRE forum threads)
13:32.15 brlcad that'd probably be the first thing that'd have to change if you go the cegui route, something much simpler, lightweight, clean
13:33.16 brlcad how big are the actual code for each?
13:33.22 brlcad have you looked at line counts?
13:33.42 ``Erik notes that BRL-CAD has gone more than 3 months without release before, yet is quite active... has seen programs go YEARS without releases or visible activity, yet are still active *shrug*
13:34.23 mafm Totals grouped by language (dominant language first):
13:34.23 mafm cpp: 11215 (95.82%)
13:34.23 mafm ansic: 489 (4.18%)
13:34.29 mafm and for Mocha...
13:34.43 ``Erik (why rt^3 instead of a new top-level?)
13:35.25 mafm Totals grouped by language (dominant language first):
13:35.26 mafm ansic: 12426 (65.59%)
13:35.26 mafm cpp: 6519 (34.41%)
13:35.38 mafm (most of "ansic" being actually Lua scripts)
13:35.43 brlcad ``Erik: because it has some basic structure in place, a build system set up, C++ files that establish/demonstrate style, documented structure, etc .. less to fix down the road
13:35.53 mafm (mocha is a kind of helper library needed by RBGui)
13:35.54 brlcad the module can always be renamed
13:36.43 brlcad same mocha as seen here: http://greghoustondesign.com/demos/mocha/ ?
13:37.15 mafm ``Erik: yes but there are also thousands of projects which make a first release and abandon very early
13:37.55 brlcad notes that style is curiously *really* close to the style seen in the IOE demo
13:38.10 mafm nope, that one of yours is javascript
13:39.55 brlcad well I know that, but the logic under the hood could have been the same library
13:40.05 brlcad especially if they were doing any server-side ajaxisms
13:42.37 mafm http://www.rightbraingames.com/tech.php -> description of RBGui and mocha
13:43.02 brlcad so about 30k lines for rbgui
13:43.06 mafm it's a kind of utility library
13:43.16 mafm the GUI itself is in RBGui
13:43.29 mafm so I think that it doesn't have anything to do with the javascript thingy
13:45.02 brlcad yeah, k
13:45.40 brlcad so how much code in cegui?
13:46.17 mafm http://feature.mmosite.com/antilia/
13:46.36 mafm they're creating this game, but the website has empty pages and the screenshots have no GUI :(
13:46.47 brlcad 30k is pretty significant, but not insurmountable to maintain on our own .. anywhere from a couple months to a year of effort
13:48.31 mafm (downloading CEGUI, I don't have it around)
13:50.54 mafm SLOC Directory SLOC-by-Language (Sorted)
13:50.54 mafm 26494 src cpp=26494
13:50.54 mafm 12503 include cpp=12149,ansic=354
13:51.21 mafm with image modules, renderer modules, xml and the like... about 10k more
13:51.59 brlcad that sloc is for which?
13:52.21 mafm cegui
13:52.52 brlcad ah, so pretty closely on par with each other
13:53.19 brlcad + any external deps for cegui
13:54.07 mafm from rbgui svn:
13:54.11 mafm r1 | brian | 2007-10-24 04:01:11 +0100 (Wed, 24 Oct 2007) | 1 line
13:54.30 mafm r16 | brian | 2007-11-20 04:01:28 +0000 (Tue, 20 Nov 2007) | 1 line
13:54.42 mafm that's the last one appearing in that repository
13:56.02 brlcad nods
13:57.49 mafm the dates of the RBGui 0.1.3 release are also from 2007, I don't know where I got the thing about march... maybe the date of the thread of OGRE forums announcing it, or the RPM package or something
13:58.16 mafm I have to go for a meeting now, be back in about 1 hour
13:58.21 brlcad you're still stuck on that point :)
13:58.22 mafm or probably less
13:58.25 brlcad treat them both as dead
13:58.28 brlcad and compare from there
13:58.55 brlcad have fun!
13:58.56 brlcad :)
13:59.07 mafm well, yes, but it turns that it's more dead than I thought :D
13:59.17 mafm later
14:00.14 brlcad or they're just "finished" because it was so damn good and/or they didn't need it to do anything else
14:00.58 brlcad all the more reason to just look at what it is and does
14:02.17 brlcad cegui may be the better choice, I'm fine with trying either -- but they should be compared on factors that matter the most to us
14:03.17 brlcad from what I've seen, cegui is certainly more popular and better documented/supported .. but more complex to learn and integrate I bet, and will require a complete overhaul of the defaults
14:04.26 brlcad rbgui is of course more unknown and not well documented/supported .. but more simple to integrate (less ext. deps), has a gui editor, and the defaults are "fine" for now
14:04.38 brlcad so kinda a wash barring new information
14:07.39 brlcad poolio: I'm listening to a presentation right now that is basically what you did last summer, but only in 2D using circles and non-overlapping unions
14:08.02 brlcad no more, no less .. and it's a formally published IEEE paper :)
14:39.24 mafm back
14:40.20 clock_ brlcad: I have also an IEEE paper with ISBN!
14:40.30 clock_ bursts with self-pride
14:44.55 clock_ poolio: what did you do?
14:54.01 CIA-21 BRL-CAD: 03d_rossberg * r31332 10/brlcad/trunk/misc/win32-msvc/Dll/ (BrlcadCore.def CMakeLists.txt Makefile.am):
14:54.02 CIA-21 BRL-CAD: BrlcadCore.dll now exports some functions which brlcad.dll does not
14:54.02 CIA-21 BRL-CAD: at least some of these functions are rather BRL-CAD private and shouldn't be used in other applications
14:54.04 mafm no replies in #ogre3d channel :)
14:54.31 brlcad their guys are rarely on freenode
14:54.37 brlcad they're mainly forum driven
14:55.06 brlcad steve says he gets nothing done when he's on irc :)
14:56.47 CIA-21 BRL-CAD: 03d_rossberg * r31333 10/brlcad/trunk/ (3 files in 2 dirs): added asc2g and g2asc to the CMake
15:01.28 mafm I was mostly trying to find ppl who used it for their projects -- I guess that OGRE devels don't have much time to test other stuff
15:06.42 starseeker just out of curosity, is cegui's close relationship with OGRE of any help as compared to RBgui?
15:06.58 starseeker can't spell today...
15:07.22 CIA-21 BRL-CAD: 03pacman87 * r31334 10/brlcad/trunk/src/librt/primitives/hyp/hyp.c: fix scale error found by brlcad
15:09.30 d_rossberg pacman87: the endcaps now look good
15:10.08 pacman87 d_rossberg: only curve() and tess() left now :)
15:11.17 brlcad hm
15:11.18 d_rossberg and revolve and sweep ;)
15:11.29 brlcad was getting all sorts of endcap errors
15:11.32 brlcad updates
15:12.29 starseeker Ah, nevermind... (found the wiki discussion of OpenGL gui frameworks)
15:12.32 starseeker reads...
15:13.37 brlcad clock_: he implemented a GA that performed shape matching using ray-tracing, implicits, and CSG: http://brlcad.org/Beset_Overview.pdf
15:14.59 mafm starseeker: both them are, they were originally designed for OGRE afaik
15:16.13 clock_ brlcad: what's a GA?
15:16.31 clock_ and what's shape matching?
15:16.37 brlcad you didn't look at the link apparently
15:19.48 clock_ Preliminary results approximates a cone from spheres
15:20.06 clock_ That's sounds a bit impractical and more theoretical
15:20.13 clock_ Is it in some practical stage already?
15:20.41 brlcad of course not, it was specifically theoretical research
15:21.35 brlcad it's not been done before, and the results actually show that it's probably quite feasible for real-world results with more focus on the fitness function and convergence criteria
15:22.05 clock_ isn't it just going to make everything from spheres?
15:22.12 brlcad No...
15:22.16 clock_ give it a cube and it approximates it from spheres?
15:22.20 brlcad you're not getting it
15:22.39 clock_ but why didn't it just produce one cone and produce tons of spheres instead?
15:22.54 brlcad the point is to match an unknown shape with candidate shape(s) and CSG operations
15:23.16 brlcad because that would converge nearly instantly, it's a nonsensical result
15:24.05 brlcad that task of matching an input shape where the input shape is in you candidate shape set was matched very early on, that's pretty much trivial
15:24.33 brlcad the (much) harder problem is when your candidate shapes don't match the input
15:25.05 clock_ I would take a biggest sphere that would fit in
15:25.08 brlcad so instead of cylinder, maybe it's the mounting bracket to your ronja device
15:25.15 clock_ subtract it and recursively call the algorithm on the rest ;-)
15:25.50 clock_ or convert the shape into an octree and then build the octree from cubes ;-)
15:25.57 brlcad you don't know what would fit, or even where
15:26.05 brlcad it determines that implicitly through the GA process
15:26.13 clock_ wow
15:26.14 brlcad it knows *nothing* about the input
15:26.24 clock_ not even it's shape?
15:26.32 brlcad it can sample the shape is all
15:26.32 clock_ polishes his crystal ball
15:26.41 brlcad single ray queries
15:26.49 mafm (I appear to know more of GUIs than people of the channel, so no much help in that camp :) )
15:26.53 brlcad that tell you where material exists or does not exist
15:27.19 brlcad mafm: what were you expecting to get from them? :)
15:27.26 clock_ I wonder how it reacts if you give it a sponge like for washing dishes
15:27.33 brlcad highly likely iff you got feedback, it'd be biased to the more well-known popular result
15:27.38 clock_ then the results will depend on precise sampling point
15:28.16 brlcad the GA itself tries to converge to match the same space occupancy
15:28.34 brlcad mostly useful for high-dimensional search spaces as a semi-brute force search method
15:29.37 poolio brlcad: I might try to further pursue beset off the clock :) I've got some more ideas I want to try out
15:30.02 brlcad was inspired to code up some of the remaining ideas he had as well ;)
15:30.18 poolio ah well, I concede.
15:30.38 brlcad especially with more operators and primitives to choose from, and simulated annealing to increase convergence
15:31.00 brlcad no no.. don't let me hold you up from doing anything
15:31.18 brlcad those aren't exclusive-or decisions :)
15:31.19 poolio Well, are you working off of the code I had implemented or starting anew?
15:31.41 clock_ brlcad: if you give it a mounting bracket do you think it figures out the primitives from which the bracket was made?
15:31.44 brlcad eh, why would I start new?
15:31.51 clock_ 3 rpps and 2 cyls?
15:32.00 poolio brlcad: no clue, just wondering :) You should keep beset up to date so we could potentially collaborate :)
15:32.13 poolio clock_: Maybe, but it's pretty far from that currently.
15:32.27 brlcad clock_: theoretically if the same primitives and operators were available in the sample set, that would be one of the possible solutions it could arrive at (along with billions of other less fit solutions)
15:33.12 brlcad poolio: I rarely ever have uncommitted code, commit frequently ftw
15:33.34 poolio commit early, commit often, commit every time you save ;)
15:33.42 clock_ Hehe genetic algorithms on WP: "Commonly, the algorithm terminates when either a maximum number of generations has been produced, or a satisfactory fitness level has been reached for the population.
15:33.47 clock_ "
15:34.19 clock_ or "until intelligence capable of producing nuclear weapons evolves"
15:34.39 clock_ what's the termination criterion for the genetic evolution of the nature?
15:35.12 poolio It never terminates.
15:35.21 brlcad made a GA that drove little tanks around that learned how to combat each other in teams effectively whilest in college
15:35.33 poolio It terminates if you can solve the halting problem :)
15:35.48 poolio brlcad: hehe, I did something like that but with little animals collecting food
15:35.54 brlcad easy .. if (rand() == 0) abort(); :)
15:36.01 poolio brlcad: I see you started early with the army
15:36.27 poolio Bah, it's not even random. pseudo-random ftl.
15:37.52 brlcad the first really impressive result I saw was another group in that same class that used a GA that learned how to play tetris .. it learned *exceptionally* well and after a couple days evolving could then easily beat any human players (and could play at 100x real-time speed)
15:38.08 brlcad all through a GA that evolved an FSM of gameplay logic
15:38.47 poolio That's quite impressive...but couldn't they have just brute forced something like that?
15:39.09 clock_ I once played with a program for genetically generated art
15:39.40 brlcad the second impressive result was terzolopolous' work where he had an articulated model of a fish and it completely and naturally learned how to swim .. that was fscking impressive
15:39.44 clock_ or evolve tetris that is as easy as possible
15:39.48 clock_ with only 1x1 blocks
15:40.03 poolio brlcad: oh heh, was it just a simulation? I think I've seen that research before
15:40.21 poolio There was also someone in #ai a while ago that used Q-learning + NNs to evolve a gait for a quadruped
15:40.25 clock_ brlcad: I tried that with human body, biological computer and skateboarding and it also worked impressively
15:40.40 clock_ poolio: they do it on the university of zurich in their robotic lab
15:40.50 brlcad poolio: actually the combinatorial explosion in tetris can get pretty bad -- especially as the stragey actually needed to optimize and respond differently at different levels -- it was multi-player tetris (netris)
15:41.23 poolio ah, I love netris :). I just did some quick figures and got 7(2^200)...I guess that's a little bit large :)
15:43.13 clock_ Could you use GA to evolve an .mp3 that would get #1 in the world charts?
15:43.29 starseeker <snort> that would explain a lot of current music...
15:43.59 clock_ I wrote a program where I fed Bible and Koran and it produced a religious text on the halfway
15:44.06 clock_ Allah and God walking hand in hand in one sentence
15:44.16 clock_ Should solve the eternal collision between religions
15:44.27 brlcad clock_: there's some people that have actually worked on that ..
15:44.42 clock_ I also put in gay sex stories
15:44.48 brlcad (the music bit, not the religious one)
15:44.50 clock_ to make the religion less homophobic
15:44.58 clock_ brlcad: evolved music?
15:45.05 brlcad yep
15:45.30 brlcad it's all in the fitness function
15:45.44 clock_ I took like 8 bit game monsters put them into one picture and ran through the program
15:46.11 clock_ and it created new monsters like birds and dwarfs and birds sitting on a tree branch and multi-headed monsters etc.
15:46.30 clock_ Apparently, the extremely primitive algorithm somehow understood how a monster should look like
15:46.41 clock_ wouldn't it be possible for shapes?
15:47.13 clock_ You give it a complicated model and it ideates and phantasizes based on that?
15:47.45 starseeker can hear the marketing slogans for GA music software "Record studios - when you can't afford or identify musical quality and talent, evolve it with Hit-Gen 3.0!"
15:49.31 clock_ or like "Throw away all discrimination and prejudice - hitmaking for the deaf, painting for the blind!"
15:50.29 poolio I think it'd be more interesting to have some program train on all the top hits ever and mash them together
15:50.32 clock_ Well I solved the problem how deaf people can accompany music
15:50.59 clock_ I wrote an analyzer that shows coloured graphs of the semitones being played and you put coloured stickers on a piano and press the same color you see is coming
15:51.03 clock_ And it mostly sounds good.
15:51.32 clock_ DJ Elvis and MC Jimi Hendrix
15:51.37 starseeker poolio: agree it would be an interesting experiment to run, but I'm not sure we need any more ways to kill off human culture generation...
15:52.42 brlcad pacman87: looking better, next bug: in hyp hyp 100 100 100 0 0 1 .5 0 0 .5 .5 ; left ; zoom 4 ; rt
15:52.43 starseeker more interesting would be to see if such a program could identify what decade a song was most popular in based on some baseline of popular songs from the last six decades or so
15:53.05 clock_ starseeker: it would be necessary to discriminate structure in music
15:53.05 starseeker Perhaps you could identify core "sounds of an era"
15:53.34 clock_ you need just one human brain in a vat
15:53.39 clock_ with a happiness indicator
15:53.49 clock_ feed the music in and find such music that produces the best happiness signal
15:54.06 clock_ but would have ethical issues
15:54.46 clock_ I hope humans will be replaced by immortal computers before I die
15:55.18 clock_ then I will upload my mind into a compact flash chip and be killed from a falling brick animated in BRL-CAD
15:55.20 starseeker Uh - unless you are an immortal computer I doubt that
15:55.36 clock_ from -> by
16:01.01 pacman87 brlcad: what problem did you see?
16:10.40 brlcad a line right through the middle, flipped normals
16:11.10 pacman87 screenshot plz?
16:11.45 brlcad http://brlcad.org/tmp/hypnorm.png
16:12.34 brlcad http://brlcad.org/tmp/hypnorm2.png
16:12.40 pacman87 https://webspace.utexas.edu/trv82/www/hyp_rt15.png
16:13.07 brlcad it's some near-zero tolerancing problem
16:14.14 *** join/#brlcad vedge (n=vedge@205-237-251-204.ilesdelamadeleine.ca)
16:15.35 brlcad probably floating point fuzz, that's exactly on the midline
16:15.52 mafm brlcad: "what were you expecting to get from them? :)" experience on using it
16:16.13 brlcad fair nuff :)
16:16.39 brlcad I think you just need to "pick one" and run with making it work, for better or worse
16:17.14 brlcad I'll pick one if you want, but they do seem fairly even to be rather bikeshed issue barring any other information about the code quality and APIs
16:17.49 brlcad how easy / hard does it seem to be to themee rbgui ?
16:18.02 mafm I think that peole gathering in those channels are usually people like me, using OGRE for their projects, along with some core devels, sometimes of the difefferent addons themselves
16:18.16 mafm (though I would not expect to fin rbgui devels here :) )
16:18.17 brlcad and does the ui scale non-raster
16:18.42 mafm so I'm going to patch OGRE to make it work with RBGUI
16:19.59 brlcad patch ogre, not patch rbgui? :)
16:32.22 mafm yep... it's calling a non-existing method in some ogre class
16:33.19 mafm http://www.ogre3d.org/phpBB2/viewtopic.php?p=239174&sid=ce193664e1d3d7c4af509e6f4e2718c6
16:33.44 CIA-21 BRL-CAD: 03pacman87 * r31335 10/brlcad/trunk/src/librt/primitives/hyp/hyp.c: fix normals near z=0
16:33.49 pacman87 brlcad: try that
16:41.11 brlcad mafm: ah, another interesting patch for rbgui+mocha here: http://www.ogre3d.org/phpBB2/viewtopic.php?t=32929&postdays=0&postorder=asc&start=650
16:41.32 brlcad finds that method of exchanging patches utterly appalling
16:42.09 pacman87 brlcad: i just realized i can get rid of the z=0 check by multiplying the normal vector through by z
16:42.21 brlcad ok
16:42.22 pacman87 and it also takes care of the z>0 conditional
16:42.38 pacman87 so 10 lines of code -> 1 line :)
16:42.44 brlcad excellent
16:42.58 pacman87 testing it now
16:43.49 mafm you mean for me to include the sources+patches of all this in our brl-cad branch?
16:44.39 mafm oh, that function exists in OGRE-bleeding-edge-trunk at least, gonna try that first
16:51.56 *** join/#brlcad PrezKennedy (i=Matthew@208.43.126.194)
16:54.19 CIA-21 BRL-CAD: 03pacman87 * r31336 10/brlcad/trunk/src/librt/primitives/hyp/hyp.c: new and improved normals\!
16:55.32 *** join/#brlcad clock_ (n=clock@77-56-86-41.dclient.hispeed.ch)
16:59.14 brlcad starseeker: those circumflex A's are undoubtedly unicode conversion problems -- try changing the doctype in the html header source, maybe from utf-8 to one of the iso types
16:59.24 brlcad or just regex replace them ..
16:59.29 brlcad mafm: yup
16:59.36 brlcad fully managed dependencies
17:00.04 brlcad if we can't build it for ourselves, it's kinda silly to expect our users to be able to
17:03.13 *** join/#brlcad thing0 (n=ric@124-169-237-118.dyn.iinet.net.au)
17:05.11 brlcad we may later pull ogre out given it's size, but for now it'll really help to consistently become familiar with their sources, build layout, etc
17:06.39 brlcad traditionally, though, anything that is need to compile (other than the compilation environment itself) is provided with the sources and optionally/only used if a suitable system version isn't installed
17:06.39 mafm uh, that's a huge one :)
17:06.39 brlcad no bigger than tcl/tk iirc
17:06.44 brlcad and you wouldn't include some of their binary goo that we don't need
17:06.58 louipc what now? brl-cad's going to include ogre?
17:07.12 brlcad louipc: no
17:07.22 mafm dunno about TK, but TCL was supposed to be a tiny interpreter :)
17:07.23 brlcad this is experimental development
17:07.38 brlcad if it works out well, certainly
17:07.57 mafm go for a coffee while compiling trunk
17:07.59 brlcad separate module, though, not the brlcad module
17:08.01 mafm brb
17:08.06 louipc ah
17:08.45 brlcad this can be thought of as an app that uses brl-cad's libraries/tools, a unified environment
17:14.10 brlcad pacman87: that seems to have done the trick!
17:16.55 louipc mafm: well it's pretty small compared to others.
17:21.43 *** join/#brlcad pacman87 (n=timothy@71.170.63.120)
17:36.06 brlcad pacman87: the primitive is nicely robust down to computation tolerance sizes... very nice!
17:36.22 brlcad e.g. a hyp that is only 0.0005 mm tall
17:50.01 pacman87 how exactly is the tesselation stored in the nmgregion?
18:29.15 brlcad faces, loops, edges, vertices
18:29.27 brlcad they stitch together a solid surface
18:33.03 pacman87 what is tess() used for; ie, how can i test it?
18:37.41 *** join/#brlcad dtidrow_ (n=dtidrow@c-69-255-182-248.hsd1.va.comcast.net)
18:40.19 pacman87 what's the best way to handle the case where the ellipse's major axis vector isnt' perpendicular to the height?
18:41.33 pacman87 give an error and refuse to work, or just take the component of the vector that is perpendicular?
18:42.43 pacman87 in test hyp 0 0 0 0 0 4 0 1 1 1 1
18:43.48 *** join/#brlcad mafm (n=mafm@elnet-111.lip.pt)
18:45.11 mafm OGRE crashing my X... no good >:[
18:46.21 louipc heheh
18:54.30 *** join/#brlcad IriX64 (n=mariodot@bas2-sudbury98-1177725958.dsl.bell.ca)
18:55.21 IriX64 http://www3.sympatico.ca/mario.dulisse2/shot2.png :)
19:00.25 louipc what is it? :P
19:00.41 IriX64 computer burped and that came out :)
19:03.35 *** join/#brlcad andrecastelo (n=chatzill@189.71.61.92)
19:03.59 andrecastelo good afternoon guys
19:05.29 pacman87 hi andrecastelo
19:05.46 andrecastelo hey pacman87, how are u ?
19:12.32 pacman87 pretty good, still trying to wrap my mind around tess()
19:12.38 pacman87 how are you?
19:12.38 ibot pacman87: mas o menos
19:15.54 andrecastelo pretty good too, got some free time, trying to work my way into stting up a grid
19:15.59 andrecastelo s/stting/setting
19:27.16 brlcad pacman87: tess is used by most of the converters -- you can test it with the E and/or ev commands inside mged
19:54.17 andrecastelo ``Erik: mlt's view_setup() will be pretty similar to rt's view_setup() ? perhaps expanding it a little to handle mlt specific stuff??
20:08.07 mafm be back tomorrow or sunday to recover a bit of the time and speed up things
20:08.34 mafm and fix this OGRE thing broking my X-Windows :P
20:08.40 mafm cya
20:46.20 pacman87 hmm, the ehy will accept a major axis vector that's not perpendicular to the height vector, but ehy's export5() gives a scary error message. Would it be better to check this in typein.c instead of export5()?
21:23.23 ``Erik 2/det
21:25.18 *** join/#brlcad docelic (n=docelic@78.134.202.42)
22:25.23 *** join/#brlcad thing1 (n=ric@203-59-26-22.perm.iinet.net.au)
22:44.40 *** join/#brlcad IriX64 (n=mariodot@bas2-sudbury98-1177725958.dsl.bell.ca)
23:30.56 brlcad pacman87: you should check in both places .. there are other ways to directly create primitives that side-step typein
23:31.35 brlcad export is ultimately where it's "actually" created on disk, so that makes sense too
23:35.42 brlcad otherwise you could handle it in a variety of ways, but probably not worth the effort
23:38.56 brlcad andrecastelo: likely very similar or even empty
23:39.20 brlcad view_init is rarely used .. it's what you can do after you know your view grid but before you've prep'd geometry .. which isn't very much
23:40.48 andrecastelo brlcad: i see.. i have a night class now but i'll be back in an hour, an hour and a half.. will you be online then?
23:42.17 andrecastelo hehe, i'm kinda late, so cya later

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