• Nenhum resultado encontrado

Geometria Computacional e Diferencial: As Curvas da Bosta

N/A
N/A
Protected

Academic year: 2021

Share "Geometria Computacional e Diferencial: As Curvas da Bosta"

Copied!
47
0
0

Texto

(1)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Geometria Computacional e Diferencial:

As Curvas da Bosta

Ole Peter Smith,

[email protected], http://olepeter.mat.ufg.br

Instituto de Matemática e Estatística, Universidade Federal de Goiás

FLISOL, Goiânia-GO

(2)
(3)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Introduction

Playing with curves....

PHP (should become Python...)

Graphical Library: GD - Open Source!

Math... the truely divine!

(4)

Image

Resolução: (R

x

,

R

y

).

Drawing Area: (x

0,

y

0), (x1,

y

1). •

Coordinates ↔ Pixels

xp

y

p



=

ax

0

0

a

y

 x

y



+

bx

b

y



ax

ay



=

Rx x1−x0 Ry y1−y0

!

bx

by



=

Rx

− ax

· x0

−ay

· y

0



(5)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Image, Init Graphics

function Image_Init_Graphics() { $this->Image=imagecreate($this->R[0],$this->R[1]); } function Image_Save($fname,$n,$destroy=TRUE) { imagepng($this->Image,$fname.".".$n.".png"); if ($destroy) { imagedestroy($this->Img); } }

O Conhecimento se aprende com os Livros e os Mestres A Sabedoria se aprende com os humildes Cora Coralina-GO

(6)

Image, Init Canvas

function Image_Init_Canvas() { $this->Image_InitGraphics $this->A=array ( -1.0*$this->R[0]/($this->r1[0]-$this->r0[0]), 1.0*this->R[0]/($this->r1[1]-$this->r0[1]) ); $this->b=array ( 1.0*$this->R[0]-$this->A[0]*$this->r0[0] -$this->A[1]*$this->r0[1] ); }

(7)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Image, Point2Pixels

function Point2Pixels($p) { return array ( $this->A[0]*p[0]+$this->b[0], $this->A[1]*p[1]+$this->b[1], ); } function Points2Pixels($ps) { foreach ($ps as $id => $p) { $ps[ $id ]=$this->Point2Pixel($p); } }

(8)

I’m a Curve because I... Curve

Equation:

F (x , y ) = 0,

(x , y ) ∈ Ω

Parametrization:

r(t) =

x(t)

y (t)



,

t ∈ I

Derivatives:

• 1st order Derivative • Tangent, Unit Tangent • Unit Normal

• Fórmula de Taylor • 2nd order Derivative • Curvature

Integrals:

(9)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Parabola

Equation:

y = ax

2

+

bx + c

Parametrization:

x(t)

y (t)



=



t

at

2

+

bt + c



,

t ∈ R

Implementation:

