OT: Balancing Act

Go buy another set, select matched globe, return the set.

Reply to
Tom Biasi
Loading thread data ...

This ended up looking best (there is no perfection with the mixed weights)...

D B F A C E

As in...

...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142   Skype: Contacts Only  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Exploiting symmetry (iff I have understood your notation) I'd expect this to be closer:

B/C A A

D E F

The frame may have inherent balance flaws too.

It isn't possible to predict which of B/C or in which oerientation will give the best result. You didn't specify how the thing hangs unloaded.

--
Regards, 
Martin Brown
Reply to
Martin Brown

I would sort in order of weight. Then place the heaviest two opposite each other. Then place the next two opposite each other with the heaviest of t hat pair next to the lightest of the heaviest pair. And finally place the lightest pair opposite each other and then try swapping the lightest two a nd see which selection is best.

I think that will be the best first cut. You are likely to find all the ar ms are not exactly the same length or weight. But this would be a start.

Dan

Reply to
dcaster

order some better attachment method.

else when a globe fails you'll have the same fun all over again.

--
For a good time: install ntp 

--- news://freenews.netfront.net/ - complaints: news@netfront.net ---
Reply to
Jasen Betts

Globe =/= Bulb ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142   Skype: Contacts Only  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

"Jim Thompson" schreef in bericht news: snipped-for-privacy@4ax.com...

Reply to
petrus bitbyter

Real solder, or that lead free fairy crap?

--
Anyone wanting to run for any political office in the US should have to 
have a DD214, and a honorable discharge.
Reply to
Michael A. Terrell

I have some real solder, Kester "44" 63% SN .040 Dia. #58 Core,

1 Lb. Boxes if you want to buy it.
Reply to
Tom Biasi

Thanks, but I still have a few rolls of 63/37 Ersin Multicore in several sizes. At my age, t should last me the rest of my life. I probably have 20 pounds of various alloys. I'm sure others on the group could use some. :)

--
Anyone wanting to run for any political office in the US should have to 
have a DD214, and a honorable discharge.
Reply to
Michael A. Terrell

No takers? (sigh)

Hacked the following together this morning while "on hold" with the Dell tech support guy. It's not pretty but it *should* work. It claims: "One solution: [ 1.400] 26.200 31.600 28.400 32.800 26.000 35.600 " Of course, flip the chandelier over and you've got *another*! :>

[I'd be curious as to whether this *does* reflect reality! :> ]

Code follows. Neglecting initialization and syntactic cruft, the algorithm -- "solve()" -- is just a couple dozen lines of code. Evaluates twice as many permutations as necessary (I got lazy) but only 120 of the 720 you'd otherwise expect to encounter.

[Note, also handles "any" number of Globes]

-----8Infinity, optimum);

print("One solution: "); show(best, order); }

# Do the actual work! Echoes of bygone LISPs... :> # recursion depth limited by len weights; solve( weights: list of Weight, # weights to be processed points: list of Point, # points onto which they should map center: Point, # weighted center of mass for previously processed points order: list of Weight, # ordered list of previously processed weights best: real, # best score thus far optimum: list of Weight # optimum order for best score ):( real, # new score list of Weight # new optimum order ) { if (weights == nil) { score := center.hypot(); if ( score < best ) { best = score; optimum = order; }

return (best, optimum); }

processed: list of Weight = nil; # weights examined thus far

Apoint := hd points; points = tl points;

while (weights != nil) { Aweight := hd weights; weights = tl weights;

newcenter := center.offset(Apoint.scale(Aweight)); neworder := Aweight :: order;

# assemble list of weights exclusive of Aweight copy := weights; check := processed; while (copy != nil) { # brain-damaged list operators! :< check = hd copy :: check; copy = tl copy; }

(best, optimum) = solve(check, points, newcenter, neworder, best, optimum);

processed = Aweight :: processed; }

return (best, optimum); }

# utility subroutine to show result snapshot show(score: real, order: list of Weight) { # XXX score should be adjusted to reflect total Globe weight print("[%6.3f] ", score); while (order != nil) { print("%6.3f ", hd order); order = tl order; } print("\n"); }

Reply to
Don Y

Robert Baer suggested...

This ended up looking best (there is no perfection with the mixed weights)...

D B F A C E

As in...

...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142   Skype: Contacts Only  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

I think my solution is E B C A D F (score 1.400) Robert's solution is B D A C E F (score 5.196) Your solution is C E A B D F (score 2.821)

[the "score" is a measure of how far off center the center of mass lies -- of course, it assumes masses are points on a plane, the chandelier itself is statically balanced and has no mass, etc.]
Reply to
Don Y

I'm sure your technique is the way to go, but I'm not going to touch it... SWMBO is happy, thus I'm happy ;-) ...Jim Thompson

--
| James E.Thompson                                 |    mens     | 
| Analog Innovations                               |     et      | 
| Analog/Mixed-Signal ASIC's and Discrete Systems  |    manus    | 
| San Tan Valley, AZ 85142   Skype: Contacts Only  |             | 
| Voice:(480)460-2350  Fax: Available upon request |  Brass Rat  | 
| E-mail Icon at http://www.analog-innovations.com |    1962     | 
              
I love to cook with wine.     Sometimes I even put it in the food.
Reply to
Jim Thompson

Should she be unhappy with the outcome, you can point out that the *cause* of the problem is the glass globes! And, that *removing* them -- leaving bare bulbs -- would probably give a more level result!

*Or*, suggest that a chandelier of *twice* the diameter won't appear to list as much!

Wanna bet she says "Just leave it the way it is"? :>

Reply to
Don Y

