code logs -> 2010 -> Sun, 22 Aug 2010< code.20100821.log - code.20100823.log >
--- Log opened Sun Aug 22 00:00:42 2010
00:11 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
00:12 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
00:15 Derakon [Derakon@Nightstar-cfae48c3.ca.comcast.net] has joined #code
00:15 mode/#code [+o Derakon] by Reiver
00:20 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
00:21 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
00:24 cpux_ [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
00:26 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
00:26 cpux_ is now known as cpux
00:29 You're now known as TheWatcher[t-2]
00:32 You're now known as TheWatcher[zZzZ]
01:18
<@ToxicFrog>
I hate colorspaces.
01:18
<@Derakon>
Photos of the GIANT SPACE COLLAGE! http://derakon.dyndns.org/~chriswei/temp/spacecollage/
01:18
<@ToxicFrog>
Hate so much.
01:19 * ToxicFrog is trying to turn Dosbox ZMBV (RGB24 colorspace) into something publishable.
01:47 Serah [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
02:15
<@Derakon>
Animation of my Delaunay triangulation implementation: http://derakon.dyndns.org/~chriswei/temp2/delaunay.gif
02:24 Derakon is now known as Derakon[CIV]
02:24 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
02:30 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has joined #code
03:42 Derakon[CIV] is now known as Derakon
03:57 Vornicus-Latens is now known as Vornicus
03:57 * Derakon directs Vorn's attention upwards.
03:59
< Vornicus>
Der: awesome!
03:59
< Vornicus>
But I'd like to see which ones are "dirty" - can you tint dirty ones red?
03:59 * Vornicus wants your code, too.
03:59
<@Derakon>
You mean, edges that need to be reprocessed?
04:00
< Vornicus>
Yeah
04:03 * Derakon throws something together, gets crossing clean/dirty edges. Weird.
04:08
<@Derakon>
Okay, source code is online at http://derakon.dyndns.org/~chriswei/temp/delaunay.tgz.
04:09
<@Derakon>
You'll need Cython installed to make use of the vector2d class.
04:09
<@Derakon>
(Or you could just strip it back down to pure Python, or replace it with numpy arrays, or something similar)
04:11
<@Derakon>
And here's the quick thrown-together "draw dirty edges" animation. http://derakon.dyndns.org/~chriswei/temp2/delaunay2.gif
04:13
< Vornicus>
That is weird that you're getting crossing edges.
04:13
<@Derakon>
My guess is the "draw dirty edges" logic is flawed somehow. *shrug*
04:13
<@Derakon>
It's just drawing whatever's in the edge queue.
04:15
< Vornicus>
aha
04:22
<@Derakon>
I apologize for the state of the code, incidentally.
05:01 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:02 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
05:02 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:33 Stalker [Z@3A600C.A966FF.5BF32D.8E7ABA] has quit [Ping timeout: 121 seconds]
05:33 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
05:34 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
05:44 cpux is now known as shade_of_cpux
05:58 shade_of_cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
06:02 Netsplit *.net <-> *.split quits: Namegduf, @Kazriko, Thaqui, @jerith
06:03 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
06:27 Netsplit *.net <-> *.split quits: @Kazriko, @jerith, Thaqui, Namegduf
06:27 Derakon is now known as Derakon[AFK]
06:28 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
06:38 Netsplit *.net <-> *.split quits: @Kazriko, @jerith, Thaqui, Namegduf
06:40 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
06:42 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
06:46 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
06:49 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
06:50 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
06:56 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
06:57 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
07:06 Rhamphoryncus [rhamph@Nightstar-bbc709c4.abhsia.telus.net] has joined #code
07:12 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
07:13 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
07:16 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
07:16 Derakon[AFK] [Derakon@Nightstar-cfae48c3.ca.comcast.net] has quit [Ping timeout: 121 seconds]
07:17 PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code
07:52
< Reiv>
Hey is there a way to get TV-out if it doesn't come on the gfx card? It seems most of the local options are either "Good card" or "TV-out".
07:56 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
07:58
< Alek>
Reiv: there's probably adapters that take video in and give TV out.
08:00 Netsplit over, joins: @Kazriko, @jerith, Namegduf, Thaqui
08:04 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
08:05 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
08:21 Reiver is now known as Reivles
08:21 Reiv is now known as Reiver
08:48 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
08:49 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
08:54 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
08:55 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
09:00 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
09:01 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
09:08 Netsplit *.net <-> *.split quits: Thaqui, Namegduf, @Kazriko, @jerith
09:09 Netsplit over, joins: @jerith, Thaqui, @Kazriko, Namegduf
09:15 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
09:37 Netsplit *.net <-> *.split quits: Namegduf, @Kazriko, @jerith
09:38 Netsplit over, joins: @jerith, @Kazriko, Namegduf
10:06 Netsplit *.net <-> *.split quits: Namegduf, @Kazriko, @jerith
10:11 Netsplit over, joins: Kazriko
10:11 shade_of_cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
10:11 Netsplit over, joins: @jerith, Namegduf
10:11 ServerMode/#code [+oo Kazriko jerith] by *.Nightstar.Net
10:22 Netsplit *.net <-> *.split quits: Namegduf, shade_of_cpux, @Kazriko, @jerith
10:23 Netsplit over, joins: @jerith, @Kazriko, shade_of_cpux, Namegduf
10:29 You're now known as TheWatcher
10:31 AnnoDomini [annodomini@Nightstar-80060041.adsl.tpnet.pl] has joined #code
10:31 mode/#code [+o AnnoDomini] by Reivles
12:34 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
12:48 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
12:58
< Reiver>
Vorn: Minor bug in your Multiplication Code
12:58
< Reiver>
It accepts an 'enter' as a '0'
12:59
< Reiver>
Is this intentional?
12:59
< Vornicus>
Intentional
13:00
< Vornicus>
well. not /entirely/ so. but close enough
13:04
< Vornicus>
it's more of a "this is too much touble to fix and makes it so I can't test quickly" so
13:06
< Reiver>
Aaah, fair :)
13:06
< Reiver>
The idea being "Hold down enter and see if you get both right and wrongs"?
13:09
< Vornicus>
Indeed
13:13
< Vornicus>
Also I'm thinking about making a division drill.
13:18
< Reiver>
Integer?
13:20
< Vornicus>
Yeah. Two ponderments I had were: how do I dictate scale, and do I want to be able to ask questions with a remainder?
13:22
< Reiver>
8r9
13:22
< Reiver>
9r8 would work better, of course~
13:22
< Reiver>
Of course, this means you can't just numpad it
13:22
< Vornicus>
right, but the way I go I can't just numpad it /anyway/ - I need a finger on the delete key.
13:24
< Reiver>
a point
13:24
< Reiver>
And it is my failure to deletekey position that costs me a lot of time.
13:25
< Reiver>
... huh what's going on there
13:25
< Reiver>
caching, perhaps?
13:26
< Vornicus>
??
13:27
< Reiver>
In opera, the timer goes kazoom to the right.
13:27
< Reiver>
Then fills the entire top screen and I am left to carry on.
13:27
< Reiver>
I was wondering if there was a bug in how many divisions on the screen it was showing.
13:27
< Vornicus>
wtf
13:28
< Vornicus>
Reiver: if you're using version 2? No, that shouldn't happen.
13:28
< Reiver>
(AKA: Within a second or so of starting the timer looks like it has run out of time, but I can continue.)
13:28 * Vornicus doesn't have Opera though, and has not tested it.
13:29
< Vornicus>
Does this reliably?
13:30
< Vornicus>
(if I had to guess, it's misinterpreting the style command I'm sending.
13:31
< Reiver>
It seems to do it every attempt
13:31
< Reiver>
Chrome behaves as expected.
13:32
< Vornicus>
I tested on Chrome, IE, and Firefox.
13:32 * TheWatcher has opera too, linkme and I'll see if it does the same here
13:33
< Reiver>
http://www.funkyhorror.net/vornicus/multiplication_drill.html
13:34
< Vornicus>
TW: expected behavior is that the black bar in the bottom quarter or so of the grey bar at the top fills slowly, and would take about 3 minutes to do so.
13:35
<@TheWatcher>
Hm, I'm getting no movement on the timer
13:35
< Reiver>
TW: Start the test
13:35
<@TheWatcher>
(ie: the whole thing is black, with a sliver of red in the left)
13:35
<@TheWatcher>
I have
13:35
< Reiver>
Oh, yes
13:35
< Reiver>
It's not mean to be black. The black part is meant to move across slowly
13:35
<@TheWatcher>
Oh, wait
13:35
< Reiver>
Restart it and you will see the black actually go ZOOM
13:36
< Reiver>
Sufficiently fast it just looks like a stripe after the first second~
13:36
<@TheWatcher>
Ah, I see
13:37
<@TheWatcher>
Hm.
13:38 * TheWatcher saves a local copy, tries something
13:39 * TheWatcher suspects Opera is not happy about the timer table
13:40
< Reiver>
TheWatcher: This would be correct
13:40
< Reiver>
But the timer worked acceptably here: http://www.funkyhorror.net/toxicfrog/multiplication_drill.html
13:42
< Vornicus>
if by "acceptably" you mean "has an incorrect rate, starts and ends wrong, and requires complicated math to adjust for different time amounts"
13:44
<@TheWatcher>
okay, vorn
13:44
< Vornicus>
(and the amount by which the rate is incorrect depends on how wide your screen is. How's that for wackadoo.)
13:44
<@TheWatcher>
<div class="unsolved" style="width: 100%; border-collapse: collapse; height: 5px"><div class="clock" style="height: 5px; width: 0" id="newtimer">&nbsp;</div></div>
13:44
< Vornicus>
Instead of a table.
13:44 * TheWatcher nod
13:45
< Vornicus>
And that's really the only change?
13:45
<@TheWatcher>
you need to change #timer TD to just be #timer
13:45
<@TheWatcher>
Oh, wait, ignore that
13:45
<@TheWatcher>
it's irrelivant
13:45
<@TheWatcher>
Yeah, that should be the only change you need
13:45
< Vornicus>
Probably actually dead code, that bit.
13:46
<@TheWatcher>
And it seems to work fine in both opera and firefox here
13:48
<@TheWatcher>
http://fleet.starforge.co.uk/Multiplication%20Drill!.htm for ref
13:48
< Vornicus>
And in Chrome as well.
13:50
<@TheWatcher>
Reiver: can you confirm that works okay in your opera?
13:58
< Reiver>
It's working fine, ableit at 1-second ticks
13:58
< Reiver>
(Unsure whether that's intentional or not so just pointing it out)
13:59
< Vornicus>
Wouldn't be 1-second ticks, most likely.
14:00
< Vornicus>
1.8 second ticks, perhaps.
14:00
< Vornicus>
(which is what happens in IE, too)
14:02
< Reiver>
Interesting, why?
14:02
< Rhamphoryncus>
Bah, 92.9 seconds
14:04
< Rhamphoryncus>
I was hoping to have a decent improvement the second time
14:04
< Vornicus>
180/100 = 1.8
14:05
< Vornicus>
If it's going in chunks about half a problem step wide, it's stepping every 1.8 seconds because the browser does not recognize non-integer percentages.
14:06
< Reiver>
aaah
14:06
< Reiver>
That's a bit of a clutz.
14:07
< Reiver>
On the browser side, I mean.
14:07 Rhamphoryncus [rhamph@Nightstar-bbc709c4.abhsia.telus.net] has quit [Client exited]
14:52 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
14:54 Stalker is now known as Prowler
15:02 Prowler [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [Ping timeout: 121 seconds]
15:07 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
15:20 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
15:27 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
15:27 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
16:31 shade_of_cpux is now known as cpux
17:06 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
18:06 shade_of_cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
18:08 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
18:08 shade_of_cpux is now known as cpux
18:11 cpux_ [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
18:12 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
18:12 cpux_ is now known as cpux
18:49 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.]
18:52 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
19:33 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
20:17 Derakon [Derakon@Nightstar-cfae48c3.ca.comcast.net] has joined #code
20:17 mode/#code [+o Derakon] by Reivles
20:19 * Derakon determines that the slow part of his triangulator is in the edge-flipping bit.
20:19
<@Derakon>
Now to refactor the code so I can get sensical results out of profiling. ¬.¬
20:21
< Vornicus>
edge-flipping is probably the hardest - and do note that you've got some waste calls in there cuz you seem to have spurious edges.
20:22
<@Derakon>
Well, it's more that when I increase the number of nodes in the graph, I get a very noticeable slowdown in the speed of edge flipping.
20:22
<@Derakon>
So there's some extraneous iteration going on, I suspect.
20:24 aoanla [AndChat@Nightstar-4d8219fd.range81-129.btcentralplus.com] has joined #code
20:25
< Vornicus>
Aha. Most likely cause I bet is you're doing checks on every possible pair, as opposed to just doing a set intersect?
20:25
<@Derakon>
Possibly.
20:26
<@Derakon>
I don't think so, though. I suspect it's simply a matter of the number of neighbors of any given node increasing.
20:26
<@Derakon>
But I'll take a closer look after I'm done refactoring.
20:33 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
20:37
<@Derakon>
for n1, n2 in [(n, hullNodes[(i + 1) % len(hullNodes)]) for i, n in enumerate(hullNodes)]:
20:37
<@Derakon>
I think I might have been trying to shove too much into one iteration rule...
20:38
< RichardBarrell>
Yes. Yes, you have.
20:41 * Vornicus is very confused as to what the hell that thing's supposedto even /do/
20:42
<@Derakon>
Given three vertices, construct the edges for each vertex.
20:42
< Vornicus>
aha
20:42
<@Derakon>
Well, that's the iteration portion of that logic.
20:47
< RichardBarrell>
Derakon: why not write it as, for i, n1 in enumerate(hullNodes):\n\tn2 = hullNodes[(i + 1) % len(hullNodes)] # ?
20:48
< RichardBarrell>
I'm not sure whether you'd want to hoist len(hullNodes) out of the loop there.
20:48
<@Derakon>
Because I didn't think of it that way when I wrote it?
20:48
<@Derakon>
This code is not in the best of shape.
20:49
< RichardBarrell>
Fair 'nuff.
20:57
<@Derakon>
By the way, Vorn, I came up with a better way to handle the "no diagonal corridors in axis-aligned zones".
20:57
<@Derakon>
I'll just remove those edges, and then generate the graph using a spanning tree with selectively-added edges instead of taking the triangulation and removing edges.
20:58
<@Derakon>
Not sure why I wanted to start from a complete graph and remove edges in the first place...
21:00 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
21:00 cpux_ [chatzilla@Nightstar-20a84089.dyn.optonline.net] has joined #code
21:00 cpux_ is now known as cpux
21:02
<@Derakon>
Hm. 540-node triangulation took 27 seconds, of which 8 were spent calculating 1.1 million line-line intersections, another 6 were spent making 1.1 million lines, and 3 were spent edge-flipping.
21:03
< Vornicus>
Are you still calculating circumcircles with line intersections?
21:04
<@Derakon>
Yes.
21:04
< Vornicus>
Don't do that. Wikipedia has a perfectly fine closed-form version.
21:05
<@Derakon>
So they do.
21:06
< Vornicus>
(use the one where A's been translated to 0)
21:10 * Derakon breaks it horribly, whee!
21:11
<@Derakon>
http://derakon.dyndns.org/~chriswei/temp2/horriblybroken.png
21:12 Vornicus is now known as Finerty
21:13 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has joined #code
21:27 RichardB_ [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
21:29 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
21:32
<@Derakon>
Oh, durr. Forgot to un-transform the center after calculating it.
21:33
<@Derakon>
That doesn't seem to have made a big difference in my line calculations, though. 26.85s now.
21:35
< Finerty>
You can short circuit it some: you never have to calculate for any pair of points that's farther apart than the existing diameter. Don't even technically have to sqrt for that.
21:35
<@Derakon>
Ah, the problem is in my "make convex hull" code, which starts by finding the closest node to a given node where there are no obstructing edges.
21:35
<@Derakon>
That's 20s of the 27s runtime right there.
21:36
< Finerty>
If you're only loking for the convex hull and you know it's convex, use the same thing I described last, except start at the farthest-left point.
21:36
< Finerty>
last week that is
21:37
<@Derakon>
The "find closest node, walk clockwise" algorithm?
21:37
<@Derakon>
Which broke down when the closest node was obscured by an edge?
21:37
< Finerty>
Right.
21:37
<@Derakon>
Which is why I added the "find closest node that isn't obscured" logic?
21:37
< Finerty>
Instead, find the most extreme node side-to-side; this way, you know it's not obscured cuz nothing else is over there.
21:37
<@Derakon>
Er...
21:38
<@Derakon>
What if the node I'm trying to add is on the right side?
21:38
<@Derakon>
Oh, wait, no.
21:38
<@Derakon>
You're saying, start the walk from the leftmost node.
21:38
< Finerty>
That'd work too. I was trying to say "furthest counterclockwise" but leftmost node works too and is a hell of a lot easier to cache.
21:39
<@Derakon>
I was actually thinking, the hull doesn't change much per-iteration. Some number of nodes get obscured and a new node is added to the hull in their place.
21:39
<@Derakon>
It ought to be possible to avoid recalculating it each time.
21:40
< Finerty>
Just pop off the nodes in the "middle" of the non-obscured list -- because that will be contiguous.
21:40
<@Derakon>
I think I follow.
21:41
<@Derakon>
So given a hull A-B-C-D-E-F-G-...
21:41
<@Derakon>
And I added a new node Z, which has edges to C, D, E, F...
21:41
<@Derakon>
The new hull is A-B-C-G-F-G...
21:41
<@Derakon>
Er.
21:41
<@Derakon>
A-B-C-Z-F-G-...
21:41
< Finerty>
Indeed.
21:42
< Finerty>
This is however problematic in one situation.
21:42
<@Derakon>
Oh?
21:42
< Finerty>
If there is only one edge facing /away/ from your current node, then all your existing nodes are in the list.
21:43
<@Derakon>
IOW I do some extra work when I add in the new node since no old nodes are removed.
21:43
< Finerty>
Other way around.
21:43
<@Derakon>
On the flipside, I'm saved from considering all the other nodes that aren't in the hull because I've already calculated them.
21:43
<@Derakon>
Oh, yes.
21:44
< Finerty>
In which case, the only nodes left are your new node and the two nodes connected to that edge.
21:44
<@Derakon>
Doesn't seem like a huge problem.
21:47
<@Derakon>
Oh, wait, I see.
21:47
<@Derakon>
The natural inclination would be "if node A is connected to new node, and its neighbors are also connected, then node A is no longer in the hull".
21:48
<@Derakon>
But that breaks down as you described.
21:48
< Finerty>
Right - instead of getting a nice clean list of nodes, you're getting /all/ the nodes.
21:48
< Finerty>
So what you do is, I guess, if you get all the nodes, you need to figure out which one edge is pointing away, and then you're all good.
21:49
<@Derakon>
If node A is connected to new node, and node A has no edges that are occluded from the new node by an old hull node, then node A is no longer in the hull.
21:50
<@Derakon>
That would involve some line intersection tests. Your suggestion is probably faster.
21:50
<@Derakon>
But a bit less general.
21:51
< Finerty>
or or or, calculate line facing on each thing. If it's on at least one back-facing edge, then it's still part of the hull.
21:52
<@Derakon>
Back-facing as in dot-product of it onto vecter from new node to hull average position is negative?
21:52
< Finerty>
Cross product
21:53
< Finerty>
Or, wait, that would be dot, never mind.
21:53
<@Derakon>
\o/
21:53
<@Derakon>
Problem of course is getting the edge vector pointed in the right direction.
22:00 * AnnoDomini is trying to determine where Oolite expansions are to be placed.
22:00
<@AnnoDomini>
The wiki tells me that they're in $HOME/.Oolite/AddOns, but that doesn't seem to exist.
22:00
<@AnnoDomini>
I'm parsing that as the user's home directory, right?
22:02
< Finerty>
wait, would it be dot?
22:03 RichardB_ is now known as RichardBarrell
22:03
<@Derakon>
The dot product is the scalar projection of vector A onto vector B.
22:03
<@Derakon>
If they point in opposite directions, then it will be negative.
22:04
< Finerty>
Node further from the line to node closer, then.
22:04
< Finerty>
Is your edge direction.
22:05
< Finerty>
Aaaand it doesn't work on ones that cross the line.
22:05
<@Derakon>
I'm not following your statements, I'm afraid.
22:05
<@Derakon>
Let's say I have an edge (A, B).
22:05
<@Derakon>
And I have a hull center c.
22:05
< Finerty>
Aaaaaand it doesn't work on some other lines either!
22:05
<@Derakon>
The hull center is simply the average of all nodes in the hull.
22:06
<@Derakon>
Remember we only engage this when we ran the first algorithm and came up with a hull consisting only of our new node.
22:06
<@Derakon>
So let's take the average of A and B, subtract c from it, and get an outward-facing vector V.
22:06
< Finerty>
No, no, what I'm saying is that this is...
22:06
<@Derakon>
This isn't going to be perpendicular to the edge in most cases but I doubt it'll matter.
22:06
< Finerty>
This product thing doesn't...
22:06
< Finerty>
God, how do I explain.
22:07
< Finerty>
The dot product only tells you if the edge is facing towards /infinity/ in the direction of the new node.
22:08
< Finerty>
The cross product ANxBN will give you a scalar and its sign will reliably tell you whether an edge is backfacing or not.
22:08
< Finerty>
Just cycle around the edges.
22:08
< Finerty>
And by using the cross product /exclusively/ you never have to intersect lines.
22:09
< Finerty>
In any case.
22:10
<@Derakon>
I don't like cross products. ¬.¬
22:10
<@Derakon>
In part because they don't really make sense in 2D.
22:10
<@Derakon>
(But we only care about the sign; I get that)
22:10
< Finerty>
That's too damn bad.
22:13
<@Derakon>
Still have the issue of determining which of two possible facings for an edge is valid.
22:14
<@Derakon>
Anyway, I need to get outside for a bit. Been cooped up all weekend.
22:14
<@Derakon>
Be back later.
22:14 Derakon is now known as Derakon[AFK]
22:14
<@Derakon[AFK]>
(Thanks, as always, for the help)
22:14
< Finerty>
If you always go in the same direction around the thing, it will always be the same sign, no matter how many nodes you add to the hull.
22:18 aoanla [AndChat@Nightstar-4d8219fd.range81-129.btcentralplus.com] has quit [[NS] Quit: ]
22:30 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Connection closed]
22:34 celticminstrel [celticminstre@Nightstar-f8b608eb.cable.rogers.com] has joined #code
22:37 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.]
22:39 Stalker [Z@26ECB6.A4B64C.298B52.D80DA0] has joined #code
23:05
<@ToxicFrog>
Fuuuuuck video editing of any kind.
23:06
<@ToxicFrog>
Dosbox generates RGB24, all codecs that anything actually supports use YV12, RGB24->YV12 conversion is lossless. BUT WAIT THERE'S MORE recent ffmpeg builds crash when you try to encode to H.264! So maybe I have to use mencoder, but that hasn't been updated in over a year
23:16 Derakon[AFK] is now known as Derakon
23:23
<@McMartin>
The Old Version Of MediaCoder is basically the way to go, as far as I can tell
23:23
<@McMartin>
Especially since YouTube shits itslef half the time on H.264 anyhow
23:33 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
23:34 RichardBarrell [mycatverbs@Nightstar-689c9c54.cable.virginmedia.com] has joined #code
23:39 Tarinaky [Tarinaky@Nightstar-f349ca6d.plus.com] has quit [Connection closed]
23:45 You're now known as TheWatcher[T-2]
23:47 You're now known as TheWatcher[zZzZ]
23:47 crem [moo@2D9A5E.4363FC.B8C774.D2B68F] has quit [Connection reset by peer]
23:54 crem [moo@2D9A5E.4363FC.B8C774.D2B68F] has joined #code
23:55 cpux [chatzilla@Nightstar-20a84089.dyn.optonline.net] has quit [Ping timeout: 121 seconds]
--- Log closed Mon Aug 23 00:00:43 2010
code logs -> 2010 -> Sun, 22 Aug 2010< code.20100821.log - code.20100823.log >