## Comment Re:3D programming requirements (Score 1) 595

Sigh. Typos in the rotation. Should have been:

**Rotation:** X = X * cos(theta) - Y * sin(theta); Y = Y * cos(theta) + X * sin(theta);

What's the story with these ads on Slashdot? Check out our new blog post to find out.
×

Sigh. Typos in the rotation. Should have been:

**Rotation:** X = X * cos(theta) - Y * sin(theta); Y = Y * cos(theta) + X * sin(theta);

Nonsense.

No. I am one of the primary authors of what might be fairly described as a Photoshop-class application -- one with far more layer modes and built-in filters than Photoshop, as well as a full-bore built-in ray tracer and texturing facility. It is also *considerably* smaller and faster than Photoshop in the identical system environment. I am also the author of multiple realtime video and arcade games, etc. I'm telling you flat out that matrices are not required. Period.

Matrices may be the only way you know how to do these kinds of graphics; but they definitely aren't the only way to do it.

Just to take your example: "if you have 3-vectors (i.e. points relative to the origin in 3-space), any global linear transformation is represented by a matrix multiplying each vectors"

The correct way to state this is: "if you have 3-vectors (i.e. points relative to the origin in 3-space), any global linear transformation **can be** represented by a matrix multiplying each vectors." Here is the non-matrix approach (and of course, there's always polar, which can also be easily handled.) This is for 2D points; 2D vectors and 3D points and vectors are all just a further (and trivial) generalizations of the following:

**Translation:** X += deltaX; Y += DeltaY**Rotation:** X = X * cos(theta) - Y * sin(theta); Y = Y * cos(theta) + Y * sin(theta);**Scaling:** X *= Xfactor; Y *= Yfactor

Shadows and reflections can be trivially accomplished with more of the same. Basically: R = 2(V dot N)N - V

"dot" is just the dot product, which again is a trivial combination of the lowest math primitives.

You are confusing the fact that matrices can be used to do something with the idea that matrices *are* the something.

With algebra, trig, and basic math in hand, the programmer's doors to 2D and 3D graphics are wide open.

The government doesn't obey the law.

Your phone is always awake, or can be, which is to say, the CPU running, albeit in a lower power state. From there, it takes very little energy to simply record what the mic is picking up. It doesn't need to be translated, and it can be sent, compressed, at widely spaced intervals in terms of battery load. It could be sent while you are otherwise connected. You'd be unlikely to notice a difference in power consumption.

Funny. Also precisely on target.

When speech recognition gets "decent", as TFS inaccurately states, which is to say, when it's good enough to understand me as well as a human does, then a lot of things will change. For instance, I wouldn't be typing this on a keyboard. I'd be speaking, which is quite a bit faster than typing. Probably never touch my phone other than to slip it into a pocket. Especially after there's a decent, power-efficient wearable display, or an in-eye projection, in front of face hologram, etc.

Right now, what the author calls "decent", I would describe as not even close to acceptable, with a grace note of "better than nothing."

I think it'll be a white yet, based on the crappy stuff available right now.

On the other hand, speech *synthesis* is actually decent at this point in time.

I'm sorry, I tried to read your post, and Culture20's post, with your reasoning in mind, but everything that was written reduced to "words", and *then* to letters, and *then* to dots on my display, all the same thing, no meaning remaining at all.

So I think I'll stay with "coding" and "programming" taken to mean making computers do things for us. Yes, "coding" applies to a markup language. "Programming" does not. From TFS: "Olga Khazan writes in The Atlantic that learning to **program** involves a lot of Googling, logic, and trial-and-error—but almost nothing beyond fourth-grade arithmetic."

Now. Let's say you are ejected from school on the first day of fifth grade. You passed 4th grade with flying colors, though. Now you are sent to a desert island with a computer. Alone. No network. No books. No communications. No reference materials on the computer. Just you, an abundance of tropical fruit and fish, your grass hut and a computer, let's say solar-powered. You are *not* going to be able to program it until, or unless, you figure out a great deal more than "fourth-grade arithmetic."

Programming. It actually means something more than piddling about with markup language and 4th grade math.

Linear algebra (matrices) and trig are essential for doing 3D graphics.

Trig is. Matrices aren't. Translation, rotation, scaling, texturing, light and shadow simulation -- all can be done without matrices. Matrices have nothing inherently linked to 3D about them. They are simply a neat way to concatenate operations and/or factors that can be, but don't have to be, used.

Education, particularly of women. There's a good talk (TED, I think) about how Bangladesh had tried all kinds of ways to reduce it's world-leading birth rate. None of them really worked. Then there was an unconnected program to send girls to school, and the birth rate fell through the floor.

By the way, the population growth rate of India has been declining since the 80s (and is currently less than the US in the 90s), and China's is currently less than the US. The world population growth rate is also in decline, and is currently less than the US in the 90s.

That's too simplistic an analysis. Contraception exists in the natural world, including as a built-in mechanism in many animals. There can be very good survival benefits to not getting pregnant at the wrong time. IIRC, lionesses, for example, can reduce their fertility during famines.

Violence makes the meat taste better.

For conversation above the trivial level, context is relevant.

So while you may hate it, you certainly aren't going to stop it.

Programming -- I don't think that word means what she think it means.

Prototypes often work perfectly well. In fact, if you've got any sense you make sure you've got a prototype that works before you start making non-prototypes.

In this case, they're calling it a prototype because it's a little can that doesn't do much except serve as a docking target.

Bender should do well. After all, how many people want to "go on a bender"?

Time is an illusion perpetrated by the manufacturers of space.