Español
Foro

Mathe: Winkelberechnung

 
- Página 1 -


Hey podría me Por favor, uno el deutlich mehr matemáticamente gebildeten XProfan en el Sprünge helfen ? Yo sehe el Wald antes Bäumen no mehr

Alles Yo voluntad es una schnelle Función de el Strecke xy,xxyy me el winkel (360°!) zurückliefert.

Mein Code funktioniert ya - naja fast.
KompilierenMarcaSeparación
CLS

WHILE 1

    CLS
    PRINT WNK(100,100,%MOUSEX,%MOUSEY)
    SLEEP 100

ENDWHILE

WAITKEY

proc WNK

    PARAMETERS X&,Y&,XX&,YY&
    var T!=0

    IF XX&<X&

        RETURN WNK(XX&,Y&,X&,YY&)

    ENDIF

    IF YY&<Y&

        RETURN WNK(X&,YY&,XX&,Y&)

    ENDIF

    LINE X&,Y& - XX&,YY&
    var DX!=XX&-X&
    var DY!=YY&-Y&
    T!=(SQRT(DX!*DX!+DY!*DY!))

    IF YY&<XX&

        T!=RAD2DEG(SINH(DY!/T!))

    ELSE

        T!=45+(45-RAD2DEG(SINH(DX!/T!)))

    ENDIF

    RETURN T!

endproc

proc RAD2DEG

    PARAMETERS ANGLE!
    RETURN (180 / @PI()) * ANGLE!

endproc

proc SINH

    PARAMETERS ANGLE!
    RETURN (@EXP(ANGLE!) - @EXP(-ANGLE!)) / 2

./../function-references/XProfan/ENDPROC/'>ENDPROC

 
05.12.2006  
 



 
- Página 3 -


WO 270 es es Wurst! ¿Puede Usted gerne hacer como mejor wäre!
 
05.12.2006  
 



Nur veces nebenbei el passende Gegenstück me está auch grad gelungen ^ ^
KompilierenMarcaSeparación
const myPI:=3.1415926535897932384626433832795
float cos_outpx,cos_outpy

proc getcircp(float xp,yp,r,w)

    cos_outpx:=((((r*sin(((-1*(((-1+w)*myPI)+myPI))/180))))*-1)+xp)
    cos_outpy:=((((r*cos(((-1*(((-1+w)*myPI)+myPI))/180))))*-1)+yp)

end
a>

KompilierenMarcaSeparación
var COS_OUTPX!=0
var COS_OUTPY!=0

proc GETCIRCP

    PARAMETERS XP!,YP!,R!,W!
    COS_OUTPX!=((((R!*SIN(((-1*(((-1+W!)*3.1415926535897932384626433832795)+3.1415926535897932384626433832795))/180))))*-1)+XP!)
    COS_OUTPY!=((((R!*COS(((-1*(((-1+W!)*3.1415926535897932384626433832795)+3.1415926535897932384626433832795))/180))))*-1)+YP!)

ENDPROC

Okok en Klammern reden wir no! *g*
 
05.12.2006  
 



Jupp lol algo como braucht el Welt *gg*
KompilierenMarcaSeparación
 {$cleq}
const myPI=3.1415926535897932384626433832795
float cos_outpx,cos_outpy,w
cls

while 1

    cls
    w:=wnk(100,100,mousex,mousey,false)
    print int(w),"°  "
    getcircp 100,100,50,w+90
    drawtext cos_outpx,cos_outpy,"+"
    sleep 50

wend

waitkey

proc wnk(float x1,y1,x2,y2,int mode)

    float dx=x2!-x1!
    float dy=y2!-y1!
    line x1,y1 - x2,y2
    case (dx<0) and (dy<0) : return wnk(x2,y2,x1,y1,3)
    case dx<0 : return wnk(x2,y1,x1,y2,1)
    case dy<0 : return wnk(x1,y2,x2,y1,2)
    casenot dx : dx=0.0000001
    casenot dy : dy=0.0000001
    float w=arctan(dy/dx)*57.295779513082320876798154814105

    if (mode==1)

        w:=90+(90-w)

    elseif (mode==2)

        w:=360-w

    elseif (mode==3)

        w:=180+w

    endif

    return w

endproc

proc Winkel

    Parameters x1!,y1!,x2!,y2!
    declare dx!,dy!
    dx!=x2!-x1!
    dy!=y2!-y1!

    if Abs(dx!)<Abs(dy!)

        Return (Pi()/2-ArcTan(dx!/dy!)+If((dx!<0) | (dy!<0),Pi(),0))/Pi()*180

    else

        Return (ArcTan(dy!/dx!)+If((dx!<0) | (dy!<0),Pi(),0))/Pi()*180

    endif

endproc

proc getcircp(float xp,yp,r,w)

    cos_outpx:=((((r*sin(((-1*(((-1+w)*myPI)+myPI))/180))))*-1)+xp)
    cos_outpy:=((((r*cos(((-1*(((-1+w)*myPI)+myPI))/180))))*-1)+yp)

s4 href='./../../funktionsreferenzen/XProfan/ENDPROC/'>ENDPROC

 
05.12.2006  
 




Hubert
Binnewies
Also, Yo bin el Meinung, el meiste Prozessorzeit va en komplizierten Berechnungen como Sinus & Co en él.
Darum halte Yo ya que mein verstorbener Vater (él war Berufskraftfahrer) siempre dijo ha: Der kürzeste Weg es no siempre el Schnellste !.

