Français
Forum

Mathe: Winkelberechnung

 
- page 1 -


Hey pourrait mir s'il te plaît einer qui deutlich plus mathématique gebildeten XProfaner sur qui Sprünge aider ? je vois den forêt avant Bäumen pas plus

Alles quoi je veux ist une schnelle Funktion qui aus qui Strecke xy,xxyy mir den winkel (360°!) zurückliefert.

mon Code funktioniert déjà - bof presque.
KompilierenMarqueSéparation
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  
 



 
- page 5 -



Hubert
Binnewies
[quote-part:1f06939008=iF]alors doppelt so vite comment mon Ergebnis ist ungefähr cela quoi je mir vorstellte

allez cet Funktion ähnlich umzustellen?
KompilierenMarqueSéparation
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!)

endp
>
[/quote-part:1f06939008]
erkläre mir la fois lieber avec worten quoi du là trop berechnen versuchst ou bien genauer un listing wohin je es vois...
 
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  
 



bien sûr - on übergibt X et Y et une Radius et une Winkel et erhält qui neuen XY Koords.
 
06.12.2006  
 



@Frank: peux Du encore cela iTüpfelchen draufsetzen et cet Proc pour ASM portieren? (attention - doit Floats son!)
KompilierenMarqueSéparation
proc WNK2

    PARAMETERS X!,Y!,XX!,YY!
    var DX!=XX!-X!
    var DY!=YY!-Y!

    IF DX!>0

        IF DY!>0

            RETURN (90*(DY!))/SQRT((DX!)^2 + (DY!)^2)

        ELSEIF DY!<0

            RETURN 180-((90*((DY!)*-1))/SQRT((DX!)^2 + ((DY!)*-1)^2))+180

        ELSE

            RETURN 0

        ENDIF

    ELSEIF DX!<0

        IF DY!>0

            RETURN 90-((90*(DY!))/SQRT(((DX!)*-1)^2 + (DY!)^2))+90

        ELSEIF DY!<0

            RETURN 180+((90*((DY!)*-1))/SQRT(((DX!)*-1)^2 + ((DY!)*-1)^2))

        ELSE

            RETURN 180

        ENDIF

    ELSE

        IF DY!>0

            RETURN 90

        ELSEIF DY!<0

            RETURN 270

        ELSE

            RETURN 0

        ENDIF

    ENDIF

    RETURN T!

/../funktionsreferenzen/XProfan/endproc/'>endproc

 
06.12.2006  
 



avec cela vous voyez worum es eigendlich allez:

Kollision vers Wände - égal si schräg ou bien grade - quelque chose comme alles funzt déjà.

Es volonté qui XML-Maps verarbeitet qui qui MapEditor ausspuckt.

65 kB
Hochgeladen:06.12.2006
Downloadcounter36
Download
 
06.12.2006  
 




Frank
Abbing
[quote-part:141851c2a4]@Frank: peux Du encore cela iTüpfelchen draufsetzen et cet Proc pour ASM portieren? [/quote-part:141851c2a4]
Hab malheureusement wenig Zeit et patience en supplément. si je en supplément viens, dauert es mais.
 
07.12.2006  
 




Hubert
Binnewies
[quote-part:60edca93c6=iF]bien sûr - on übergibt X et Y et une Radius et une Winkel et erhält qui neuen XY Koords.[/quote-part:60edca93c6]
Darf je cela so comprendre:
X et Y sommes un Punkt dans qui Surface ausgehend de qui lenken oberen coin.
qui Radius ist qui Entfernung de X,Y trop XX,Y.
ensuite venez qui Winkel en supplément aus dem sich ensuite qui neue XX,YY Punkt errechnet qui ensuite avec dem Ursprung ( X,Y ) trop einer ligne number verbunden wird et ici qui Entfernung Radius besitzt?

ensuite habe je déjà ne Ahnung comment....
(aussi wieder einfacher comment du es mise en œuvre la hâte)

Hubert

Nachtrag: ist qui Ursprungslinie une Wagerechte, Senkrechte ou bien irgendeine ligne number?
 
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!"
07.12.2006  
 



exposition la fois peut-être cette Source zur Veranschaulichung:
KompilierenMarqueSéparation
const myPI=3.1415926535897932384626433832795
cls
float cos_outpx,cos_outpy

whileloop 0,359

    getcircp(100,100,50,loop)
    setpixel cos_outpx,cos_outpy,0
    getcircp(300,100,loop/10,loop*3)
    setpixel cos_outpx,cos_outpy,0

wend

waitkey
end

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)

endproc


KompilierenMarqueSéparation
CLS
var COS_OUTPX!=0
var COS_OUTPY!=0

WHILELOOP 0,359

    GETCIRCP(100,100,50,&LOOP)
    SETPIXEL COS_OUTPX!,COS_OUTPY!,0
    GETCIRCP(300,100,&LOOP/10,&LOOP*3)
    SETPIXEL COS_OUTPX!,COS_OUTPY!,0

ENDWHILE

WAITKEY
FIN

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

 
07.12.2006  
 




Hubert
Binnewies
PFFFFFFFFFFF.......
Schwerer Tobak.....

cela peut sich im Prinzip jusqu'à 90 Grad aussi sur un rechtwinkliges Dreieck lösen...
Einfacher wäre un gleichschenkliges, mais ensuite gibt es Probleme beim Bestimmen des Endpunktes.

MOM......

un gleichschenkliges Dreieck dans dem hc berechnet wird, womit on un rechtwinkliges erhält sur dem on den Endpunkt bestimmen peux.....

je überlege mir la fois ne Gleichung...
peux mais quoi dauern...
Is un Hirnwindungsverknoter....

Hubert

Nachtrag: je crois mais pas cela es ensuite schnelle allez, car dans deiner Routine gilt es seulement une Sinus et une Cosinus trop ersetzen, pour werde je mais mindestens 2 la fois Wurzel drinhaben....et j'ai je n'en sais rien si cela qui Routine beschleunigt....
 
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!"
07.12.2006  
 



Hey mais est OK! si DU déjà sagst es lohnt pas... ensuite bleibts comme ist!
 
07.12.2006  
 




Hubert
Binnewies
mais je trouve denoch: un Versuch ist es wert....
 
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!"
07.12.2006  
 



 
07.12.2006  
 




Hubert
Binnewies
je suis encore tour.....
je crois je viens avec einer Wurzel et ansonsten Grundrechenarten hin....
avec cela pourrait mon Formel plus rapide son comme Sinus et Cosinus....
plus demain....
là habe je avec Sicherheit une Formel et Wahrscheinlich une Routine qui IF avec Sicherheit tierisch bien optimiert.... (je crois je sollte Ihm qui listings meiner Proggis donner... il pouvoir vous plus rapide et besser...)

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!"
07.12.2006  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.535 Views

Untitledvor 0 min.
Michael W.23.12.2016
Julian Schmidt25.11.2013
holmol9310.05.2013
Andreas Koch07.11.2012
plus...

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie