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 |