Pensé me: en X,Y XX,y YY,X erhält uno siempre una rechtwinkliges Dreieck.
Wenn Yo Su erstes Proggi genauer ansehe es como XX siempre grösser como X y YY siempre grösser como Y.
Demzufolge braucht uno salvo ne Wurzel el Proz sólo Grundrechenarten a beauftragen, el él bastante rápidamente berechnen kann.
Erst el einfachen Pythagoras a Hypothenuse a berechnen y luego una Páginas-Winkelverhältnis.

Und debería X doch veces grösser voluntad como XX entonces nimm simplemente X-XX veces -1 y el Winkel plus 90 .
Und debería Y doch veces grösser ser como YY entonces nimm simplemente Y-YY veces -1 y zieh el Ergebniss de 360 Grad de... y ya passt lo...

Das todo passt entonces en el Formel en el Bild.

Im Programmtechnischen Umsetzen bist Usted mejor Yo...

Hubert

3 kB
Kurzbeschreibung: Gleichung
Hochgeladen:06.12.2006
Ladeanzahl172
Descargar
 
WinXP Prof, XProfan 9.1 Newbie

Ein kluger Kopf sagte mal:
"Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!"
06.12.2006  
 



Yo glaub el isses Yo se llevó a cabo y yo finde Su Pa hatte así sicherlich oft bastante.
 
06.12.2006  
 




Hubert
Binnewies
[quote:1a7341c7f9=iF]Yo glaub el isses Yo se llevó a cabo[/quote:1a7341c7f9]
na eben no.....
Usted nutzt el Características para umrechnen en el Bogenmaß en Sinus y Cosinus a nutzen....

Lass el doch alles weg....
Brauchst du doch garnicht...
Setz simplemente mi Formel en.. sólo el Pagar, entonces kommt direkt como Antwort el Gradzahl fuera..
va doch viel fixer....
y el auch todavía soweit como du @Conjunto(Decimals,N) setzt.....

Yo meinte así: Usted nutzt el direkten Berechnungsweg, necesidad dafür aber el Umrechnung en el Bogenmaß y el Sinus.

In meiner Formel se alles en 2 Schritten berechnet (Pythagoras y Verhältniss), aber dafür sin Beachtung el Einheiten, womit el rechenintensiven Operationen como @Deg2Rad(N) oder @Sin(N) wegfallen...

Hubert
 
WinXP Prof, XProfan 9.1 Newbie

Ein kluger Kopf sagte mal:
"Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!"
06.12.2006  
 



sqrt( ( (xx-x)² + (yy-y)² ) / (xx-x) )*90 ? Algo como?
 
06.12.2006  
 




Hubert
Binnewies
Bingo.....
 
WinXP Prof, XProfan 9.1 Newbie

Ein kluger Kopf sagte mal:
"Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!"
06.12.2006  
 




RGH
Und en XProfan se de el Formal entonces esta Línea:
KompilierenMarcaSeparación
!a! = (90 * sqrt((xx% - x%)^2 + (yy% - y%)^2)) / (xx% - x%)
>

Einen Tick más rápido tal vez con el Sqr()-Función:
KompilierenMarcaSeparación
!a! = (90 * sqrt(sqr(xx% - x%) + sqr(yy% - y%))) / (xx% - x%)
>

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
06.12.2006  
 




Hubert
Binnewies
y alles sin grad umrechnung....
gehts todavía más rápido???
 
WinXP Prof, XProfan 9.1 Newbie

Ein kluger Kopf sagte mal:
"Nach dem derzeitigen Stand der Technik ist es unmöglich Programme zu schreiben, die fehlerfrei laufen!"
06.12.2006  
 



So - nun erfüllt Eure Formel aber desafortunadamente siempre todavía no el Zweck des Hilos hier - qué esta aber tut:
KompilierenMarcaSeparación
proc WNK

    PARAMETERS X1!,Y1!,X2!,Y2!,MODE%
    var DX!=X2!-X1!
    var DY!=Y2!-Y1!
    LINE X1!,Y1! - X2!,Y2!

    IF (DX!<0) AND (DY!<0)

        RETURN WNK(X2!,Y2!,X1!,Y1!,3)

    ENDIF

    IF DX!<0

        RETURN WNK(X2!,Y1!,X1!,Y2!,1)

    ENDIF

    IF DY!<0

        RETURN WNK(X1!,Y2!,X2!,Y1!,2)

    ENDIF

    IFNOT DX!

        DX!=0.0000001

    ENDIF

    IFNOT DY!

        DY!=0.0000001

    ENDIF

    var W!=ARCTAN(DY!/DX!)*57.295779513082320876798154814105

    IF (MODE%=1)

        W!=90+(90-W!)

    ELSEIF (MODE%=2)

        W!=360-W!

    ELSEIF (MODE%=3)

        W!=180+W!

    ENDIF

    RETURN W!

ENDPROC


Also como debería lo porque nun lauten?
 
06.12.2006  
 



Also tal vez una vez más a Aufgabenstellung - Yo como MatheUnProfi habe o.G. Función erstellt welcher Yo el Koordinaten para una Linie übergebe y el Winkel erhalte. Ohne Wenn y Aber necesario el Werte 0°-360° zurückgeliefert voluntad - Umsprung-y-Übergangsfliessend.

So como yo sehe brauche Yo dafür sólo el Arcustangens - una Multipli y Division. Kann una MatheProfi el verbessern?
 
06.12.2006  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

4.550 Views

Untitledvor 0 min.
Michael W.23.12.2016
Julian Schmidt25.11.2013
holmol9310.05.2013
Andreas Koch07.11.2012
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie