Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Obliczanie współrzędnych, układ kartezjański ?
snerf
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 30.03.2014

Ostrzeżenie: (0%)
-----


hej

na początku dodam że jestem ZIELONY z matematyki i nigdy jej nie zrozumiem (IMG:style_emoticons/default/smile.gif)

(IMG:http://images.stimax.pl/i7/ukladhuh.png)
Oś Z to obracany u mnie kąt B

Przykładowe dane
VZOFX[1]=000.000 VZOFY[1]=421.0000 VZOFZ[1]=185.000 ( B0 )

Po obliczeniu np kąta B122 powinno wyjść coś takiego
VZOFX[3]=-55.971 VZOFY[3]=421.000 VZOFZ[3]=-34.975 ( B122 )
inne przykładowe cyferki
VZOFX[4]=58.275 VZOFY[4]=421.000 VZOFZ[4]=-30.985 ( B242 )
VZOFX[5]=-66.000 VZOFY[5]=421.000 VZOFZ[5]=000.000 ( B90 )
VZOFX[6]=33.000 VZOFY[6]=421.000 VZOFZ[6]=57.158 ( B330 )
VZOFX[7]=185.000 VZOFY[7]=421.000 VZOFZ[7]=000.000 ( B270 )

jak napisać algorytm na postawie "sinus cosinus" który po podaniu współrzędnych X Z wyliczy mi dowolny kąt od 0 do 359* (IMG:style_emoticons/default/questionmark.gif)
Z formularzem i samym kodem sobie poradzę ale jak wspomniałem matematyk zemnie taki że kalkulator potrafię odpalić (IMG:style_emoticons/default/wink.gif)

pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 807
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


Po drugiej stronie Z powinno mieć -185 - tak jest dla standardowego układu w trzech wymiarach. Nie wiem na czym polega działanie Twojego modelu.

Jeśli tak, to równania na obrót wokół osi Y wyglądają następująco:
x2=cos(kat)*x-sin(kat)*z
y2=y
z2=sin(kat)*x+cos(kat)*z

co daje:
x2=-1*0-0*185=0
y2=421
z2=0*0+(-1)*185=-185

Może Ci to w jakiś sposób pomoże.
Go to the top of the page
+Quote Post
snerf
post
Post #3





Grupa: Zarejestrowani
Postów: 74
Pomógł: 3
Dołączył: 30.03.2014

Ostrzeżenie: (0%)
-----


Cytat(trueblue @ 19.09.2018, 19:58:47 ) *
Po drugiej stronie Z powinno mieć -185 - tak jest dla standardowego układu w trzech wymiarach. Nie wiem na czym polega działanie Twojego modelu.

Jeśli tak, to równania na obrót wokół osi Y wyglądają następująco:
x2=cos(kat)*x-sin(kat)*z
y2=y
z2=sin(kat)*x+cos(kat)*z

co daje:
x2=-1*0-0*185=0
y2=421
z2=0*0+(-1)*185=-185

Może Ci to w jakiś sposób pomoże.


dzięki za zaangażowanie (IMG:style_emoticons/default/smile.gif)

  1. <?php
  2. function Getasinh($kat, $x, $z)
  3. {
  4.  
  5. $show_x = cos($kat)*$x-sin($kat)*$z;
  6. $show_z = sin($kat)*$x+cos($kat)*$z;
  7.  
  8. return 'os X ['.$kat.']: '.$show_x.' <br>os Z ['.$kat.']: '.$show_z.'<br>';
  9. }
  10. echo '<hr> '.Getasinh(180, 0, 185);
  11. ?>


zwraca mi:
os X [180]: 148.21323761076
os Z [180]: -110.7151127757

a x pownien 0 , z 185

kąt 330:
os X [330]: 24.490601403009
os Z [330]: -183.37178202471


a powinien:
X[6]=33.000 Z[6]=57.158 ( B330 )


Pytałeś skąd mam te dane:
Są to współrzędne obrabiarki wyliczone przez nią na podstawie kąta np 0 w tym wypadku

Ten post edytował snerf 19.09.2018, 19:29:03
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 12:22