# [Bf-committers] Sorry Martin..

Kiernan Holland bf-committers@blender.org
Fri, 12 Dec 2003 19:16:26 -0700

I guess I could see how you might have been confused by my email..
I seem to think that anything I think is obvious I assume others
understand,
and when they reply with something that sounds like they don't understand,
I think they are being sarcastic.. I don't give the benefit of the doubt..
I know I communicate rather badly..

Anyhow, the idea I had was something like this..

Vectors can be defined with two points in space connected by a line..
If you want the normal to a polygon, you take two edges (lines, connected
by points),
and do a cross product, then normalize the vector that results..  If you
could
allow a user to do such a thing without having to describe to them what a
cross product is or a vector, you would succeed in giving something to
users
that is useful, and if they know a little bit of python they can go far
with it..

Now if you had a NUBRS surface, and you had a function that returns any
point on the
NURBS surface with respect to U and V.. One could extract two vectors, do a
cross
product, get the vector, move an empty there (multiply by vector)..  Then
parent something to the
empty.. This is fairly hard until you remove the math, and make it like a
geometry
problem.. Just a matter of understanding what everything does in terms of
what people understand best, 3D space.. The math is how to make stuff on a
2D
screen look like its drawn in 3D and how to move stuff on the screen.. But
how its useful
is that its intuitive.. If it wasn't intuitive, Blender wouldn't have such
a wide acceptance, among
the laymen..  Its the fuzzy area between the math/programming and the users
that I'm
pushing, how close can we get to the core stuff without making the users
into
CS/Math majors, so that they can do something useful enough they can get
by..

I've sought a need for this in gameblender, for instance if you wanted to
make a game on a
arbitrary surface without the use of parented IPO animations.. You could
use a parameteric surface..

Anyhow..