function Parabola($t) { return array ( $t,

$this->a*$t*$t + $this->b*t + $this->c, );

(10)

Ellipse

Equation:

x

2

a

2

+

y

2

b

2

=

1

Parametrization:

x(t)

y (t)



=

a cos t

b sin t



,

t ∈ R([0, 2π[)

Implementation:

function Ellipse($t) { return array ( $this->$a*cos($t), $this->$b*sin($t), ); }

(11)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Hyperbola

Equation:

x

2

a

2

y

2

b

2

=

1

Parametrization:

x(t)

y (t)



=

a cosh t

b sinh t



,

t ∈ R

Implementation:

function Hyperbola($t) { return array ( $this->$a*cosh($t), $this->$b*sinh($t), ); }

(12)

Divide Interval

function Get_ts($N,$t1,$t2) {

$dt=($t2-$t1)/(1.0*($N-1)); $ts=array();

for ($i=0,$t=$t1 ; $i<=$N ; $t+=$dt,$i++) {

array_push($rs,$t); }

return $ts; }

(13)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Gather Curve Points

$R: ’Lambda’ function.

Good old eval...

As unsave as your Programming Language and

Environment...

function CurvePoints($R,$N,$t1,$t2) { foreach ($this->Get_ts($N,$t1,$t2) as $t) { array_push($ps,$this->$R($t)); } return $ps; }

(14)

Curve Animation

function CurveAnimate($R,$N,$t1,$t2) { $n=0; foreach ($this->Get_ts($N,$t1,$t2) as $t) { $this->Image_Init(); $ps=$this->CurvePoints($R,$n,$t1,$t); $this->DrawPoints($ps); $this->Image_Destroy($R,$n++); } system (

"usr/bin/convert -loop 0 -delay 5 ". $R."*.png ".$R.".gif"

); }

(15)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Cycloids

Circle Rolling on a Line

r(t) =

x(t)

y (t)



=

 r (t − sin t

r (1 − cos t



,

t > 0

• function Cicloid($t) { return array ( $this->r*($t-sin($t)), $this->r*(1.0-cos($t)) ); }

O bem que a violência faz é passageiro. O mal que ela faz é permanente. Mahatma

(16)

Cycloid

Figure:Animations/Cycloid.gif

(17)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Cycloid

Figure: Animations/Cycloid_Poop.gif

Dia que bosta vale ouro Os pobres todos nascerão sem... Grafiti

(18)

Physics....

Velocity:

r

0

(t) =

v(t) =

x

0

(t)

y

0

(t)



Acceleration:

r

00

(t) =

a(t) =

x

00

(t)

y

00

(t)



Taylor’s Formula:

r(t) = r(t

0

) +

r

0

(t

0

)(t − t

0

) +

1

2

r

00

(t

0

)(t − t

0

)

2

+

o



(t − t

0

)

2



Newton II:

m

r

00

(t) =

F

ext

(19)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Derivatives, Cycloid

Figure:Animations/Cycloid_Derivatives.gif

Deus não preocupa-se com as nossas dificuldades matemáticas... Ele integra empiricalmente. Einstein

(20)

Derivatives

function Df($func,$t,$eps) { return ($this->$func($t+$eps)-$this->$func($t-$eps)) / (2.0*$eps); } function D2f($func,$t,$eps) { return ( $this->Df($func,$t+$eps)-$this->Df($func,$t-$eps) ) / (2.0*$eps); }

(21)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Accompanying Coordinate System

Unit Tangent:

t(t) =

r

0

(t)

|r

0

(t)|

Transverse:

a =

a

x

a

y



b

a =

−a

y

a

x



Unit Normal:

n(t) = bt(t)

Sistema ortonormal: (

r(t), t(t), n(t)).

(22)

ACS, Cycloid

Figure:Animations/Cycloid_ACS.gif

Vive como se fosse morrer amanhã. Estude como se fosse viver para sempre. Einstein

(23)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Curvature

Lines doesn’t curve...

Circles curves constantly: κ = 1/R.

Regular Curve:

r

0

(t) 6=

0.

Curvature:

κ(t) =

x

0

y

00

− x

00

y

0

x

02

+

y

02

3/2

• Ratio: ρ(t) = 1/κ(t) • Curvature Vector: c(t) = ρ(t)c(t) • Center of Curvature: rc(t) =r(t) + c(t) • Oscillating Circle: (x − xx)2+ (y − yc)2= ρ2 • Evolute: [ t∈I rc(t)

(24)

Oscillating Circle

(25)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Oscillating Circle, Curvature Vector

Figure: Animations/Circle_Oscillating.gif

(26)

Cycloid & Evolute

Figure:Animations/Cycloid_Evolute.gif

(27)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Trochoids

Rolling circle ratio, a > 0.

Poop ratio, b > 0.

r(t) =

x(t)

y (t)



=

at − (a + b) sin t

a − (a + b) cos t



• function Trochoid($t) { return array ( $this->a*$t-($this->a+$this->b)*sin($t)), $this->a -($this->a+$this->b)*cos($t)) ); }

(28)

Trochoids

Figure: Animations/Trochoid.gif

A seriedade dos acontecimentos da minha epoca, me enche de esperanças... Marx

(29)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Trochoids

Figure:Animations/Trochoids.gif

Divide um maçã, que cada um fica com metade. Divide uma idéia... Compartilhe seus conhecimentos!

(30)

Epicycloid

Fixed Circle, radius R;

Circle, radius r , rolling outside;

ρ =

R + r e ω =

R+rr

=

ρr

r(t) =

x(t)

y (t)



=

ρ cos t − r cos ωt

ρ

sin t − r sin ωt



• function Epicicloid($t) { return array ( $this->rho*cos($t)-$this->r*cos($this->omega*$t), $this->rho*sin($t)-$this->r*sin($this->omega*$t) ); }

(31)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

(32)

Cardioid:

R = r .

Figure: Animations/Cardioid.gif

É melhor que o povo não saiba, como se fazem leis e salsichas Otto von Bismarck

(33)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Epitrochoid

Poop size b > 0.

ρ =

R + r ;

σ =

R + r + b;

r(t) =

x(t)

y (t)



=

ρ cos t − σ cos ωt

ρ

sin t − σ sin ωt



= ρ

e(t) − σe(ωt)

Angular Velocity: ω =

ρr

;

• function Epicicloid($t) { return array ( $this->rho*cos($t)-$this->sigma*cos($this->omega*$t), $this->rho*sin($t)-$this->sigma*sin($this->omega*$t) ); }

(34)

Figure: Animations/Epitrochoid.gif, R = 5r , r = 5b.

Quem leva braincadeira somente por brincadeira. E sério somente serio. De fato, desentendeu ambos. Piet Hein

(35)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Epitrochoids

(36)

Hypocycloid

Circle, radius r , rolling inside a circle, radius R;

ω =

R−rr

r(t) =

x(t)

y (t)



=

(R + r ) cos t + r cos ωt

(R + r ) sin t + r sin ωt



• function Hypocicloid($t) { return array ( $this->rho*cos($t)+ $this->r*cos($this->omega*$t), $this->rho*sin($t)+ $this->r*sin($this->omega*$t) ); }

(37)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

(38)

Hypotrochoid

Poop size b > 0

r(t) =

x(t)

y (t)



=

(R + r ) cos t + (b + r ) cos ωt

(R + r ) sin t + (b + r ) sin ωt



• function Hypotrochoid($t) { return array ( $this->rho*cos($t)+ ($this->r+$this->b)*cos($this->omega*$t), $this->rho*sin($t)+ ($this->r+$this->b)*sin($this->omega*$t) ); }

(39)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

(40)

Circle, radius

R, Rolling on a Curve,

r(t)

Arc Length, s(t):

s(t) − s(t

0

) =

Z

t t0

|r

0

(t)| dt

Rolling Circle Center:

R

c

(t) =

r(t) + Rn(t)

Rolling point angle:

θ =

s(t) − s(t

0

)

R

Unit Vector:

e(θ) =

cos θ

sin θ



Rolling Point:

R(t) = r(t) + Rn(t) + Re(θ)

(41)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Circle Rolling on a Parabola

(42)

Rolling on

y = sin(x )

(43)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Rolling on

y = x (x − 1)(x − 2)

(44)

Rolling outside a Hiperbola

(45)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Rolling inside a Hiperbola

(46)

Lisajous

(47)

MADE INLATEX. OLEPETERSMITH, IME/UFG [email protected]

Life sure is a Mystery to be Lived

Referências

Documentos relacionados

Absorção pelas raízes: uma visão transversal No solo os nutrientes minerais se movem para a superfície radicular dissolvidos tanto no fluxo de massa de água como por difusão. Assim,

Practice-based research studies may have a wide range of designs, being used for several different purposes, such as asking dentists about their choices in clinical

En el caso de baterías de arranque de libres de mantenimiento (baterías de plomo), es preciso controlar el proceso de carga y desconectar el aparato al alcanzar la tensión de fi n

The population of active employer enterprises has been growing steadily in Portugal over more than 20 years, especially due to the contribution of smaller sized firms, but a

materiais em qualquer das dependências e ou momento da prova prática implicará a desclassificação do candidato. Os candidatos, ao comparecer à prova prática,

Avenida Domingos da Costa Lopes, 780 – Jardim Itaipu – Tupã/SP Fone: (14) 3404-4200 Fax: (14) 3404-4201 Site: www.tupa.unesp.br Curso de Administração Informações da

This report concerns two cases of cutaneous mucinosis in patients with mixed connective tissue disease in remission; one patient presented the papular form, and the other

Histopathologic findings were consistent with PG adjacent to the renal parenchyma with a dense granular and mononuclear infiltrate, xanthomatous macrophages and a large area of