code logs -> 2012 -> Mon, 28 May 2012< code.20120527.log - code.20120529.log >
--- Log opened Mon May 28 00:00:35 2012
00:12
<&Derakon>
Rearranged and resized the interior boxes: http://derakon.dyndns.org/~chriswei/temp/powerbox3.png
00:13
<&Derakon>
House trays now match height with the resource tray, which has been expanded.
00:15
<&Derakon>
Oh, excellent, I do have a 1/4" straight bit for my router. Saves me from having to figure out how to cut the slots.
00:16
< gnolam>
Alek: it is possibly the most German German-style board game ever.
00:16
< gnolam>
It's almost impossible to play it and not start humming a Kraftwerk song. ;)
00:17
<&Derakon>
Main issue with this design is that I don't have a good place for the money, and it pretty much needs interior walls to keep stuff from sliding around.
00:33 You're now known as TheWatcher[T-2]
00:35 You're now known as TheWatcher[zZzZ]
00:59
<@Alek>
gnolam: easy enough when you've never heard Kraftwerk. :P
01:20 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
01:33 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:33 mode/#code [+o himi] by ChanServ
01:38 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
01:40 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:40 mode/#code [+o himi] by ChanServ
01:44 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
02:09 Kindamoody[zZz] is now known as Kindamoody
02:12 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
02:12 mode/#code [+o himi] by ChanServ
02:40 Attilla [Obsolete@Nightstar-f6f9b474.as43234.net] has quit [Ping timeout: 121 seconds]
03:16 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code
03:16 mode/#code [+o Vash] by ChanServ
03:25 Kindamoody is now known as Kindamoody|coding
04:47 Kindamoody|coding is now known as Kindamoody
04:59 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
05:09 Kindamoody is now known as Kindamoody|afk
05:36 Kindamoody|afk is now known as Kindamoody
06:05 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:11 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code
06:11 mode/#code [+o Vash] by ChanServ
06:44 Derakon is now known as Derakon[AFK]
06:45 Kindamoody is now known as Kindamoody|breakfast
06:49
< froztbyte>
Alek: I believe you may have
06:50
< froztbyte>
Kraftwerk finds its way into sneakily many places
06:55
<~Vornicus>
Kraftwerk: "Let's start a band!" "Sounds like fun. I'll bring the welding torch."
06:56
< froztbyte>
yeah, that sounds about right
07:21 Kindamoody|breakfast is now known as Kindamoody
07:26 ErikMesoy|sleep is now known as ErikMesoy
08:03 Kindamoody is now known as Kindamoody|out
08:20 * Vornicus crushes Euler 91 as well. Only 1 oom improvement, but still. Adding instead of counting = victory.
08:33 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!]
09:00
< froztbyte>
eh
09:00
< froztbyte>
stop making me feel bad about not doing euler problems in a while
09:05 You're now known as TheWatcher
09:07 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited]
09:53 Attilla [Obsolete@Nightstar-99e308f6.as43234.net] has joined #code
10:49
< froztbyte>
http://www.ted.com/talks/ayah_bdeir_building_blocks_that_blink_beep_and_teach.ht ml
10:55 * TheWatcher eyes that
10:56
<@TheWatcher>
S'neat and all, but... *shrug* maybe I just have Engineer Snobbery.
10:59
< froztbyte>
hehe
10:59
< froztbyte>
well, it could be a neat start
11:00
< froztbyte>
and catch with a wider net than before
11:00
<@TheWatcher>
This is true
11:00
< froztbyte>
hell, perhaps not, perhaps it just allows more people to understand this fuzzy "information" thing a bit better
11:00
< froztbyte>
which is also not a bad hting
11:00
< froztbyte>
thing*
11:14
<@TheWatcher>
Well, provided it's followed up on properly.
11:24 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [Ping timeout: 121 seconds]
11:28 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
11:29 mode/#code [+o Alek] by ChanServ
11:36
< gnolam>
Meh.
11:37
< gnolam>
"We want to make every single interaction in the world into a ready-to-use brick."
11:37
< gnolam>
See, that's where her analogy with LEGO or regular bricks breaks down.
11:38
< gnolam>
They don't have to be pre-designed for a specific function.
11:58
< Tarinaky>
I've seen plenty of LEGO models that are "One piece is half the model".
11:58
< froztbyte>
yeah, especially in recent years
11:59
< froztbyte>
in fact, I think there was an article about it some time ago
12:01
< Tarinaky>
http://imgur.com/AE2IS
12:01
< froztbyte>
haha
12:30
< sshine>
I have a course in didactics where they warn against describing natural sciences using metaphors. dumbing something down will not make it more easily understood. it will simply create a gap between those who get it and those who think they get it because they get some analogy.
12:32 Reiv [reiverta@5B433A.3CF6C7.2EA420.0DF97A] has joined #code
12:32
< sshine>
from the TED video: "Essentially, the concrete block had become the building block of our time." -- she doesn't even play on the pun that the concrete block is essentially the metaphor she uses?
12:34
< Tarinaky>
It's great for Science Fiction shows though.
12:34
< gnolam>
sshine: and then you have psychology, where mistaking the analogy for reality is SOP for much of the field.~
12:34
< gnolam>
(See also: economics, where you mistake the model for reality.)
12:35
< sshine>
heh
12:38
<@TheWatcher>
(gnolam: I note Horngren's Observation applies, at least to the 'better' economists)
12:39
<@TheWatcher>
(should such things exist, which I doubt)
12:40
< ErikMesoy>
"The real world is a special case" ?
12:40
< froztbyte>
the real world is a spatial case
12:44
<@TheWatcher>
ErikMesoy: Yep.
12:45
< sshine>
ErikMesoy, are you Norwegian?
12:45
< ErikMesoy>
Yes
13:06 Reiv [reiverta@5B433A.3CF6C7.2EA420.0DF97A] has quit [Ping timeout: 121 seconds]
13:06 Reivles [reiverta@5B433A.F67240.D8393C.F71BA0] has joined #code
13:31 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
13:48 maoranma [nbarr@Nightstar-fefda721.pools.spcsdns.net] has joined #code
13:51 Noah [nbarr@Nightstar-971b3891.pools.spcsdns.net] has quit [Ping timeout: 121 seconds]
14:11
< Tarinaky>
Akk. Halp.
14:11
< Tarinaky>
What do I do for a particular integral when I'm looking at a product of a polynomial and an exponential?
14:12
< Tarinaky>
5x^2 e^2x - 2x^2
14:12
< Tarinaky>
I know I can -add- solutions together.
14:12
< Tarinaky>
What do I do for this problem?
14:18
< celticminstrel>
I can't quite remember, but for products don't you normally do integration by parts?
14:20
< Tarinaky>
I'm doing ordinary differential equations.
14:22
< celticminstrel>
I can't seem to figure out why that's relevant.
14:23
< Tarinaky>
Because I'm not integrating anything.
14:23
< Tarinaky>
The problem isn't seperable.
14:23
< Tarinaky>
I'm trying to solve y'' + 2y' +2y = 5x^2 e^2x -2x^2
14:24
< celticminstrel>
It doesn't need to be separable in order to integrate anything... ah, I see.
14:26
< celticminstrel>
Isn't that the case where you can solve =5x^2 e^2x and =-2x^2 separately and add the results, or something? And the method for that type of equation accounts for the exponential, as I recall.
14:28
< Tarinaky>
Yes.
14:28
< Tarinaky>
But I can't solve 5x^2 e^2x
14:29
< celticminstrel>
Either the "undetermined coefficients" method (not sure if that applies) or the "variation of parameters" method.
14:29
< Tarinaky>
Yes. But what trial function do I use?
14:29
< celticminstrel>
(I thought undetermined coefficients applied, but Wikipedia is vague about it...)
14:29
< Tarinaky>
>.>
14:31
< celticminstrel>
Trial function?
14:31
< Tarinaky>
The particular integral.
14:31
< Tarinaky>
The thing that -has- the undetermined coefficients
14:35
< celticminstrel>
It seems that for a product you take all possible combinations... for 5x^2 you'd need a linear combination of {x^2, x, 1}, and for e^2x you just need 2^2x, so you'd have (Ax^2 + Bx + C)e^2x.
14:36
< celticminstrel>
http://www.cliffsnotes.com/study_guide/The-Method-of-Undetermined-Coefficients.t opicArticleId-19736,articleId-19721.html#leduc3209c03-tbl-0001
14:40
< Tarinaky>
Okay.
14:40
< Tarinaky>
I'll try that :/
15:06 Reivles [reiverta@5B433A.F67240.D8393C.F71BA0] has quit [Client closed the connection]
15:44 maoranma is now known as Noah
15:45
< froztbyte>
so I'm checking out some of the other revision 2012 entries
15:45
< froztbyte>
http://www.youtube.com/watch?v=oV8otBM_MQU for the full run
15:45
< froztbyte>
http://www.youtube.com/watch?v=ztI8BKAWBtM is <3
15:46
< froztbyte>
full run is 1h10m, but a few worth watching
15:53 io|parents is now known as io|mad-town
18:10 Kindamoody|out is now known as Kindamoody
18:11 Vash [Vash@Nightstar-241cb5d4.wlfrct.sbcglobal.net] has joined #code
18:11 mode/#code [+o Vash] by ChanServ
18:40 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Client closed the connection]
18:40 cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code
18:58 Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code
19:15 Kindamoody is now known as Kindamoody[zZz]
19:27 Derakon[AFK] is now known as Derakon
19:33 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [Ping timeout: 121 seconds]
19:41 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
19:41 mode/#code [+o Alek] by ChanServ
19:47 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has quit [Ping timeout: 121 seconds]
19:48 Alek [omegaboot@Nightstar-efc8dc53.il.comcast.net] has joined #code
19:48 mode/#code [+o Alek] by ChanServ
20:25
< Rhamphoryncus>
hum. A quarter meter granularity for track placement would be sufficient when aligned to the map grid
20:26
< Rhamphoryncus>
But it'd be a highly visible granularity change when you switch to diagonal.. or not? hrm
20:33
< sshine>
what scientific methods are involved in creating simulations of physical phenomena?
20:37
< Rhamphoryncus>
lots?
20:37
< Rhamphoryncus>
Are you talking about approximations for entertainment purposes or more precise recreations to study the effects?
20:43
< Rhamphoryncus>
Heh, to put myself in perspective, if I were to model the entire earth at 0.25 meter resolution that'd be about 8 petabytes
20:43
< Rhamphoryncus>
That's a leeedle bit too much
20:45
< sshine>
well, I'm doing this assignment on didactics in which I shall analyse the scientific methods of biology, mathematics and computer science for their respective role in this learning period.
20:45
< sshine>
and my books don't really mention how to address simulation. it's sort of a hybrid of empirical and formal.
20:45
< sshine>
the biology experiment is hypothetico-deductive
20:46
< Rhamphoryncus>
hrm
20:47
< Rhamphoryncus>
I think they build on older, much simpler models of physical behavior
20:48
< Rhamphoryncus>
Model the elastic properties of one or two objects together, then expand that up to 10 objects, then for computers you're stretching into hundreds and millions
20:49
< Rhamphoryncus>
Although computers often involve taking a single physical object and modelling it as a collection of millions of distinct segments
20:55
< sshine>
yes
20:56
< sshine>
so what I am thinking is that the reliance on modelling says something definitive about the scientific method involved.
20:58
< sshine>
depending on the level of chaos and determinism, one could say that a simulation is really deductive, but one would most likely call it empirical. but I don't know what kind of empiricism this is.
20:58
< Rhamphoryncus>
Most or all science is modelling if you look at it the right way
20:59
< Rhamphoryncus>
You develop a theory that has specific predictions and you check if they come true
20:59
< sshine>
Rhamphoryncus, yes, but when you base your experiments in the real world, you can get answers on whether your model is satisfying. if you experiment *on* a model, some statements might be self-fulfilling. I don't know, maybe there isn't such a distinction as I've assumed.
21:01
< Rhamphoryncus>
The model often reveals subtle behaviour that's hard to see in the real world, but once you've explored it there you can often find a way to test it in the real world
21:01
< Rhamphoryncus>
Think about all the particle accelerator experiments
21:02
< Rhamphoryncus>
There's a whole collection of different models proposed for the higgs boson
21:02
< sshine>
so often what your simulator's model is, is something that we may take for granted as a model of the real world... e.g. natural forces, when what we really explore is perhaps the behaviour of complex molecules.
21:04
< sshine>
i.e., what we take for granted because a simulation depends on an assumption that its model is correct, may not at all be controversial when testing some hypothesis with the simulator.
21:04 * Rhamphoryncus nods
21:04
< Rhamphoryncus>
That's really just part for simulations
21:05
< Rhamphoryncus>
They can be enormously complex but they're still nowhere near sufficient to thoroughly model the real world
21:05
< Rhamphoryncus>
par*
21:06
< sshine>
thanks a lot, Rhamphoryncus!
21:06
< Rhamphoryncus>
We've learned a great deal from weather simulations, and they involve some of the most expensive computer clusters in existence, but they still aren't that accurate
21:06
< Rhamphoryncus>
np
21:06 * sshine proceeds with vacuum cleaning in an attempt at diplomacy.
21:06
< Rhamphoryncus>
Fun reading: http://www.top500.org/
21:06
< sshine>
thanks. :)
21:06
< Rhamphoryncus>
Well, browsing anyway, for a few minutes
21:09
< gnolam>
sshine: you run verification experiments.
21:19 Attilla [Obsolete@Nightstar-99e308f6.as43234.net] has quit [Ping timeout: 121 seconds]
21:23 Attilla [Obsolete@Nightstar-99e308f6.as43234.net] has joined #code
21:31
< Rhamphoryncus>
Hrm, so either way my map size will be on the order of 100000x100000 tiles (if not a factor of 10 less in each dimension). So either I do a 500:1 scale or I limit map sizes to.. the size of edmonton
21:32
< Rhamphoryncus>
Oww, that perspective hurts ;)
21:33
< sshine>
Rhamphoryncus, why do you have such a big map?
21:33
< Rhamphoryncus>
sshine: It's a transport tycoon clone so I want a very large, detailed map
21:34
< sshine>
is it procedurally generated, or is it a projection of earth?
21:34
<~Vornicus>
Rham: or you can do adaptive LoD
21:34
< Rhamphoryncus>
Vornicus: sshine procedural, but it's possible for some of it to change over time
21:35
< Rhamphoryncus>
Vornicus: I'm not talking about rendering
21:35
<~Vornicus>
I mean even in the map storage.
21:35
< Rhamphoryncus>
If something is wilderness then leave it in a procedural generated mode?
21:36
< sshine>
Rhamphoryncus, but wouldn't it only be interesting to generate (or change) that which has been observed?
21:36
< Rhamphoryncus>
sshine: minecraft-like exploration? An interesting thought
21:36
< sshine>
Rhamphoryncus, and even if something has been left alone for a while, wouldn't it eventually change so much so that at least the details could be re-generated.
21:36
<~Vornicus>
Rham: yes. Minecraft for instance can (but doesn't, usually) generate but not store map segments.
21:37
< sshine>
Vornicus, what's adaptive LoD?
21:37 * sshine RTFMs
21:37
<~Vornicus>
sshine: in this case it would mean "only fill in details where they're needed"
21:37
< Rhamphoryncus>
My starting assumption (of transport tycoon) is that the entire world is visible from the start. I will have to think about not doing that though
21:37 io|mad-town is now known as io|GF
21:37
< Rhamphoryncus>
Vornicus: minecraft is extremely static. I was hoping to include some form of water flow, biomes, etc
21:38
< Rhamphoryncus>
I'm also thinking now that map granularity could be larger than track placement granularity
21:38
<~Vornicus>
Even if the entire world is visible from the start, you can make the large scale elements first and then the smaller scale elements.
21:38
<~Vornicus>
When you need them.
21:39
< Rhamphoryncus>
Vornicus: I'm hoping to do that anyway, but the problem is a map may start out at 20 megs and end up at 10 gigs. That's about the sane limit for a server IMO. If I change that to start at 200 megs and end at 100 gigs.. yeah, not so sane
21:41
<~Vornicus>
So for instance, you could store a "coarse" heightmap in healpix - you'd get large scale tiles about 6 km across, at 12 megabytes per byte of per-tile data, and that's at earth size.
21:42
< Rhamphoryncus>
The other thing in my head is the geometry of the map. Flat? Spherical? Cells with arbitrary mix (probably how I'd implement spherical)?
21:42
< sshine>
Rhamphoryncus, "visible" at what resolution?
21:43
< Rhamphoryncus>
hmm
21:43
< Rhamphoryncus>
sshine: good question :)
21:43
<~Vornicus>
Sim games are notorious for strange scale issues.
21:43
< sshine>
Rhamphoryncus, you could procedurally generate it at low resolution from the beginning, but only procedurally generate the details when people zoom in... I don't know, though, how it'd look and what really constitutes a detail. is that city-like or nature-like?
21:43
< Rhamphoryncus>
Yes, and it's pretty clear I'm going to have my own strange scale issues :)
21:44
<~Vornicus>
I remember calculating something like six different sizes used by OTTD in some places.
21:44
< Rhamphoryncus>
sshine: yeah, cities are problematic since they'll have *drastic* changes over time. I expect the major ones to all be connected by rail, so they'll need to be fully detailed
21:45
< Rhamphoryncus>
Vornicus: OTTD is on crack
21:45
<~Vornicus>
(you've got the two different speed scales, based on realtime and calendar time; the scale suggested by the altitude map; the scale suggested by the gauge of the rails, the one by the length of the cars, the one by the size of world objects.)
21:46
< Rhamphoryncus>
There's lots of variety in world objects too
21:46
<~Vornicus>
(which itself varied drastically depending on which object you used. I picked the football field because that has an official size.)
21:46
< Rhamphoryncus>
heh
21:48
< Rhamphoryncus>
I think a 50:1 scale would work, meaning a single person house would hold 2500 people ;)
21:48
< Rhamphoryncus>
Might not be good gameplay, heh
21:48
<~Vornicus>
Trying to get reasonable scale is hard in /every/ type of game.
21:48
< Rhamphoryncus>
yeah
21:49
<~Vornicus>
I mean
21:49
<~Vornicus>
Right now I'm playing Twilight Princess and Link has never taken the 20 minute walk to Hyrule Castle Town.
21:49
< Rhamphoryncus>
heh
21:49
<~Vornicus>
and even that I think is exaggerated, I should time it when I've unlocked the standard path.
21:50
< Rhamphoryncus>
For train tech I might follow real life for most of it, but around the end of the 20th century freight speeds have stagnated
21:51
< Rhamphoryncus>
So gameplay needs to take them in a totally fictional direction to keep progressing
21:52
< Rhamphoryncus>
economics.. growth is exponential. After a while building costs are trivial. On particularly efficient games you can even flatten a decent sized ocean. That needs to be rebalanced somehow
21:53
< Rhamphoryncus>
Competition-based pricing might do the trick there
21:55
< Rhamphoryncus>
It would be cool to zoom out and see the whole planet, but having a flat map generated as you explore could be really interesting too
21:56
< sshine>
having both would be pretty amazing, but I don't know how that'd work.
21:56
< Rhamphoryncus>
hrm
21:57
< sshine>
maybe simply by using a sphere as game map. doesn't even actually need 3D rendering to see from atop.
21:58
< sshine>
on low resolution, that'd result in slightly curvy tiles.
21:58
< Rhamphoryncus>
Even if I generate as you explore it'd be a good feature to bake in a configured limit, so users can't use up inordinate amounts of memory
21:59
< sshine>
if I want to play with procedurally generated 3D maps like Minecraft, is there an engine that allows me to do that?
22:00
< Rhamphoryncus>
I wonder if I could use healpix for my cell shapes, but also allow flat cells for flat maps. Then again, unless you expect to wrap you can simulate that as a slice of a very large sphere
22:01 * Rhamphoryncus eyes some 3-way intersections on healpix
22:02
< Rhamphoryncus>
healpix is awesome
22:02
<~Vornicus>
Mario jumps four meters (or is it 8?) into the air from a dead stop, on a planet with 3+ (6?) g worth of acceleration. in Civilization it takes a year to fly across the ocean..
22:02
< Rhamphoryncus>
I don't care about equal area per-say, but most ways I would attempt would end up with vastly different areas, and that's problematic
22:03
<~Vornicus>
the lack of equal area in equirectangular is why I built the vorn projection.
22:03
<~Vornicus>
THough very recently I realized that I was overengineering that too.
22:03 ErikMesoy is now known as ErikMesoy|sleep
22:06
< Rhamphoryncus>
healpix is sometimes concave, right?
22:06
<~Vornicus>
or rather the lack of even vaguely equal area.
22:07
<~Vornicus>
Rhamphoryncus: what do you mean by concave? Like, the lines between corners aren't straight but bow into one of the cells as they would be if they were straight? Yes.
22:07
< Rhamphoryncus>
Vornicus: yeah
22:08
<~Vornicus>
Healpix defines not only the locations of points but the paths of the cells. For the most part - especially as you get past layer 0 - they're close enough to straight that you don't care though
22:08
<~Vornicus>
And anyway if you use healpix all the way down, the edges of the pixels don't change.
22:08
< Rhamphoryncus>
yeah
22:09
< Rhamphoryncus>
At a larger scale I need to model the curve but at the smaller scale I can cheat
22:13
< Rhamphoryncus>
I wonder if this is all over engineering too
22:15
< Rhamphoryncus>
healpix doesn't maintain length, likely to be a more useful metric than area, still has special cases (the 8 3-way corners), and if you include the equatorial bulge and other variations you won't be exact anyway
22:15
<~Vornicus>
I can find out how well it models length.
22:16
< Rhamphoryncus>
poor enough to be irrelevant
22:16
<~Vornicus>
If nothing else I can guarantee it's better than equirectangular~
22:16
<~Vornicus>
(which has an infinite length deviation)
22:17
< Rhamphoryncus>
So.. why not let each cell define the length of each edge, and the shape of each edge, and which other cell it borders there
22:18
< Rhamphoryncus>
So long as the border parameters match (including further subdivisions, as with tessellation), and it has an internal grid system, why should I care?
22:19
<~Vornicus>
though that will be an issue if you use adaptive healpix: you can't go through edge centers and have them be edge centers at deeper layers.
22:19
< Rhamphoryncus>
yeah, I'd have to use whatever form of healpix maintains the edge shape exactly
22:20
<~Vornicus>
Not what I mean
22:20
<~Vornicus>
when you subdivide you'd be going through the /corner/
22:20
< Rhamphoryncus>
If I go halfway along the edge and chop in half that might not be the right spot?
22:23
<~Vornicus>
It should be close
22:23
<~Vornicus>
But the thing is
22:23
<~Vornicus>
even if it were exact, the center of an edge at one layer is really at the corner at the next.
22:24
< Rhamphoryncus>
I don't understand the problem
22:25
<~Vornicus>
in ottd, the rails go through the centers of the edges of the cells, right
22:25
< Rhamphoryncus>
Yes, but that's ottd
22:26
<~Vornicus>
But then if you were to subdivide the cells, you'd end up with the rails going through corners instead.
22:27
<~Vornicus>
To avoid this you would want to use cell edges instead as the path for your rails.
22:27
< Rhamphoryncus>
My intent is to model the map with around 2.5 meter granularity and track placement with 0.25 meter granularity, but treat the tracks as interconnected objects rather than a property of that tile
22:27
<~Vornicus>
i see.
22:28
< Rhamphoryncus>
And hopefully enough flexibility to make orientation of the track irrelevant
22:29 * Vornicus does some math
22:30
< Rhamphoryncus>
Hrm, probably much finer than 0.25 meter. Maybe fixed-point integer math >.>
22:31
< Rhamphoryncus>
So long as each cell provides its own geometry it doesn't really matter
22:31
< Rhamphoryncus>
err it's own coordinates
22:32
< Rhamphoryncus>
With a way to convert to approximate global coordinates when needed
22:32
<~Vornicus>
okay that's layer 21, to make your maximal map (assuming earth-size planet) 52 TB per byte of record.
22:33
< Rhamphoryncus>
heh
22:34
< Rhamphoryncus>
What's the map resolution?
22:34
<~Vornicus>
that's 2 million pixels on a side for a single layer-0 square.
22:35
< Rhamphoryncus>
of which there's 12?
22:35
<~Vornicus>
Yeah.
22:35
< Rhamphoryncus>
I was suggesting around 100,000? for the whole planet
22:36
< Rhamphoryncus>
That's going backwards from acceptable map sizes
22:36
<~Vornicus>
Okay, let me calculate.
22:37
< Rhamphoryncus>
wait, that's not right
22:37
<~Vornicus>
layer 15.
22:38
< Rhamphoryncus>
ah, math fail. Yeah, 100,000? is right
22:38
<~Vornicus>
200 meters.
22:38
< Rhamphoryncus>
Which is 10 billion tiles
22:39
<~Vornicus>
is your tile width.
22:39
< Rhamphoryncus>
*nod*
22:40
< Rhamphoryncus>
I'm looking at geodesic grids now
22:40
< Rhamphoryncus>
I wonder if I should do an icosahedron and stick a communication tower on the fixed intersections ;)
22:41
<~Vornicus>
Heh.
22:41
<~Vornicus>
I have (ridiculously awful) code for geodesating a sphere somewhere.
22:42
< Rhamphoryncus>
this style of subdivision: http://ars.els-cdn.com/content/image/1-s2.0-S0021999111006735-gr3.jpg
22:44
<~Vornicus>
Yeah. I did something slightly more complex: I didn't want a straight power of 2 (because I was making hexagons, I needed values divisible by 3), so I made a thing that did it with averaging of great circle intersections.
22:44
< Rhamphoryncus>
*nod*
22:44
< Rhamphoryncus>
Most of the results for geodesic grids are on hexagons, not triangles
22:45
<~Vornicus>
(because doing it by expanding out regular triangle intersections gives terrible results)
22:45
< Rhamphoryncus>
But triangles should be simpler for my purposes. Maybe, heh
22:45
< Rhamphoryncus>
hmm?
22:46
< Rhamphoryncus>
My current line of thinking is that although geodesic gets nothing "right" (unlike healpix), it's still the "least bad" overall when you look at all the criteria
22:47
<~Vornicus>
Rham: if you subdivide a triangle of an icosahedron, and then project those points onto the sphere, you get really tiny triangles near the vertices.
22:47
< Rhamphoryncus>
I bet triangular would lead to a nice coordinate system. Although it may seem worse to use 3 axis rather than 2, if you start optimizing the bits required I bet it's the same
22:47
< Rhamphoryncus>
ahh
22:48
< Rhamphoryncus>
And the center of your original triangle ends up with the largest
22:49
< Rhamphoryncus>
Distorting their edges and tweaking the corners should be a good compromise
22:49
<~Vornicus>
http://www.flickr.com/photos/7861878@N06/3556592941/in/photostream
22:50
< Rhamphoryncus>
Still subdividing as if they're triangular, just not rendering or measuring exact distances as exactly triangular
22:50
< Rhamphoryncus>
I've seen that so many times I should bookmark it ;)
22:50
<~Vornicus>
Repeated subdivide works pretty well but again you're restricted to power-of-2
22:50
<~Vornicus>
or at the very least small-factors composites.
22:51
< Rhamphoryncus>
I don't see an issue with that
22:51
< Rhamphoryncus>
(btw, I had that image open about 10 minutes ago)
22:52
<~Vornicus>
hahaha, seriously?
22:52
< Rhamphoryncus>
yup
22:52
< Rhamphoryncus>
"vorn projection? That's the... yeah yeah, that!"
22:53
< Rhamphoryncus>
I've had 4 or 5 conversations with you on this subject :)
22:54
<~Vornicus>
It seems to come up a lot.
22:54
< Rhamphoryncus>
Hum.. I wonder if I should store map properties (height/etc) at each vertex and duplicate them across cells (large-ish triangle)
22:54
< Rhamphoryncus>
It's a favourite subject :)
22:55
< Rhamphoryncus>
icosahedron has 20 faces, 12 vertices, 30 edges. 1.5 edges/face doesn't work out too well, so it'd be easier to duplicate that data
22:56
<~Vornicus>
If you store at vertices then you will probably either want crazy pointer shit or just sensible corner maintenance.
22:56
< Rhamphoryncus>
Sensible meaning?
22:57
<~Vornicus>
Well, okay, I don't know how sensible it is
22:58
<~Vornicus>
Your macrocell-edge vertices have to appear to be one vertex but may need to be stored in two places.
22:59
< Rhamphoryncus>
yup. 5 places at the extreme
22:59
<~Vornicus>
In order to prevent duplication bugs you'll need to make sure that you have very few write interfaces and they're all carefully.
22:59
<~Vornicus>
all careful about that, rather.
22:59
< Rhamphoryncus>
yeah
23:00
<~Vornicus>
and then we're into accessors and, well, yes.
23:00
< Rhamphoryncus>
But it makes rendering straightforward. Straight triangular tessellation
23:00
<~Vornicus>
Indeed.
23:01
< Rhamphoryncus>
The map has a feeling of isometry, even though it's not perfect underneath
23:02
<~Vornicus>
Indeed. The distortion does get pretty obvious when you zoom near a corner.
23:02
< Rhamphoryncus>
Is it still obvious with the weighting tricks?
23:03
<~Vornicus>
Yeah, pretty obvious.
23:03
<~Vornicus>
You're getting pentagons when you should be getting hexagons.
23:04
< Rhamphoryncus>
eyecandy! http://westy31.home.xs4all.nl/Geometry/Geometry.html
23:04
< Rhamphoryncus>
Yes, but I'll be layering higher resolution models on top anyway
23:06
< Rhamphoryncus>
no, bad adam, don't try to include reimann surfaces!
23:06
<~Vornicus>
heh
23:06
<~Vornicus>
Rham: and those higher resolution models will themselves have to distort.
23:07
< Rhamphoryncus>
Most merely have to orient. Trees, rocks
23:09
< Rhamphoryncus>
If a player is altering the map itself (raising and lowering) they could see it
23:12
< gnolam>
https://twitter.com/nikcub/status/205489752684765185/photo/1
23:13
<~Vornicus>
derpatrons
23:15
< Rhamphoryncus>
.. that's a spectacular derp
23:15
< gnolam>
Yeah.
23:16
< Rhamphoryncus>
Vornicus: is this power-of-3 in the way you mean? http://1.bp.blogspot.com/-3vXARzf4VJ4/T1pF6y-ocyI/AAAAAAAAAVI/L0jDgbBTxxU/s1600/ frequency_diagram.jpg
23:17
<~Vornicus>
THat's doing it the wrong way
23:17
< Rhamphoryncus>
Heh. That's how I would have done it
23:17
< Rhamphoryncus>
Is power-of-2 on there correct?
23:18
<~Vornicus>
Those aren't actually done power-of-anything
23:18
< Rhamphoryncus>
ah, so I have no idea what power-of means :)
23:18
<~Vornicus>
THey're literally subdividing a flat icosahedron and projecting.
23:18
< Rhamphoryncus>
yep
23:19
<~Vornicus>
When I say power of 2 -- looking back at the grey and yellow sphere - you can see that what they've done is, subdivide the cell via midpoints, project, subdivide these new triangles via midpoints, project.
23:20
< Rhamphoryncus>
hrm. Projecting along each step, which reduces the error?
23:20
<~Vornicus>
etc. In that particular case it's four projection sequences.
23:20
<~Vornicus>
Right.
23:22
<~Vornicus>
What I did for mine, because I knew I wouldn't get a power of 2 for the number of subdivisions I wanted, was pick points evenly spaced along the edges of a spherical projection of an icosahedral triangle, and then draw great circles across, and average their intersection points.
23:22
< Rhamphoryncus>
Which gives perfect alignment for great circles (thin black lines on the grey/yellow image)?
23:22
<~Vornicus>
Not perfect, but certainly a lot less distorted.
23:23
< Rhamphoryncus>
I'm not sure
23:23
<~Vornicus>
Well, it gives perfect alignment for the first layer of geodesation.
23:24
<~Vornicus>
Er, power-of-two does.
23:24
<~Vornicus>
Mine doesn't like further subdivision in the first place and it's overkill for 2.
23:24
< Rhamphoryncus>
http://en.wikipedia.org/wiki/File:Icosahedron_subdivided.png
23:24
< Rhamphoryncus>
Yeah
23:26
<~Vornicus>
the "frequency diagram" one you can clearly see already that the center triangle is much larger than the corner triangles at 4v.
23:27
< Rhamphoryncus>
yeah
23:28
< Rhamphoryncus>
That's undesirable. Broad differences in scale would be visible
23:29
< Rhamphoryncus>
Is there a triangular equivalent to healpix?
23:29
<~Vornicus>
YOu'll also note that in the power-of-2 one, you can tell that the thick red lines give a distorted hexagon.
23:29
<~Vornicus>
Not that I'm immediately aware of.
23:30
< Rhamphoryncus>
Hrm. Hierarchical triangular mesh is based on an octahedron, not an icosahedron
23:31
<~Vornicus>
could be done.
23:31
<~Vornicus>
healpix is actually based off a rhombic dodecahedron.
23:32
< Rhamphoryncus>
I like icosahedron as it's the base shape with the least distortion to start out with
23:33
< Rhamphoryncus>
You're right that I'd actually be doing hexagons
23:34
< Rhamphoryncus>
Slightly concave in some cases
23:34
<~Vornicus>
http://mathworld.wolfram.com/DisdyakisTriacontahedron.html unless you wanna go with this guy.
23:35
< Rhamphoryncus>
Applied infinitely you'd approach a curve :)
23:35
<~Vornicus>
(don't go with that guy.)
23:36
< Rhamphoryncus>
No, I don't want elongated triangles. I want approximately equilateral
23:36
<~Vornicus>
and if you want hexagons you won't end up with something you can power-of-2
23:38
< Rhamphoryncus>
Power of 2 equilateral subdivision of an icosahedron, but tweaking the mid point of the edges at each step (so they're technically hexagons)
23:39
< Rhamphoryncus>
At the world scale I might have to pre-tweak it a few steps so there's no visible shift, which'd make it much more than 6 sides
23:39
<~Vornicus>
I don't get what you just said about the "technically hexagons" thing
23:39
< Rhamphoryncus>
48-sided triangle, hehe
23:40
< Rhamphoryncus>
Hrm. Ignore that I suppose
23:40
< Rhamphoryncus>
It gets even more convoluted (in terminology) when you consider I might expand one section and not the one next to it. Still has to line up
23:43
<~Vornicus>
And that can be generally taken care of by always rendering at the same detail (you should have at this point a log(detail) algorithm for calculating render locations from model coordinates, so)
23:44
< Rhamphoryncus>
eh?
23:47
< Rhamphoryncus>
huh, rather than 3 axis coordinates I could use 4-way subdivision. Don't know how easy that is to manipulate but it's optimal for storage
23:53
<~Vornicus>
er, data model coordinate - indexes into your game data arrays.
23:53
< Rhamphoryncus>
Edges must be rendered at the same level from both sides (this is a requirement of opengl), so to have variable LoD it must transition within the body of a triangle
23:54
< Rhamphoryncus>
Not sure what you mean by that either
--- Log closed Tue May 29 00:00:52 2012
code logs -> 2012 -> Mon, 28 May 2012< code.20120527.log - code.20120529.log >

[ Latest log file ]