Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws1920:cd_01 [2020/03/25 17:07] Zetraeder |
ws1920:cd_01 [2020/03/25 17:09] (aktuell) Zetraeder |
||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
====== Code: Arbeitstermin 01 ====== | ====== Code: Arbeitstermin 01 ====== | ||
- | **05.12.2019** | + | **28.12.2019** |
[[ws1920:scutoids|Home]] | [[ws1920:arbeitstermin_01|Text]] | [[ws1920:cd_02|>>]] | [[ws1920:scutoids|Home]] | [[ws1920:arbeitstermin_01|Text]] | [[ws1920:cd_02|>>]] | ||
Aktuelle Programmversion | Aktuelle Programmversion | ||
+ | |||
+ | <code python> | ||
+ | |||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | Created on Thu Nov 28 15:22:24 2019 | ||
+ | |||
+ | @author: Lukas | ||
+ | """ | ||
+ | |||
+ | import numpy as np | ||
+ | import math | ||
+ | from math import * | ||
+ | import turtle | ||
+ | import random as rn | ||
+ | from scipy.spatial import distance | ||
+ | |||
+ | ### Zuerst sollen n mal random punkte (x,y) in einem Feld maxx*maxy generiert werden und einer Liste zugewiesen werden | ||
+ | |||
+ | def generiereKernListe(n,maxx,maxy,abstand): | ||
+ | | ||
+ | liste=[] | ||
+ | for c in range(n): | ||
+ | x = rn.uniform(0,maxx) | ||
+ | y = rn.uniform(0,maxy) | ||
+ | | ||
+ | if (len(liste) > 0): | ||
+ | try: | ||
+ | for x in len(liste): | ||
+ | if (distance.euclidean(liste[x],(x,y)) < abstand == True): | ||
+ | print("good") | ||
+ | else: | ||
+ | raise Exception("Fehler") | ||
+ | liste.append((x,y)) | ||
+ | except: | ||
+ | x = rn.uniform(0,maxx) | ||
+ | y = rn.uniform(0,maxy) | ||
+ | continue | ||
+ | break | ||
+ | else: liste.append((x,y)) | ||
+ | return liste | ||
+ | |||
+ | Kerne = generiereKernListe(10,5,5,0.1) | ||
+ | print("Kerne : ",Kerne) | ||
+ | |||
+ | ### Zunächst werden Funktionen deklariert, mit deren Hilfe das Programm Linien zwischen den Punkten untersucht | ||
+ | |||
+ | def zeichneLinie(start,ende): | ||
+ | # zeichnet eine Linie zwischen start und ende mithilfe einer turtle | ||
+ | | ||
+ | turtle.penup() | ||
+ | turtle.goto(start) | ||
+ | turtle.pendown() | ||
+ | turtle.goto(ende) | ||
+ | |||
+ | | ||
+ | def richtungLinie(start,ende): | ||
+ | # gibt den Richtungsvektor von start nach ende aus | ||
+ | | ||
+ | richtung = np.subtract(ende,start) | ||
+ | return richtung | ||
+ | |||
+ | z = np.zeros(2) | ||
+ | print(np.array([1,2])) | ||
+ | |||
+ | a = (0,0) | ||
+ | b = (30,30) | ||
+ | c = (10,0) | ||
+ | d = (50,70) | ||
+ | |||
+ | #Linien = [a,b,c,d] | ||
+ | |||
+ | #zeichneLinie(a,b) | ||
+ | #zeichneLinie(c,d) | ||
+ | #print(richtungLinie(c,b)) | ||
+ | |||
+ | |||
+ | zeichneLinie((10,40),(50,90)) | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ### das eigentlihe programm | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | turtle.done() | ||
+ | |||
+ | </code> |