Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

terzo vertice triangolo equilatero

743 views
Skip to first unread message

r

unread,
Mar 29, 2011, 6:58:06 PM3/29/11
to
dati 2 punti, vertici di un triangolo equilatero
p0(x0,y0)
p1(x1,y1)

devo calcolare le coordinate del terzo vertice, mi interessa solo la
soluzione per il punto a sinistra del lato p0p1.
Qualunque suggerimento è gradito.
Grazie
r

fm2766

unread,
Mar 29, 2011, 7:13:35 PM3/29/11
to
> Qualunque suggerimento č gradito.
> Grazie
> r
Ci sono vari modi.
Il primo che mi viene in mente č quello di porre il terzo punto
P3(x3,y3), con x3 ed y3 incognite, ed eguagliare le distanze
dei segmenti P0P3 e P1P3. Troverai entrambe le intersezioni (non capisco
che vuol dire: "a sinistra")

Maurizio Frigeni

unread,
Mar 30, 2011, 3:45:11 AM3/30/11
to
r <robb...@gmail.com> wrote:

> dati 2 punti, vertici di un triangolo equilatero
> p0(x0,y0)
> p1(x1,y1)
>
> devo calcolare le coordinate del terzo vertice, mi interessa solo la
> soluzione per il punto a sinistra del lato p0p1.

x = (x1 + x0)/2 - sqrt(3)(y1 - y0)/2,

y = (y1 + y0)/2 + sqrt(3)(x1 - x0)/2.

Questo si ottiene ruotando il vettore p0p1 di 60° in senso antiorario
intorno a p0, ammesso che sia questo ciò che tu intendi per "sinistra".

Maurizio

--
Per rispondermi via e-mail togli l'ovvio.

r

unread,
Mar 30, 2011, 4:56:30 AM3/30/11
to
On 30 Mar, 09:45, frigeni_ovvio@tiscali_ovvio.it (Maurizio Frigeni)
wrote:

eccellente, quello che cercavo!
ieri sera, spero colpa dell'ora :-) mi ero perso in bicchiere d'acqua!
grazie ... 1000 a entrambi
saluti
r

Pedro Peraria

unread,
Mar 30, 2011, 5:16:03 AM3/30/11
to
>> devo calcolare le coordinate del terzo vertice, mi interessa solo la
>> soluzione per il punto a sinistra del lato p0p1.
>
> x = (x1 + x0)/2 - sqrt(3)(y1 - y0)/2,
>
> y = (y1 + y0)/2 + sqrt(3)(x1 - x0)/2.
>

nel caso piu' generale dati i vertici P(x0,y0) e P(x1,y1) del lato L3 ed
essendo gli altri due lati L1 e L2
le coordinate del vertice P(x3,y3) sono

[essendo A l'area del triangolo]:

x3=1/(2L3^2)(4A(y0-y1)-x0(L1^2-L2^2-L3^2)+x1(L1^2-L2^2+L3^2))
y3=1/(2L3^2)(4A(x1-x0)-y0(L1^2-l2^2-l3^2)+y1(L1^2-L2^2+L3^2))


il triangolo equilatero L1=L2=L3 e' un caso particolare dove appunto

x3=(x0+x1-sqrt(3)(y1-y0))/2
y3=(y0+y1+sqrt(3)(x1-x0))/2


nel caso del triangolo isoscele con L1=L2 = a*L3

si poteva dire

x3=(x0+x1-sqrt(4*a^2-1)(y1-y0))/2
y3=(y0+y1+sqrt(4*a^2-1)(x1-x0))/2

con a=1 per il triangolo equilatero.

.. ma perche' tutto questo? .. bohh!!! :-P


r

unread,
Mar 30, 2011, 7:42:06 AM3/30/11
to
On 30 Mar, 11:16, "Pedro Peraria" <PedroPera...@peritopereira.com>
wrote:

stavo facendo un lavoretto con excel ... si tratta del fiocco di neve
di koch ... grazie al vostro aiuto ho finito prima :-)
per chi interessato, questo il link dove scaricare il file excel 2007
https://sites.google.com/site/e90e50/random-topics/fiocco-di-neve-di-koch

questo invece il codice vba utilizzato di volta in volta per generare
la serie del grafico:

Sub test()
Dim tr(3, 1)
Dim res(), i As Long, l As Long

tr(0, 0) = 0
tr(0, 1) = 0
tr(1, 0) = 0.5
tr(1, 1) = VBA.Sqr(3) / 2
tr(2, 0) = 1
tr(2, 1) = 0
tr(3, 0) = 0
tr(3, 1) = 0

l = [livello]
[a2:b1000000].Clear

If l Then
res = k(tr)
For i = 2 To l
res = k(res)
Next
Else
res = tr
End If

[a2].Resize(UBound(res, 1) + 1, 2) = res
End Sub


Function k(tr())
Dim res(), v, i As Long, l As Long, t

ReDim res(UBound(tr, 1) * 4 + 2, 1)
For i = 1 To UBound(tr, 1)
v = Dividi_segmento(tr(i - 1, 0), tr(i, 0), tr(i - 1, 1), tr(i,
1))
For l = 1 To UBound(v) + 1
res(t, 0) = v(l - 1, 0)
res(t, 1) = v(l - 1, 1)
t = t + 1
Next
Next
res(t, 0) = tr(0, 0)
res(t, 1) = tr(0, 1)
k = res
End Function


Function Dividi_segmento( _
x_1, _
x_2, _
y_1, _
y_2)

Dim xx, yy, res(3, 1)

xx = x_2 - x_1
yy = y_2 - y_1

res(0, 0) = x_1
res(0, 1) = y_1
res(1, 0) = xx / 3 + x_1
res(1, 1) = yy / 3 + y_1
res(2, 0) = (xx + 2 * x_1) / 2 - VBA.Sqr(3) * (yy / 3) / 2
res(2, 1) = (yy + 2 * y_1) / 2 + VBA.Sqr(3) * (xx / 3) / 2
res(3, 0) = xx * 2 / 3 + x_1
res(3, 1) = yy * 2 / 3 + y_1

Dividi_segmento = res
End Function


probabilmente migliorabile ...

saluti
r

Pedro Peraria

unread,
Mar 30, 2011, 11:44:40 AM3/30/11
to
>stavo facendo un lavoretto con excel ... si tratta del fiocco di neve
>di koch ... grazie al vostro aiuto ho finito prima :-)

per i frattali di questo tipo e' più semplice usare Fractint.
Ad esempio per il fiocco di Koch basta usare i comandi tartaruga del sistema
Lsystem e scrivere

Angle 6
Axiom F--F--F
F=F+F--F+F


a proposito, il fiocco ha un area finita racchiusa in un perimetro
infinito.. sara' un paradosso? ;-)


r

unread,
Mar 30, 2011, 12:34:48 PM3/30/11
to
On 30 Mar, 17:44, "Pedro Peraria" <PedroPera...@peritopereira.com>
wrote:

io sono appassionato di excel ... mi concentro su questo
sui frattali non sono certo un esperto, li ho scoperti ieri sera :-)
credo approfondirò il tema che mi sembra assai intrigante ...
e magari chiederò ancora aiuto a voi esperti
saluti
r

0 new messages