> On Jul 26, 2017, at 10:59 AM, Mario Meissner <mr.rash....@gmail.com> wrote:
>
> Sean,
>
> Today I started modifying rtexample.c so that it simulates a ray crossing
> several regions (tried with the goblet example) and returning the mass it saw
> as it crossed each region. I assumed most stuff with predefined constant
> values for now.
Sounds good!
> I wonder why the last result is negative? Segment distance seems to be the
> cause, although OutHIT dist = 10134 and InHIT dist = 10114, so my subtraction
> should be returning a positive result. Will keep working on it.
At first glance, notice how the length and volume values are the same. This
implies maybe a data type printing problem. What are the types of those
variables? I suspect you need %zd or %lld instead of %d. I would definitely
figure out what is going on there before moving on. You obviously need
non-negative lengths. :)
Cheers!
Sean
>
> Mario.
>
> 2017-07-26 15:39 GMT+02:00 Christopher Sean Morrison <brl...@mac.com>:
>>
>>> I think I can follow you, but I'm not sure how to put contributions
>>> together. In the blade example you seem to be taking the mean value between
>>> them. I'll assume that's the case.
>>> Attached goes a simple box with two vectors. Should the density at point a
>>> be 5?
>>
>> Let’s see. The gist of the original formula (which had a segment error in
>> the denominator, looking back) is to calculate the density contribution from
>> VA, the density contribution of VB, and then take their average (i.e.,
>> assume simple linear contributions from each). Simple looking at your
>> gridding without any equations, we can see that:
>>
>> contrib(a, VA) is 3.5
>> contrib(b, VB) is 6.5
>>
>> Adding them up and taking the average is thus density 5. So yes. ;)
>>
>>> Likewise, would point b have a density of 6 then?
>>
>> Yes. 8 + 4 / 2.
>>
>>>
>>> I'm not sure if I calculated the contributions correctly either, but this
>>> is the way that would make the most sense to me.
>>
>> I think it’s as good a starting point as any and is relatively easy to
>> implement.
>>
>> That said, note that this method does have a potential flaw in that we’re
>> treating the density contributions uniformly when in reality, they should
>> probably be weighted by distance to the vector.
>>
>> In your example, they’re equidistant, so it works out. But consider the
>> implication of box that is 100 times taller, for example. Instead of 4 x 4,
>> it’s 4 x 400. Point b should be a value far closer to 8 than 4, certainly
>> not 6. That’s a problem that can be dealt with later, but something to keep
>> in mind.
>>
>> Cheers!
>> Sean
>>
>>
>> ------------------------------------------------------------------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> BRL-CAD Developer mailing list
>> brlcad-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/brlcad-devel
>>
>
> <rtexample.c>
> ------------------------------------------------------------------------------
> Check out the vibrant tech community on one of the world's most
> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
> _______________________________________________
> BRL-CAD Developer mailing list
> brlcad-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/brlcad-devel
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
BRL-CAD Developer mailing list
brlcad-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-devel