Duly noted. Thanks, George.

Jerry


On 5/12/11 12:45 AM, "George Toledo" <gtole...@gmail.com> wrote:

> On # 2: I haven't deeply scrutinized the patch, but maybe if you
> created the data so that it had keys, you could then just search for
> the keys with a structure key patch. That way, whether the order
> jumbles or not within a given index probably becomes irrelevant. I
> would probably also replace the structure maker with javascript;
> there's no real reason to use a third party patch for that function.
> There are some caveats with that though...
> 
> The thing that will sort of suck if this patch gets bigger is that
> you'll find that the time that it takes a patch to load with many
> structure makers in it will become unwieldy and maybe prevent the file
> from opening/apps from running on some systems, but if you replace it
> with javascript that does over a hundred ports or so, it will become
> unstable and crashy when you try duplicating macros, etc. At that
> point, the only solution is to make a new plugin (sounds like I've
> been through this recently, huh?...).If it's going to stay small,
> neither scenario is likely to rear it's ugly head.
> 
> On Thu, May 12, 2011 at 3:26 AM, Jerry Smith <je...@sonsmi.com> wrote:
>> Okay, a couple things are sorted:
>> 
>> 1. I found String Truncate to deal with floating point error in my number
>> display.
>> 
>> 2. I have at least figured out that when I use four points to make a
>> polygon/mesh, quadrant order is TL, BL, TR, BR. Now at least the issues with
>> folding become more clear for acute/obtuse/reflex angles (convex/concave).
>> Not sure yet how to sort for cases with points in same quadrant -- advice
>> welcome on general concepts / resources for dealing with polygons, folding,
>> sorting points, etc. I see how the issues get into openGL issues, folding /
>> unfolding 3D structures, texturing, etc. I am interested in simpler
>> configurations of points right now, though I do seek solutions for sorting
>> arbitrary number of points (structures).
>> 
>> Thanks again, Achim, for the js help.
>> 
>> Jerry
>> 
>> 
>> 
>> Achim! Your method worked! Thank you. :)
>> 
>> Next questions (see screenshot):
>> 1. How can I keep the planes from overlapping in the generated mesh? In the
>> attached comp I am generating in quadrant corners (TL, BL, BR, TR). I guess
>> the ordering of points gets jumbled?
>> 2. How can I truncate the floating point error in the number display? Right
>> now I have a math expression patch with "(floor(x*100))/100".
>> 
>> Any help is appreciated.
>> 
>> Jerry
>> 
>> 
>> 
>> On 5/11/11 7:58 AM, "Achim Breidenbach" <ac...@boinx.com> wrote:
>> 
>>> Hi Jerry,
>>> 
>>> I am not sure what you are trying to archive, but if you want to find the
>>> bounding box for a 3D object defined by 3 points, you have to evaluate the
>>> min/max for each component separately. Also you have to compare each point
>>> against the current min/max you already calculated:
>>> 
>>> something like this:
>>> 
>>> _Mins = new Array(9999,9999,9999);
>>> _Maxs = new Array{-9999,-9999,-9999);
>>> 
>>> for(var point=0; point<Points.length; point ++){
>>> 
>>> for(var component=0 ; component<3; component ++){
>>> 
>>> if( _Mins[component] > Points[point][component]){
>>> _Mins[component] =  Points[point][component];
>>> }
>>> if( _Maxs[component] < Points[point][component]){
>>> _Maxs[component] =  Points[point][component];
>>> }
>>> 
>>> }
>>> 
>>> }
>>> 
>>> 
>>> Please note: This is untested code, I just typed it in the email. (missing
>>> all
>>> the "main-function"-wrapping)
>>> 
>>> The result is a _Mins and _Maxs array having 3 components each, containing
>>> the
>>> min and max values for x , y and z of all points. Makes six numbers total.
>>> Is
>>> this what you need?
>>> 
>>> best,
>>> 
>>> Achim Breidenbach
>>> Boinx Software
>>> 
>>> 
>>> 
>>> On 11.05.2011, at 11:07, Jerry Smith wrote:
>>> 
>>>> Here's another revision, still the same problem. Not yet getting something
>>>> crucial:
>>>> 
>>>> _Mins = []
>>>> _Maxs = []
>>>> 
>>>> function (__structure min, __structure max) main (__structure Points)
>>>> {
>>>>    var result = new Object()
>>>>    if (Points != null) {
>>>> 
>>>>        for (var i=0; i < Points.length; ++i) {
>>>>        _Mins = [Math.min(Points[0][0], Points[i][0]),
>>>> Math.min(Points[0][1], Points[i][1])];
>>>>        }
>>>> 
>>>>        for (var j=0; j < Points.length; ++j) {
>>>>        _Maxs = [Math.max(Points[0][0], Points[j][0]),
>>>> Math.max(Points[0][1], Points[j][1])];
>>>>        }
>>>>    }
>>>>    result.min = _Mins;
>>>>    result.max = _Maxs;
>>>>    return result
>>>> 
>>>> }
>>>> 
>>>> 
>>>> 
>>>> 
>>>> On 5/10/11 11:05 PM, "Achim Breidenbach" <ac...@boinx.com> wrote:
>>>> 
>>>>> Hi Jerry,
>>>>> 
>>>>> First question: The "m=0" line belongs outside the for-loop for sure,
>>>>> otherwise m will always be 0 or 1 for the following lines, alway
>>>>> overwriting previouse stored _Mins and _Maxs.
>>>>> 
>>>>> Also "m++" means increase m after evaluating the code line. In the
>>>>> following line m is 1 and will be increase again. The result is that
>>>>> in the _Mins array only the even idexes get set, and in the _Maxs the
>>>>> odd indexes. I guess you want to change the first "m++" to just "m",
>>>>> but then "m" goes with "i" which means that "m" is obsolete and can be
>>>>> replaced by i.
>>>>> 
>>>>> Best,
>>>>> 
>>>>> Achim Breidenbach
>>>>> Boinx Software
>>>>> 
>>>>> On 11.05.2011, at 02:11, Jerry Smith <je...@sonsmi.com> wrote:
>>>>> 
>>>>>> I realize this is double posting from this kineme forum thread:
>>>>>> http://kineme.net/forum/Discussion/General/JavascriptMinMax
>>>>>> 
>>>>>> Sorry. In the meantime I reduced the comp to the essential parts. I am
>>>>>> trying to set up an approach to getting a bounding box (and eventually a
>>>>>> cube) for polygons with arbitrary # of points. Comp uses Kineme Structure
>>>>>> Tools and GL Tools. I have 3 questions in order of importance:
>>>>>> 
>>>>>> 1. Re: getting the min/max from an array. This js (as well as the attempt
>>>>>> using the iterator in the comp) only grabs the first and last points in
>>>>>> the
>>>>>> structure of 4 points. What am I doing wrong here:
>>>>>> 
>>>>>> [javascript]
>>>>>> _Mins = []
>>>>>> _Maxs = []
>>>>>> 
>>>>>> function (__structure min, __structure max) main (__structure Points)
>>>>>> {
>>>>>>   var result = new Object()
>>>>>> 
>>>>>>   if (Points != null) {
>>>>>>       for (var i=0; i < Points.length; ++i) {
>>>>>>       m = 0
>>>>>> 
>>>>>>       _Mins[m++] = [Math.min(Points[0][0], Points[i][0]),
>>>>>> Math.min(Points[0][1], Points[i][1])];
>>>>>>       _Maxs[m++] = [Math.max(Points[0][0], Points[i][0]),
>>>>>> Math.max(Points[0][1], Points[i][1])];
>>>>>> 
>>>>>>       }
>>>>>>   }
>>>>>>   result.min = _Mins;
>>>>>>   result.max = _Maxs;
>>>>>>   return result
>>>>>> 
>>>>>> }
>>>>>> [/javascript]
>>>>>> 
>>>>>> 2. How can I send points in order to keep mesh corners from folding over?
>>>>>> 
>>>>>> 3. In the number stats display, how can I truncate to decimal places and
>>>>>> avoid the jumps caused by floating point error?
>>>>>> 
>>>>>> <StructMinMax2.qtz>
>>>>>> _______________________________________________
>>>>>> Do not post admin requests to the list. They will be ignored.
>>>>>> Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
>>>>>> Help/Unsubscribe/Update your Subscription:
>>>>>> http://lists.apple.com/mailman/options/quartzcomposer-dev/achim%40boinx.c
>>>>>> om
>>>>>> 
>>>>>> This email sent to ac...@boinx.com
>>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> ------ End of Forwarded Message
>> 
>> 
>>  _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
>> Help/Unsubscribe/Update your Subscription:
>> 
http://lists.apple.com/mailman/options/quartzcomposer-dev/gtoledo3%40gmail.co>>
m
>> 
>> This email sent to gtole...@gmail.com
>> 
>> 
> 
> 


 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      (Quartzcomposer-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to