JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.

[Python]

0664jester

Mitglied
hallo,

Code:
P1 = [1,3]
P2 = [3,2]
P3 = [2,1]

Ich versuche die drei punkte, die ich dann als Polygon verwende in einer Funktion zu
komplexen zahlen umzuwandeln und anschließend als neues Polygon auszugeben.

Dabei werden die komplexen zahlen mit e^alpha (alpha ist ein winkel in radiant) multiplitziert um, sie zu drehen.

Code:
def compl(X,Y):
 complex(X,Y)
 z = (real(X)+imag(Y))* (math.e)^((math.pi/2))


Irgendwie funktioniert das nicht mit x, y parameter, mir fällt da nichts besseres ein.

Meine idee wäre:
ich mache einen String
P([x1,y1],[x2,y2],[x3,y3],...)

und greife mit eine art argc auf die elemente zu.
G[1] = P[0] ---> übergebe die parameter



Gruß,
jester
Zuletzt bearbeitet:
Code:
matrix = [[1,3],[2,-2],[1,1],[1,3]] //string
i=0 //zerlege den string
while i<len(matrix):
 print matrix[i][0]
 compl(matrix[i][0],matrix[i][1],30) //zeige auf den unterschiedliche x und y werten...
 i=i+1
def compl(X,Y,alpha): //alpha ist ein winkel der 
 real = (real(X))* (math.e)^(math.radians(alpha)) //fehler: complex kann nicht mit den eckigen klammern umgehen
 imag = (imag(Y))* (math.e)^(math.radians(alpha))
 matrixnew = [real, imag] //weiß nicht ob das stimmt...

Bei der whileschleife verträgt er nicht [i][0] und [i][1].
Was kann ich anstattdessen tun?


wie kann ich ein eindimensionales array in ein 2-dimensionales umbauen?
Zuletzt bearbeitet:
Die loesung:


Code:
def rotate(X,Y,alpha):
 z = X + Y * i
 result = z * e^(i*math.radians(alpha))
 v=[real(result),imag(result)]
 return v
matrix = [[1,3],[2,-2],[1,1],[5,3]]
L=[]
n=0
while n<len(matrix):
 L.append(rotate(matrix[n][0],matrix[n][1],45))
 n=n+1
 
polygon(L)+polygon(matrix, color='red')

sage kommt mit i durcheinander da man es sonst als I fuer komplexe zahlen verwendet
Zuletzt bearbeitet:

Neue Beiträge

AltStyle によって変換されたページ (->オリジナル) /