Outline for Today
Shapes
Administration
Response to Responses
Response to responses
Today
TODAY
Summary
Summary
For Next Meeting
Wiki
Link to the UR Courses wiki page for this meeting
Media
Transcript
Audio Transcript
-
So we're going to talk
about shapes today
-
and fractals, I guess So,
-
oh, okay. So who's familiar with
fractals?
-
Okay, what are some properties
of Practice? I
-
there's one I'm a property that
is important for our discussion
-
today.
-
Okay, so?
-
Now this is the point where I
see where there drew the right
-
Number of blanks. T I
-
P, no, s, thoughts, CS,
-
I said, M Right, yeah, yeah.
-
L, M, say, f Oh, wait,
-
self similarity, do
-
I don't have any prizes, sorry,
maybe I'll have confidence right
-
now. Anyway, I
-
so the idea is they wouldn't
heard of the SIP ski gasket, or
-
SIP in ski triangle. So Benoit
Mandelbrot called the Sierpinski
-
gasket as a joke, because a
gasket is supposed to seal
-
things, and the Sierpinski
gasket is full of holes.
-
That's my interpretation, he
told he said that it was a joke,
-
but he didn't I filled into the
details or the rationale or the
-
reason, certainly the way we
constructed is
-
contained. Take an E collateral
triangle, and then we take the
-
whole triangle, and we make
three smaller copies, scale by a
-
half and
-
and so we translate towards The
vertices. So that's the first
-
stage, and then the
-
And then, 012,
-
that's a different shape And
-
so you can see the relationship
here. So the third stage, we're
-
taking three copies of the
second stage and putting them in
-
into the spots here.
-
So self similarity is a property
of nature of many natural
-
objects. So when I generate
fractals on my computer, after a
-
few minutes out, or maybe a few
seconds out, comes up and puts a
-
leaf on the image and it says,
Well, this is a maple or comes a
-
few different clients. Does that
make sense in terms of
-
construction? In
-
fact, it's,
-
it's a kind of patterns and that
repeat itself in a small and
-
small Yeah? So we can, we can
keep going with this
-
until our graphical fidelity of
our screen doesn't show anything
-
anymore. Yeah. I Yeah, as soon
as you get smaller than a pixel,
-
yes.
-
So we can do this construction.
Take the triangles you can Take
-
you can.
-
Yeah, So You
-
so we can go from the top down,
or we can think of concatenating
-
transformation matrices, because
we can have a matrix for the
-
each of these two
transformations, so we scale by
-
half, and this one, if it's at
zero and I don't need to
-
translate. But here we're
translating to
-
zero, and this one, we're
translating to point 5.866,
-
point 866,
-
that's, that's,
-
that's approximately e
collateral triangle. Or we could
-
center it at the center of the
triangle, and then this would be
-
point, 5433, 433,
-
it's not quite right, that'll be
here anyway.
-
I so
-
we can have a matrix to describe
the different transformations,
-
and then we can multiply them
out, and
-
we can create strings of
transformation so that the net
-
effect of them are going To be
producing pixel size points.
-
That makes sense. I
-
so We Get the
-
so a way to think about the
shape the fractal that's
-
generated is The collection of
fixed points of all these
-
transformations and
-
CS. So when we create a
transformation matrices, We can
-
we
-
so The weight, so we first want
to Move. We're
-
so we think of if we're applying
transformation this point,
-
translate point, the origin,
apply the transformation, the
-
scaling, the rotation and the
shear, and then translate back
-
from the origin to the center.
So that gives us
-
so If we apply matrix zero and
-
I guess So,
-
by the matrix that's three times
matrix zero, and we apply it to
-
the fixed point at 00, what?
-
What point am I going to are we
going To get out? Does
-
that make sense?
-
Okay, so we're multiplying the
transformations out. So this is
-
m zero applied once, this is m
zero applied twice. And
-
this is m zero applied three
times.
-
So if we, if we transform the
point 00 with this, because it's
-
the fixed point of this
transformation matrix, we're
-
going to get 00 out again,
because we're applying The same
-
transformation. So for each of
these transformations, we're
-
equations, they have the fixed
point at zero at the origin. So
-
the m zero is
-
so we're just scaling by a Half.
-
So how do we know when to stop
and
-
concatenated transformations.
-
So what happens, let's, let's
look at This matrix. Let's do
-
some matrix multiplication. I'm
-
so let's do
-
let's do this one first so we
get two levels. So point five
-
times, point five is point two
five and
-
The rest
-
rests. The rest of them are
zeros and
-
and then we apply point five,
the matrix again, to this one,
-
which is a
-
So then point five times point
two Five is the
-
Does that make sense? So what do
we notice about the progression
-
of of the matrices? Yeah, so an
important property I didn't
-
mention is that the
transformations have to be
-
contractive, so they converge to
-
to a fixed set of points. So
let's say we have, we're going
-
to go, we have.
-
You want to do a square image
from Zero to One in x
-
and in y and
-
Okay, so,
-
what other information do we
Need to know when to stop our
-
recursion or our concat
composition of Tran of
-
transformation matrices.
-
That was the sentence. Did you
mean, like, if you mean how to
-
stop the recursion. You just got
to send in how many depth you
-
want?
-
Yeah. So how do we determine the
depths of we want? Really
-
depends on how many generations
you want. So at the beginning,
-
if I say I wanted one, I would
send in the second image you
-
have there. So generation one.
So then you send in one, and you
-
subtract that one, and when you
send it in a final time, it'll
-
be like if it's greater than if
depth is greater than zero,
-
we'll keep going, and then if
not, we'll draw, draw whatever
-
we have currently.
-
Yeah, okay, but going with the
idea that we do, we want to make
-
a pixel sized shape, or dealing
with a pixel size shape from
-
each of these strings of
transformation. So how so this
-
is the space, the world space
we're dealing with.
-
But what about the resolution
we're going to create in our
-
image. So if we say 1024 by 1024
I
-
so we want to have the number of
levels such that this
-
contraction factor is Less than
or is approximately equal to
-
This size and
-
so compose until I
-
so we're going to start with,
say this is the size that we're
-
starting With, so we have a
width of one, and then after we
-
apply one transformation, it's
point Five, and apply another
-
transformation, It's point two,
five and
-
so we take that the size of our
rural space, and then we use a
-
way to estimate the size of the
-
so The transformation is going
to end up to produce a a point
-
which is a pixel size. Does that
make sense? Can you hear me in
-
the back? Okay, my tailing off,
trailing off a little bit. I'll
-
try and keep the volume up.
Okay, so then that brings us to
-
the assignment to reimagine the
desktop tetrahedron. So let's
-
see if I Can.
-
Chapter is honest. I
-
I hope I'm curious why it's
taking so long. Been quicker
-
before
-
minutes i entertainable.
-
I Okay, so Here are three
spheres.
-
Corresponds
-
to gasket, example, So
-
just a little better. Okay, so I
-
so I'm using Object
instantiation here. So I made a
-
base object. I
-
i So I called it the object
base, and then inside the object
-
definition, I say attribute
begin. So that gives me so
-
because I'm putting the
attribute begin and ends in
-
here, that I'm doing a
transformation, not to the
-
current one, but starting from a
fresh
-
so another other languages might
do push and pop, so it saves the
-
state anyway. So then I'm not if
I, if I don't separate them with
-
the attribute begin and ends,
then
-
the third, the third sphere,
would be point five times point
-
five times point five. So be
point 125, and not, if that
-
makes sense. So I'm, so I define
this base object. Here's that,
-
there's the example of it. So
I'm starting with the I'm just
-
letting it be unit sphere of
diffuse material.
-
So I have three spheres. I have
an object, then object end. So
-
then to use the object, I See
object instance And then base I
-
so do You see what I've done
here?
-
So I'm doing a translation of
the base object, first scaling
-
by one half in all directions,
and then doing a translation,
-
scaling. And then the third one
is scale,
-
and translate and scaled as
well. So what is, what do you
-
think the output of this, this
description, C, description will
-
be gasket. I,
-
any ideas how many spheres are
Going to see light?
-
Nine. Yes, I
-
now, how do I get to 27 Copy
-
when you did there?
-
Thinking, versus for me, part.
-
Let's make a new object. I
-
so it should be the same image
that we just had.
-
Okay, can't Do that. I
-
see, how Do we Start? I
-
Okay, what's going to be The
impact of that
-
change? I
-
i guess 27
-
let's See if I correct. Do
-
So I still have nine spheres,
because I'm transforming the
-
three spheres. I transformed the
three spheres three times. So
-
now I have to fill in The
transformations to Make the
-
Other I
-
It seems like a lot of mass on
the board and maybe should be
-
nice On the Part I
-
Well, I offline. So what? What
do we want to do?
-
So you want
-
one three spheres here, three
spheres there, three spheres
-
here, three spheres here. I
-
And in each of these places. So
what? 123456789, times, Three is
-
27, So
-
I Skip there.
-
I and it's
-
making little stars on the
insides, which is pretty
-
cool, that one section you
completed, It makes a new shape
-
You saw
-
You. Yes, I
-
so There's only
-
a few spheres short here, yeah,
-
so We have 18, so I see what's
happening. You shared the base
-
of the bottom triangles with the
top triangles.
-
Yeah. And
-
that the middle one, too should
not. So you have it so that the
-
middle like the bottom quadrant,
if you look at those three
-
triangles, that is correct. The
rest of it is not. So if you
-
just, if you move everything
over and upward, and you have to
-
have a second copy of the bottom
left three triangles, and then a
-
third copy on top, and that's
what you're aiming for. And then
-
there'll be a big hole in the
middle, as you would expect, on
-
a seconds. Keep Yes.
-
Anyway, I'm i I'll give you this
file. You can work on it, if you
-
like. But this is the idea
behind constructing a model of
-
tetrahedron. So this is one way
to do it, maybe a little bit
-
tedious in a way to do it. So
imagine a way is to compute
-
transformation, compute the
final transformations, thinking
-
about what kind of resolution
you want. And then you can
-
specify the transformation
matrix as the input.
-
In the same description you can
do it you can specify the 16
-
coefficients of the matrix, and
doing a transformation That way
-
gives you it starts with a fresh
current transformation matrix,
-
so you're not concatenating
them.
-
So there are places online to
find the coordinates of the
-
vertices of the tetrahedron, and
you can construct transformation
-
matrices like this, like we've
done Here. I'll fix that up. I
-
realize I haven't I'm
-
I have anyway. So this is for
students, a little demo of how
-
to do things, fractal shapes in
pbrt, fill similar shapes. And
-
I'll fix that up, and I'll send
it to you. Do
-
so we're out and so time. But I
wanted to ask, what are two ways
-
to describe common forms for
describing shapes?
-
So there was implicit, yeah,
everything was parabolic,
-
separate, parametric,
parametric,
-
okay, good,
-
okay, so how about we end there.
I'll fix this file up for you.
-
Maybe I'll do a version with
transformation matrices in it.
-
Okay? Does that sound all right?
Thank you for today. Have a good
-
weekend.
-
See you on Tuesday.
Responses
No Responses