ius) spaced Hung it, leans like a @#$%^ Weighed each of the globes (accurat e scales)... 2# 0.8oz 1# 15.6oz 1# 12.4oz 1# 10.0oz 1# 10.2oz 2# 3.6oz Made in China, 9.6oz between lightest and heaviest :-( What's the best order fo r closest balance ?:-) ...Jim Thompson -- | James E.Thompson | mens | | Ana log Innovations | et | | Analog/Mixed-Signal ASIC's and Discrete Systems | manus | | San Tan Valley, AZ 85142 Skype: Contacts Only | | | Voice:(480)46

0-2350 Fax: Available upon request | Brass Rat | | E-mail Icon at http://ww w.analog-innovations.com | 1962 | I love to cook with wine. Sometimes I eve n put it in the food.

Bet those globes are not symmetrical, each globe has a heavy side. Just so me more variables to play with.

Reply to
bobnschenk

To test that would you put them on a balancing machine with fine bearings to balance it like a car tire, or do it optically ?

T
Reply to
jurb6006

On Mon, 16 Dec 2013 21:12:08 -0800 (PST), snipped-for-privacy@gmail.com Gave us:

Look, guys... If you cannot balance a slightly less than matching pair of globes by this point in your lives...

Reply to
DecadentLinuxUserNumeroUno

No takers? (sigh)

Hacked the following together this morning while "on hold" with the Dell tech support guy. It's not pretty but it *should* work. It claims: "One solution: [ 1.400] 26.200 31.600 28.400 32.800 26.000 35.600 " Of course, flip the chandelier over and you've got *another*! :>

[I'd be curious as to whether this *does* reflect reality! :> ]

Code follows. Neglecting initialization and syntactic cruft, the algorithm -- "solve()" -- is just a couple dozen lines of code. Evaluates twice as many permutations as necessary (I got lazy) but only 120 of the 720 you'd otherwise expect to encounter.

[Note, also handles "any" number of Globes]

-----8Infinity, optimum);

print("One solution: "); show(best, order); }

# Do the actual work! Echoes of bygone LISPs... :> # recursion depth limited by len weights; solve( weights: list of Weight, # weights to be processed points: list of Point, # points onto which they should map center: Point, # weighted center of mass for previously processed points order: list of Weight, # ordered list of previously processed weights best: real, # best score thus far optimum: list of Weight # optimum order for best score ):( real, # new score list of Weight # new optimum order ) { if (weights == nil) { score := center.hypot(); if ( score < best ) { best = score; optimum = order; }

return (best, optimum); }

processed: list of Weight = nil; # weights examined thus far

Apoint := hd points; points = tl points;

while (weights != nil) { Aweight := hd weights; weights = tl weights;

newcenter := center.offset(Apoint.scale(Aweight)); neworder := Aweight :: order;

# assemble list of weights exclusive of Aweight copy := weights; check := processed; while (copy != nil) { # brain-damaged list operators! :< check = hd copy :: check; copy = tl copy; }

(best, optimum) = solve(check, points, newcenter, neworder, best, optimum);

processed = Aweight :: processed; }

return (best, optimum); }

# utility subroutine to show result snapshot show(score: real, order: list of Weight) { # XXX score should be adjusted to reflect total Globe weight print("[%6.3f] ", score); while (order != nil) { print("%6.3f ", hd order); order = tl order; } print("\n"); }

Don, Nice doodling while bored! For what environment is this written? Scott

Reply to
ScottWW

No takers? (sigh)

Hacked the following together this morning while "on hold" with the Dell tech support guy. It's not pretty but it *should* work. It claims: "One solution: [ 1.400] 26.200 31.600 28.400 32.800 26.000 35.600 " Of course, flip the chandelier over and you've got *another*! :>

[I'd be curious as to whether this *does* reflect reality! :> ]

Code follows. Neglecting initialization and syntactic cruft, the algorithm -- "solve()" -- is just a couple dozen lines of code. Evaluates twice as many permutations as necessary (I got lazy) but only 120 of the 720 you'd otherwise expect to encounter.

[Note, also handles "any" number of Globes]

-----8Infinity, optimum);

print("One solution: "); show(best, order); }

# Do the actual work! Echoes of bygone LISPs... :> # recursion depth limited by len weights; solve( weights: list of Weight, # weights to be processed points: list of Point, # points onto which they should map center: Point, # weighted center of mass for previously processed points order: list of Weight, # ordered list of previously processed weights best: real, # best score thus far optimum: list of Weight # optimum order for best score ):( real, # new score list of Weight # new optimum order ) { if (weights == nil) { score := center.hypot(); if ( score < best ) { best = score; optimum = order; }

return (best, optimum); }

processed: list of Weight = nil; # weights examined thus far

Apoint := hd points; points = tl points;

while (weights != nil) { Aweight := hd weights; weights = tl weights;

newcenter := center.offset(Apoint.scale(Aweight)); neworder := Aweight :: order;

# assemble list of weights exclusive of Aweight copy := weights; check := processed; while (copy != nil) { # brain-damaged list operators! :< check = hd copy :: check; copy = tl copy; }

(best, optimum) = solve(check, points, newcenter, neworder, best, optimum);

processed = Aweight :: processed; }

return (best, optimum); }

# utility subroutine to show result snapshot show(score: real, order: list of Weight) { # XXX score should be adjusted to reflect total Globe weight print("[%6.3f] ", score); while (order != nil) { print("%6.3f ", hd order); order = tl order; } print("\n"); }

Don, Nice doodling while bored! For what environment is this written? Scott

Reply to
ScottWW

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.