Jewelry class is fun.
I'm making stuff and doing things - some of this may come in handy for platemail in the future, though that is admittedly a slightly different scale. I bought a gemstone because it was really pretty. The label claims it's a petersite. I have no idea what this is, and the only bit of info I've found on the 'net is that it's a mixite and contains yttrium. Or ytterbium. Or one of those. The Y one.
It's really really pretty. It's like an ogre, see. It's got layers.
Sent a rant to my ex. Four ICQ messages. (ICQ allows you to send messages offline - they're stored on the ICQ central servers until delivery. Limited to 450 characters each. Limits like this always make me wonder - the only net effect is that people write multiple messages, including things like "continued next" and also adding more message overhead.)
I may paste it in the next entry or so . . .
Sheezus I write long entries.
at^2 + bt + c = 0.
a = Xv1 * ( Xv1 - 2 * Xv2 ) + Yv1 * ( Yv1 - 2 * Yv2 ) + Xv2 ^ 2 + Yv2 ^ 2
b = 2 * ( Xs1 * ( Xv1 - Xv2 ) + Xs2 * ( Xv2 - Xv1 ) + Ys1 * ( Yv1 - Yv2 ) + Ys2 * ( Yv2 - Yv1 ) )
c = Xs1 * ( Xs1 - 2 * Xs2 ) + Ys1 * ( Ys1 - 2 * Ys2 ) + Xs2 ^ 2 + Ys2 ^ 2 - ( R1 + R2 ) ^ 2
Lot of mults. Be a bit slow :/ And I'll have to shift things closer to the origin, otherwise all those squares will overflow . . .
bleah. they'll overflow anyway. maybe I'll have to shift them down 8 bits too. Assuming max speed is 32 bits, and subpixel is 16 bits . . . then . . . if I want this to fit into 64 bits, I'd better restrict it to 30 bits of location. Yeah. I'd have to translate to near-origin and shift down at least three bits. eight would be good. Loss of precision, but at least I don't have to try to code 128-bit arithmetic! >_<
But, yeah. It's solved. Just compare the two roots. Not only that, but it tells you where they'll hit period, so I can integrate it into the AI for collision thingies.
now, how can I rig it to compute closest-approach? . . .
DA 6F 72 62 0D 0A 5A 64 72 76 53 49 44 43 1A 0A
04 00 12 00 00 00 01 00 54 0A 00 00 00 00 00 00
01 00 00 40 00 00 40 2A 32 4A D9 92 CF B4
The contents of the first ever version 4.0 ZIDRAV file. Woo! It works ^^
Some days shoutcast seems to be telling me something appropriate, sometimes it just seems to be making it worse >_<
"You've found the station with the 'net's best rock and alternative! Visit our website at www.netrockradio.com! Thanks for listening! *click* -and I may find, in time, that you were always right, were always right . . ."
closest approach would require calculus. take the derivitave (sp?), solve for nil, that's the lowest point. yeah. it'd be a linear equation at that point . . . or it should be . . . yeah, it would. constant terms would blink out. that'd be kinda nice. probably be fast.
Next project: intersection between polygons. And I think it's doable! Because, see, what I'm looking for is the earliest moment at which one of the points touches one of the lines. AKA the point at which - bear with me here - the line segment that runs perpendicular from the contact line to the contact point has a length of 0, and the contact point is on the contact line. Which might be computable . . .
And it starts risking a LOT of CPU overhead - because you have to check each point with each line! In *theory* - I can do a few optimizations to make that unnecessary. Might have to precompute some stuff. And I might have to restrict it to convex shapes, but that's not a problem because any concave shape can be expressed as some number of convex shapes.
And I get locational damage! *real* locational damage!
This could be unbearably sweet - it would be a truly beautiful damage model. I could even implement bouncing . . . hmmm . . .
Thought: a collision is simulated by a high-speed frame-by-frame check. Pull the frame speed ten or a hundred times up - the calculations get easier because, if they're moving fast enough that they'll go through each other, they *will* go through each other. Thrunch.
Hrm. I'm gonna have to make gravity sensors more accurate along the primary hyperspace axis. Otherwise spacedust minefields become too powerful. And I'll need long-range wedge deflector shields.
This has been the most entries I've ever posted in one day ^^;; gomen!