| 00:56.10 | *** join/#brlcad Twingy (n=justin@74.92.144.217) | |
| 02:01.01 | yukonbob | RodGallowGlass: man gcc says "387", "sse", or "see,387" |
| 02:01.15 | yukonbob | *ssc,387 |
| 02:01.28 | yukonbob | *sse,387 ;) |
| 02:10.39 | RodGallowGlass | ahh the "other" processor on the chip, thanks man ;) |
| 02:51.05 | RodGallowGlass | http://Irix64.spaces.live.com/photos/stuff shot of what im doing at the moment (I like to share) :) |
| 03:16.02 | *** join/#brlcad cad89 (n=43b061f1@bz.bzflag.bz) | |
| 06:43.13 | *** join/#brlcad elite01 (n=elite01@dslc-082-082-090-116.pools.arcor-ip.net) | |
| 07:12.20 | *** join/#brlcad yukonbob (n=bch@whthyt224-180.northwestel.net) | |
| 08:04.36 | *** join/#brlcad Laniakea (n=clock@zux221-122-143.adsl.green.ch) | |
| 09:50.21 | *** join/#brlcad yukonbob_ (n=bch@whthyt224-180.northwestel.net) | |
| 10:11.53 | *** join/#brlcad akreal (n=ak@ll-81-222-164-251.awanti.ru) | |
| 10:53.26 | *** join/#brlcad elite01 (n=elite01@dslc-082-082-090-116.pools.arcor-ip.net) | |
| 11:52.23 | *** join/#brlcad janfi (n=539a52d2@bz.bzflag.bz) | |
| 11:53.23 | *** join/#brlcad drmad (n=drmad@dyn-83-154-82-210.ppp.tiscali.fr) | |
| 11:53.37 | drmad | hello everybody |
| 11:54.38 | drmad | I'm trying to install brlcad and I have an error message, can someone help please ? |
| 12:02.31 | drmad | This is probably just a small problem :~ |
| 12:11.06 | yukonbob_ | drmad: tell us what the msg is :) |
| 12:23.32 | drmad | make[4]: *** Pas de règle pour fabriquer la cible « jove-tutorial », nécessaire pour « all-am ». Arrêt. |
| 12:23.32 | drmad | make[4]: quittant le répertoire « /home/jpc/brlcad/brlcad-7.10.0/src/other/jove » |
| 12:23.32 | drmad | make[3]: *** [all] Erreur 2 |
| 12:23.32 | drmad | make[3]: quittant le répertoire « /home/jpc/brlcad/brlcad-7.10.0/src/other/jove » |
| 12:23.32 | drmad | make[2]: *** [all-recursive] Erreur 1 |
| 12:23.35 | drmad | make[2]: quittant le répertoire « /home/jpc/brlcad/brlcad-7.10.0/src/other » |
| 12:23.37 | drmad | make[1]: *** [all-recursive] Erreur 1 |
| 12:23.39 | drmad | make[1]: quittant le répertoire « /home/jpc/brlcad/brlcad-7.10.0/src » |
| 12:24.07 | drmad | make: *** [all-recursive] Erreur 1 |
| 12:24.07 | drmad | bash-3.1$ |
| 12:59.23 | drmad | it means "no target to install jove-tutotial" |
| 12:59.52 | elite01 | i think you should configure with --disable-jove or soemthing like that |
| 13:01.54 | drmad | what for jove is used in brlcad ? |
| 13:02.08 | elite01 | i think it's some text editor |
| 13:02.15 | elite01 | i also believe no one needs it :) |
| 13:05.21 | drmad | I have found jove in slackware repository, it try again |
| 13:06.38 | drmad | I have found jove in slackware repository, I try again |
| 13:08.26 | drmad | I never used any CAD software, is brlcad good to start with ? What is the best tutorial to use ? |
| 13:09.03 | elite01 | the "introduction to mged" at http://www.brlcad.org/ is ok |
| 13:12.27 | *** join/#brlcad poolio (n=poolio@c-69-251-3-107.hsd1.md.comcast.net) | |
| 13:15.19 | drmad | it compiles hardly... |
| 13:22.13 | poolio | MORNIN |
| 13:22.20 | poolio | oopsies. |
| 13:43.42 | poolio | brlcad: I have some questions for you when you return :) |
| 15:02.58 | *** join/#brlcad jimmyz (n=asd@host86-133-245-247.range86-133.btcentralplus.com) | |
| 17:00.49 | *** join/#brlcad avegas (n=vegas@71-36-200-5.eugn.qwest.net) | |
| 17:00.58 | avegas | hi there, |
| 17:01.07 | drmad | <PROTECTED> |
| 17:02.29 | avegas | are you folks mainly developers, or users, or both? |
| 17:03.11 | RodGallowGlass | some of us like me, are neither and just play around :) |
| 17:03.36 | avegas | :D |
| 17:04.49 | avegas | so, a few friends of mine want to try and build a web based CAD program, and I'm wondering if the BRL-CAD source would be a good thing to read around in to maybe get some ideas |
| 17:05.31 | archivist | web based !!!! |
| 17:05.32 | avegas | and it also seems interesting that BRL-CAD is split into all these modular little utilities, that could maybe be repurposed to do server-side work |
| 17:05.56 | avegas | yeah, I think it's a semi-ridiculous idea, but I like working on those |
| 17:06.25 | avegas | it would be in service of this whole 'fab-lab' community-oriented desktop fabrication thing |
| 17:06.37 | avegas | :D |
| 17:06.37 | archivist | I have started on a diagramming tool for databases thats web based |
| 17:06.56 | avegas | are you using canvas, or svg, or something else? |
| 17:07.05 | archivist | something else |
| 17:07.21 | archivist | comments here http://www.archivist.info/search/index.php/Erd and beta test here http://www.archivist.info/wench/erd.php |
| 17:07.39 | archivist | lots to do yet |
| 17:07.51 | avegas | that's pretty standard |
| 17:07.54 | avegas | looks neat |
| 17:08.15 | archivist | as a 3d modeller user I dont think the web is right for that |
| 17:09.46 | archivist | too much to send in each direction |
| 17:10.23 | RodGallowGlass | archivist... ^5's |
| 17:16.52 | avegas | yeah, it's main initial goal would be for pcbs |
| 17:20.09 | archivist | hmm Ive been a pcb designer in the past |
| 17:20.53 | archivist | are you thinking autorouting or hand editing |
| 17:23.50 | RodGallowGlass | archivist, you a p-cad user? |
| 17:24.00 | archivist | yes |
| 17:24.07 | RodGallowGlass | thought so |
| 17:24.17 | archivist | 5 on dos |
| 17:24.35 | RodGallowGlass | is there a good windows version yet? |
| 17:25.05 | archivist | dunno ones ive seen seem backwards in useability |
| 17:25.15 | RodGallowGlass | have'nt played with that in 10 years |
| 17:26.02 | RodGallowGlass | came up with a program to dump the plot on the screen to laser since print screen couldn't do it |
| 17:26.19 | RodGallowGlass | rather than plotting the whole file |
| 17:26.24 | archivist | heh worth keeping 486's going for |
| 17:26.30 | RodGallowGlass | yes |
| 17:26.49 | RodGallowGlass | plenty of spares ;) |
| 17:28.00 | RodGallowGlass | laserjet II still have the program somewhere if you want it it was a little tsr |
| 17:29.12 | archivist | I keep a postscript HP for prints, view the plots in pcgerber |
| 17:29.28 | RodGallowGlass | that too works |
| 17:29.48 | RodGallowGlass | this laser also had the plotter cartridge |
| 17:31.17 | RodGallowGlass | the autorouter is pretty good, rarely got caught in a no trace possible condition, depending on the density |
| 17:36.38 | archivist | cant have done tight boards then |
| 17:38.12 | RodGallowGlass | just small stuff 15"x15" |
| 17:38.27 | RodGallowGlass | pie plates :) |
| 17:38.57 | RodGallowGlass | hand editing is .... interesting :) |
| 17:39.44 | RodGallowGlass | found the source called it vgaprn |
| 17:39.53 | archivist | I normally had restrictions on layers so had to do a lot of hand routing |
| 17:40.14 | RodGallowGlass | understood, you play serious play. |
| 17:40.40 | RodGallowGlass | its only two k how much does rafb allow? |
| 17:40.45 | RodGallowGlass | 2k |
| 17:41.18 | archivist | dunno |
| 17:41.25 | RodGallowGlass | erf cgaprn |
| 17:41.38 | RodGallowGlass | dunno what vgaprn is |
| 17:42.03 | RodGallowGlass | when this thing frees up a little ill post it on rafb |
| 17:42.20 | archivist | ok |
| 17:51.07 | RodGallowGlass | http://rafb.net/p/sVOzsI89.html |
| 17:54.10 | RodGallowGlass | gotta reboot be right back, well sorta right back |
| 17:54.16 | *** part/#brlcad RodGallowGlass (n=mario_du@bas2-sudbury98-1177726512.dsl.bell.ca) | |
| 17:59.09 | *** join/#brlcad IriX64 (n=mario_du@bas2-sudbury98-1177726512.dsl.bell.ca) | |
| 18:00.20 | IriX64 | http://rafb.net/p/d5Ya2c43.html archivist this one has nothing to do with prtscrn :) |
| 18:08.22 | IriX64 | http://rafb.net/p/46D3VG31.html <----- archivist, my system cooks, I'm sure you're familiar with this (it's beautiful :)) |
| 18:12.13 | *** join/#brlcad docelic (n=docelic@212.91.116.51) | |
| 18:12.17 | IriX64 | salute :) |
| 18:15.58 | brlcad | drmad: 7.10.0 had a file missing for jove, but jove is entirely non-critical and can be disabled with --disable-jove |
| 18:16.06 | poolio | brlcad: I have many a question for you. |
| 18:17.26 | brlcad | poolio: okay, fire away |
| 18:17.33 | brlcad | i'm in and out, so some might have a delay ;) |
| 18:17.47 | poolio | brlcad: Remember when we were talking and said global scale doesn't matter, like a sphere with a radius of 4 and a sphere of radius 2 should be equivalent (if those are the only shapes you are comparing). Well the issue is that when raytracing, the depth of the sphere (where you get the hit_dist ances from) is going to change depending on scale. So do you think it would be a good idea to normalize the rays to their bounding box or should |
| 18:18.15 | poolio | Also, is there a way to modify a shape in the database or should I just rewrite it every time I update it? |
| 18:19.15 | poolio | And the big issue I had was in thinking of how to generate a random population. For a circle it's somewhat easy, you pick a point within the bounding box, but you're leaving out a lot of points with that... so for a sphere the acceptable possible center locations are going to be less than the spheres radius away from the bounding box of the source |
| 18:19.25 | poolio | I use source to reference the data that we are trying to extract shapes from |
| 18:19.48 | poolio | So for a sphere it'd be trivial: randomly pick a radius in a certain range, compute possible points, and pick those points |
| 18:20.54 | poolio | The issue comes with other shapes... I'd have to come up with an algorithm to have a given shapes bounding box in terms of the input points and parameters. Like with an rpp neither of the min/max points need to lie in the bounding box of the source for the rpp's bounding box to intersect the source |
| 18:21.23 | poolio | so the main issue I'm worried about is how to randomly generate points that will have the shape those points belong to's bounding box intersect the source's bounding box |
| 18:21.30 | poolio | alright I'll stop asking there, I have more though :) |
| 18:23.58 | poolio | disclaimer: I may drop out, crazy thunderstorms. |
| 18:28.06 | brlcad | whether you normalize the shotlines to the bounding box size or not is entirely up to you :) |
| 18:28.16 | brlcad | I think there's merit to both approaches |
| 18:28.55 | brlcad | I *think* normalizing will remove an optimization variable entirely, which should help convergence, but can't say that definitiely .. just intuitively |
| 18:29.08 | poolio | That's my thought, it's just one less dimension |
| 18:29.23 | poolio | the question is whether the time it takes to normalize the rays would be faster or slower than having the GA learn the scale |
| 18:29.33 | brlcad | I would just rewrite the shape for each new population -- write out a new .g file even -- that takes *no* time in comparison to the fitness evaluation |
| 18:29.58 | poolio | Well I'm not writing out a new .g file, I'm overwriting the current shapes. Would you say have a different .g file for each generation? |
| 18:30.19 | brlcad | the only issue that comes to mind for normalizing is that you'll need BB's that are aligned to the grid of rays |
| 18:30.51 | poolio | brlcad: wait, are the bounding boxes that are calculated OBBs? |
| 18:31.26 | brlcad | yeah, I was thinking a new .g for each genotype even .. so you have a very simple mapping of input to result output candidates |
| 18:31.58 | poolio | wait, so one candidate solution for each .g file? |
| 18:32.11 | brlcad | that would let you do things like save the best .g from a given population and save it to a given dir, so you can see/keep the best from each iteration |
| 18:32.47 | poolio | alright |
| 18:33.02 | poolio | and are the bounding boxes that rt_prep calculates OBBs? |
| 18:33.08 | brlcad | whether it's each candidate or each population shouldn't really matter -- if you find it easier to do it per population, that'd work |
| 18:33.28 | poolio | I think I'll leave it per population and I can write a quick routine to extract and dump the best individuals from each into a new .g |
| 18:33.38 | brlcad | ooh, even better than OBB .. you can probably just use the bounding sphere (which I think is computed after prep) |
| 18:33.54 | brlcad | the radius/diameter of the bounding sphere is probably enough to normalize |
| 18:34.20 | brlcad | rt_prep calculates AABB's iirc |
| 18:35.48 | poolio | alright |
| 18:36.04 | poolio | and any ideas in terms of generating random candidates ? |
| 18:37.12 | poolio | and how do I rotate an object in code? |
| 18:37.41 | brlcad | depends -- primitives are positioned/oriented in space exactly |
| 18:37.50 | brlcad | combinations have matrices |
| 18:38.05 | poolio | exact oreintation would be fine. i didn't see anything in libwdb about orientation |
| 18:40.36 | brlcad | part of mk_comb for combinations |
| 18:40.56 | poolio | well I think I'm only going to be working with primitives and regions. I don't really see a need for combinations as of now |
| 18:40.58 | brlcad | it returns a matrix that you can set that is written during wdb_close |
| 18:41.10 | brlcad | regions are combinations |
| 18:41.17 | poolio | oh. oops |
| 18:41.30 | poolio | well what about rotating individual primitives? |
| 18:41.34 | brlcad | combinations aren't necessarily regions, but all regions are combinations |
| 18:42.01 | brlcad | i wouldn't worry about rotating individual primitives -- it's implicit in their parameters |
| 18:42.02 | poolio | ok. Yeah I saw some examples in proc-db |
| 18:42.25 | poolio | brlcad: is it? I'm creating shapes (currently just spheres) with mk_sph() and there's no specification for orientation |
| 18:42.33 | brlcad | e.g. if you want an ellipsoid that stretches down the X axis, that's part of the A/B vectors you have to provide |
| 18:42.50 | poolio | Oh I see |
| 18:43.06 | brlcad | poolio: what's the difference between a sphere facing down the X and one facing down the Y axis? |
| 18:43.24 | brlcad | they're both spheres that consume exactly the same space ;) |
| 18:43.29 | poolio | There is none, but I was thinking about rectangles |
| 18:43.30 | brlcad | effectively unoriented |
| 18:43.40 | poolio | but I guess you'd just have the min/max points moved and that's rotation |
| 18:44.15 | brlcad | right, you define those corner points or plane equations that determines the orientation |
| 18:44.28 | brlcad | part of the nature of implicit geometry |
| 18:44.33 | poolio | alright. so orientation is implicit in the creation of the geoometry |
| 18:44.37 | poolio | :) |
| 18:45.25 | brlcad | yeah, part of the primitive genotype |
| 18:45.27 | poolio | so the only thing the GA needs to learn are the order of shapes and operators in between them, and theoretically everything else is going to be part of the parameters of the shapes that the combination is made up of |
| 18:45.42 | brlcad | yeah |
| 18:46.38 | poolio | alright cool, so for nwo I'm going to try to get it to evolve a properly oriented rectangle adn then tomorrow I'll need some help on going from graphs --> trees and workign with that. I read through some of the code but wasn't entirely clear |
| 18:47.10 | poolio | Also I might have to have a sort of meta-GA to try to find the best parameters for the GA -- mutation rates, crossover rates, etc... |
| 18:47.41 | brlcad | start with a sphere |
| 18:47.46 | poolio | I have the sphere working |
| 18:47.46 | brlcad | it's the simplest case |
| 18:47.50 | poolio | The only thing to learn with a sphere is scale |
| 18:47.55 | poolio | which will be eliminated in a couple minutes |
| 18:47.59 | poolio | so there is nothing to learn with a sphere at all |
| 18:48.05 | brlcad | but actually evolving the sphere? |
| 18:48.09 | brlcad | sphere has a position |
| 18:48.17 | poolio | Yes, but the position is irrelevant |
| 18:48.29 | brlcad | you know that |
| 18:48.34 | poolio | The grid of rays is oreinted to the bounding box of the individual |
| 18:48.37 | brlcad | the GA doesn't know that |
| 18:49.24 | brlcad | you can skip it if you think it's too simple, but I still wouldn't jump to arb8's .. they have too many parameters |
| 18:49.36 | brlcad | maybe go with an ellipsoid then |
| 18:49.36 | poolio | So what would you recommend? |
| 18:49.40 | poolio | alright |
| 18:50.00 | brlcad | another good one would be a torus |
| 18:50.00 | poolio | The only thing to worry about in a single-primitive population is the orientation |
| 18:50.12 | brlcad | very few parameters, but rather complex shape |
| 18:50.22 | poolio | alright. |
| 18:50.48 | brlcad | then maybe move to arb8 or tgc |
| 18:50.57 | poolio | also the issue with single shapes is it's fairly trivial, the only thing you have is mutation so it's just choosing random numbers or modifying the current one until it gets there |
| 18:50.59 | brlcad | those will be two of the harder shapes I'd imagine |
| 18:51.48 | poolio | mind me asking what a tgc is? |
| 18:51.56 | brlcad | truncated general cone |
| 18:52.08 | brlcad | the entire category of conics are represented via the tgc |
| 18:52.15 | poolio | oh wow |
| 18:52.20 | poolio | cool :) |
| 18:52.55 | poolio | Also I didn't mean jump to arb8, I meant RPP, but yeah... |
| 18:54.48 | brlcad | you have seen http://my.brlcad.org/tmp/primitives/Primitives3_grouped_labels.png yes? |
| 18:55.51 | poolio | no! very helpful :) |
| 18:56.05 | brlcad | all five of the generalized conic shapes in the lower left are tgc |
| 18:56.22 | brlcad | all of the boxes grouped up top are arb's |
| 18:56.48 | drmad | Thank you brlcad, but it compiled fine after installing jove. I have to learn now... |
| 18:57.21 | brlcad | drmad: the tutorials on http://brlcad.org (particularly the introduction to mged) are probably a good place to start, or just poke around all of the commands |
| 18:59.58 | drmad | yes, this one is already displayed on my computer... I read it |
| 19:00.04 | poolio | brlcad: does brl-cad have some sort of pseudo-random number generator implemented or can i use rand()? |
| 19:00.29 | brlcad | it does, and you should use it (as it's considerably faster and repeatable) ;) |
| 19:04.05 | brlcad | poolio: see include/bn.h .. there's even a simple snippet on how to use them |
| 19:04.38 | brlcad | there's no problem using rand() either, but you should definitely set and record the seed in your results so that runs can be entirely repeated |
| 19:04.45 | poolio | brlcad: I saw the table of random numbers, but I think I want something more random than that? |
| 19:05.08 | poolio | Oh alright, for testing purposes |
| 19:05.32 | brlcad | poolio: there's a lot of math behind the table of random numbers, in terms of variability, random sampling, mathematical distribution, etc |
| 19:06.23 | poolio | brlcad: so you would suggest just using them? |
| 19:06.38 | brlcad | whatever floats your boat :) |
| 19:06.49 | poolio | alrighty |
| 19:07.00 | poolio | thanks for answering all my questions, I've been struggling a bit the past two days :P |
| 19:07.47 | brlcad | bn's random numbers will be considerably faster than using rand(), not that that probably matters for this, but the sample distribution should also likely be more "well-behaved" |
| 19:08.00 | poolio | alright cool |
| 19:08.11 | brlcad | to the point that it shouldn't matter -- you're not likely to get artifacts at all from either |
| 19:45.05 | IriX64 | mother was right, if you can't follow the conversation stay out of it :) |
| 19:49.33 | IriX64 | http://rafb.net/p/453cAr18.html <---- it took me an hour to fake this, did i get it right ;) |
| 20:03.10 | elite01 | IriX64, fake it? why not ./configure >something? |
| 20:04.04 | IriX64 | real configure ran it's making now |
| 20:05.37 | IriX64 | http://rafb.net/p/b4oQC331.html <---- see, I figure if i'm going to be laffed at for my choice of system i may as well play the part :) |
| 20:06.23 | brlcad | those are random, useless pastebins |
| 20:06.31 | IriX64 | not really |
| 20:06.39 | brlcad | entirely -- what is the point?? |
| 20:06.53 | IriX64 | trying to lighten the mood |
| 20:07.03 | brlcad | the mood is light |
| 20:07.14 | elite01 | thanks to IriX64 :) |
| 20:07.19 | IriX64 | then i'll retire to my corner of the room now :) |
| 20:07.20 | brlcad | heh |
| 20:07.54 | poolio | I'm already floating away... |
| 20:08.09 | IriX64 | drop a byte as an anchor poolio |
| 20:08.16 | brlcad | it's just annoying to click on a link that conveys nothing of value.. not a build failure that needs fixing, not even a successful compilation of something that was hard to do (i.e. some sort of acheivement) |
| 20:08.32 | brlcad | it's just .. "noise" :) |
| 20:08.42 | IriX64 | ill preface such from now on a s this is a useless paste |
| 20:09.09 | poolio | I think I've lost it. I just spent like an hour debugging code that wasn't broken. I had a character at the beginning of my header file....GRRRR |
| 20:09.11 | brlcad | no, that's not the point -- if you know it's useless, then don't paste it |
| 20:09.32 | IriX64 | sigh... must i adhere to that |
| 20:09.42 | brlcad | we've had this talk before, I really do not want to have it again |
| 20:09.54 | IriX64 | ill adhere to it then |
| 20:10.06 | brlcad | thank you |
| 20:10.16 | IriX64 | blog shots allowed? |
| 20:10.36 | poolio | brlcad: is there some sort of internal structure that stores all of a given shape's properties? |
| 20:11.13 | brlcad | IriX64: in moderation when they actually share something .. _interesting_ |
| 20:11.23 | IriX64 | sure..thanks |
| 20:11.29 | brlcad | poolio: for each primitive, yes |
| 20:12.15 | brlcad | there's a struct arb_internal for example |
| 20:12.15 | brlcad | poolio: most of them are in rtgeom.h though raytrace.h has a few too |
| 20:12.29 | poolio | brlcad: but if I want some sort of universal shape container... that's not in existence? |
| 20:12.47 | brlcad | er, what do you mean? |
| 20:13.16 | brlcad | there are serialized an unserialized forms if that's what you mean |
| 20:13.17 | poolio | Like if I want a standard node in a tree, where that node represents the shape and the tree is the combination, is there a way to do that? (isn't it done this way internally?) |
| 20:13.31 | poolio | err not really |
| 20:13.54 | poolio | I'll try to figure it out in my brain tomorrow when I work with trees |
| 20:14.22 | brlcad | if I understand you correctly, rt_db_internal might be what you're looking for |
| 20:14.37 | poolio | alright thanks |
| 20:39.37 | brlcad | alternatively, you could deal with struct directory pointers, though that entirely encapsulates the geometry |
| 20:39.51 | brlcad | at that level, they are just generic named objects |
| 20:41.05 | brlcad | when you get a handle on a directory pointer (e.g. from db_lookup()), you can get that rt_db_internal via rt_db_get_internal() |
| 20:44.09 | poolio | brlcad: the issue is say "mutating" an object |
| 20:44.26 | poolio | I want a sort of wrapper, but I might have to do it like if(this_shape){modify these parameters...} |
| 20:49.09 | brlcad | well, the absolute "generic" container is the serialized form (which is part of what gets written to disk) |
| 20:49.36 | poolio | hmm yeah, i'm not sure that's what I want to deal with though |
| 20:49.44 | poolio | I guess it's probably better to just specialize the mutations for each shape |
| 20:50.01 | brlcad | each primitive has a export5 routine (e.g. rt_ell_export5()) that takes the rt_db_internal and fills in a bu_external (which is just a generic binary data array |
| 20:51.02 | brlcad | you could actually work with those bu_external's an an entirely generic fashion -- all the data in the idb_ptr is the parameters to the primitive without any names or types associated |
| 20:51.31 | poolio | so I could just mutate the binary data? |
| 20:51.40 | brlcad | so you could tweak actual values/bits there, just that you can conceivably make invalid geometry too -- boxes with twisted faces, inside out shapes, etc |
| 20:51.45 | brlcad | yeah, you could |
| 20:52.03 | poolio | Well the thing is I don't want to corrupt the data like that |
| 20:52.17 | poolio | I also don't want to do just straight mutation: replacing values with randomly generated ones |
| 20:52.26 | brlcad | it would be interesting to see how well the GA adjusted (if it even would) to invalid mutations |
| 20:52.26 | poolio | I'm thinking also to have mutations that just add/subtract to the current ones |
| 20:52.34 | brlcad | since the fitness would jump to zero |
| 20:52.40 | poolio | brlcad: well would the raytracer be able to work with it? |
| 20:52.51 | poolio | I feel like it'd just crash |
| 20:52.51 | brlcad | depends on case |
| 20:53.11 | brlcad | wouldn't likely crash, would just likely drop that object saying it's not valid |
| 20:53.21 | brlcad | as if you had no object |
| 20:53.34 | poolio | yeah |
| 20:53.44 | brlcad | at worst, could abort rt during prep (or perhaps crash.. hard to say without testing) |
| 20:53.46 | poolio | and if I did good error checking then it would probalby just drop the shape and randomly create a new individual |
| 20:54.08 | poolio | well something to think about, I'll try to make the GA framework flexible to allow for all sorts of testing and stuff in the upcoming weeks |
| 20:54.16 | brlcad | the primitives are supposed to check themselves during prep .. so if it made something invalid, it's up to their prep routine to stop |
| 20:54.24 | poolio | That's what's bugging me now...how to organize and lay things out and represent things. I'm trying to make it easier for myself in the future |
| 20:54.45 | brlcad | probably easiest to just have a hook for each primitive shape you support |
| 20:55.06 | brlcad | you have to know about them anyways since you're supporting only a subset from the start |
| 20:55.46 | brlcad | maybe just keep each one contained in its own file to make it obvious how to add evolutionary support for new primitives |
| 20:56.44 | brlcad | longer term solution would be a routine in librt that did the object-type manipulation for you somehow |
| 20:58.35 | poolio | that'd be handy. Maybe an array of "parameters" that pointed into the struct |
| 20:58.39 | poolio | actually I could implement that for my shapes |
| 20:58.45 | poolio | make the front-end of my app a bit prettier |
| 21:05.10 | IriX64 | yukonbob, why would i get an editor faceplate when starting mged from an xterm prompt, but not when starting from an ntvdm? |
| 21:05.33 | IriX64 | framebuffer comes up tho |
| 21:07.06 | brlcad | poolio: one other solution could be to use the serialized mged tcl form for each primitive, which is just a text string -- but then you still have the issue of what is valid and what is not, though it's obvious what the numbers are for the most part |
| 21:08.00 | poolio | brlcad: I think it makes more sense to just write hooks for each shape, but that is an interesting idea |
| 21:09.46 | brlcad | i agree |
| 21:09.50 | brlcad | just throwing it out there |
| 21:10.49 | brlcad | the only real way to encapsulate the behavior would be to add the ability to "randomly mutate" to each primitive, similar to how each primitive defines their existing behaviors |
| 21:11.04 | brlcad | then you could just call a generic mutate() hook func |
| 21:12.43 | poolio | Yeah but teh thing is what I want to mutate and how I want it to mutate is going to change / i would like it to be app-controlled |
| 21:12.57 | poolio | so if you want "Mutate" to mean replace certain values or if you want "mutate" to mean modify them X amount... |
| 21:16.39 | brlcad | yup, becomes very specific |
| 21:16.45 | brlcad | and tied to the GA |
| 21:17.02 | brlcad | and has very little to do with the geometry other than maybe asking "is this valid" |
| 21:17.14 | poolio | yeah oh well |
| 21:17.28 | poolio | I'm trying to keep the code modularized though so if this a) works and b) is used, it just might be maintainable :) |
| 21:19.54 | brlcad | a discussion came up in a meeting earlier today about how useful it would be to be able to go from a polygonal model to a csg or brep/nurbs model ;) |
| 21:20.04 | poolio | wooot. |
| 21:20.05 | brlcad | even for simple shapes |
| 21:20.07 | poolio | and what'd you say? |
| 21:20.22 | brlcad | only that you'd have it done next week |
| 21:20.44 | poolio | ... |
| 21:20.45 | poolio | bastard. |
| 21:21.01 | poolio | brlcad: I also have to do that huge sf86....I'm gonna die. |
| 21:21.01 | brlcad | :) |
| 21:21.07 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/include/brep.h: Increase root finding iterations and added edge miss tolerance |
| 21:21.34 | poolio | how simple shapes are you talking? Single primitives or just multiple in a union or ...? |
| 21:22.10 | brlcad | simple parts like a gear head or a piston, or a door knob, etc .. so not single primitives, but not more than a handful if simplified |
| 21:22.13 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/include/opennurbs_ext.h: Change the number of iterations for debugging purposes... |
| 21:22.48 | poolio | brlcad: Yeah I think the GA if working is a great way to create "rough models" of say polygonal models |
| 21:22.55 | poolio | I don't think it's good for finding the optimal solution |
| 21:23.03 | poolio | but I think it's very good at finding near-optimal solutions |
| 21:23.15 | IriX64 | http://irix32.spaces.live.com/photos brlcad album , first picture (7.10.1 with X also have it with ogl) |
| 21:23.50 | IriX64 | but fbserv won't exec from mged, does fine from the dos prompt tho. |
| 21:24.02 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/src/conv/iges/brlcad_brep.cpp: fix yet another (hopefully final) knot-related bug |
| 21:25.35 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/src/conv/iges/n_iges.cpp: fix a bug in IGES parsing where an empty field should yield a default numerical value |
| 21:26.48 | IriX64 | haha rotated it to 45 degrees on the x y z axis drew it fine |
| 21:27.01 | IriX64 | shall i post it |
| 21:27.09 | yukonbob | IriX64: I think I don't know what ntvdm is... |
| 21:27.23 | IriX64 | ahh ok thanks |
| 21:27.31 | yukonbob | so, what is it? |
| 21:27.38 | IriX64 | oh man a dos box |
| 21:27.42 | IriX64 | on windows |
| 21:28.02 | poolio | brlcad: is there a commercial solution to what I'm working on? I mean I'd be surprised if someone hadn't done it before |
| 21:28.25 | yukonbob | IriX64: like "cmd.exe"? |
| 21:28.31 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/src/librt/g_brep.cpp: start work on jungle gym algo, implemented in brep_edge_check method (try to prevent acne due to tracing through a crack in the manifold) |
| 21:28.46 | IriX64 | yukonbob yes exactly the C:\ prompt |
| 21:29.18 | IriX64 | may have it fixed |
| 21:29.38 | IriX64 | needs the DISPLAY variable thanks to you you lout :) |
| 21:29.57 | yukonbob | the best way to fix it, and improve a few other things is to install a BSD... ;) |
| 21:30.14 | IriX64 | free or commercial :) |
| 21:30.18 | CIA-4 | BRL-CAD: 03jlowenz * 10brlcad/src/librt/opennurbs_ext.cpp: debug divergent root finder for pullback curves (investigate alternate methodology?) |
| 21:30.53 | brlcad | ~ntvdm is a Virtual DOS machine, the name of technology developed by Microsoft that allows older 16-bit MSDOS programs to run in a virtual machine on newer hardware and operating systems. See http://en.wikipedia.org/wiki/NTVDM for details |
| 21:30.54 | ibot | brlcad: okay |
| 21:31.29 | brlcad | cmd.exe isn't the same as ntvdm |
| 21:31.33 | yukonbob | ?sure everything about brlcad is at least 32-bit. |
| 21:31.35 | yukonbob | *surely |
| 21:31.39 | poolio | brlcad: does jlowenz work withyou? |
| 21:31.55 | IriX64 | i'm trying to keep from going to hell brlcad :) |
| 21:33.09 | IriX64 | ok the cmd.exe prompt *not the command.com prompt altho i can run that prompt too on this system :) |
| 21:36.19 | *** join/#brlcad jimmyz (n=asd@host86-133-245-247.range86-133.btcentralplus.com) | |
| 21:37.19 | IriX64 | ok the 45 degree shot is first pix on that albumn now |
| 22:10.48 | IriX64 | hah up.bat and up it comes |
| 22:12.31 | IriX64 | what was i doing up ar 5:22am anyway :) |
| 22:13.55 | IriX64 | yukonbob: i should have responded that's ok, i don't know what edlin is :P |
| 22:20.05 | IriX64 | things useless, it cant find any of the programs in bin, even when you cd to bin |
| 22:20.26 | IriX64 | this one i'm reporting, you need documentation? |
| 22:22.24 | IriX64 | http://rafb.net/p/WR5l8A24.html |
| 22:38.38 | *** join/#brlcad Twingy (n=justin@74.92.144.217) | |
| 23:41.15 | poolio | IriX64: have you tried running them with their paths? like ./filename.exe |
| 23:41.19 | poolio | (just a thought, I don't run windows) |
| 23:44.37 | IriX64 | man it's mged's exec command oh i see just a sec |
| 23:45.28 | IriX64 | that works |
| 23:45.39 | IriX64 | exec ./asc2g |
| 23:46.19 | IriX64 | but without=no such file or directory |
| 23:48.05 | IriX64 | you think it's a windows thing? soons this install is done ill check that |
| 23:48.23 | IriX64 | cleaned out the old build sigh |
| 23:49.10 | IriX64 | but it worked previous to last update sat night on the windows side |
| 23:52.43 | IriX64 | a jun 20 build works on both side man |
| 23:52.50 | IriX64 | something happened |
| 23:53.39 | poolio | well it's moreso a unix thing |
| 23:53.54 | poolio | or you need to set some sort of PATH variable, I'm not sure how this applies on windows though |
| 23:54.04 | IriX64 | http://rafb.net/p/meVPax19.html |
| 23:55.10 | IriX64 | ill play around a little will let you know |