Figur (Koch'sche Schneeflocke)
Übersicht

![]() |
SmilyBetreff: Figur (Koch'sche Schneeflocke) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mal wieder einen code für eine kleine grafik fabriziert:
Die entstehende Figur hatte auch irgendeinen namen. An diesen kann mich nur leider nicht mehr erinnern ![]() Code: [AUSKLAPPEN] Graphics 1024,768,16,1
Setbuffer backbuffer() x1 = 0 x2 = 1024 y1 = 600 y2 = 600 c = 6 Repeat If KeyHit(203) c = c - 1 If KeyHit(205) c = c + 1 If c < 0 c = 0 cls sline x1,y1,x2,y2,c Line MouseX()-5,mousey()-5,mousex()+5,mousey()+5 Line MouseX()-5,mousey()+5,mousex()+5,mousey()-5 If MouseDown(1) x1 = MouseX(): y1 = MouseY() If MouseDown(2) x2 = MouseX(): y2 = MouseY() Flip 0 Until KeyHit(1) WaitKey() Function sline(x1,y1,x2,y2,c) ; Line x1,y1,x2,y2 ab = Sqr((x2-x1)^2 + (y2-y1)^2) ri = ATan2(y2-y1,x2-x1) xt1 = x1+cos(ri)*ab/4 yt1 = y1+sin(ri)*ab/4 xt2 = x2-cos(ri)*ab/4 yt2 = y2-sin(ri)*ab/4 mx = (x1+x2)/2 my = (y1+y2)/2 tx = mx-cos(ri+90)*ab/2 ty = my-sin(ri+90)*ab/2 Line x1, y1, xt1, yt1 If c sLine xt1,yt1,tx,ty, c-1 sLine tx,ty,xt2,yt2, c-1 Else Line xt1,yt1,tx,ty Line tx,ty,xt2,yt2 End if Line xt2, yt2, x2, y2 End function |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
- Zuletzt bearbeitet von Smily am Mo, Jul 02, 2007 18:19, insgesamt 3-mal bearbeitet
Froggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sieht mir nach einem Fraktal aus.
Du solltest übrigens Setbuffer Backbuffer() in die zweite Programmzeile schreiben, da sonst bei Flip nichts angezeigt wird. EDIT: Wenn du jetzt noch hinkriegst, dass man das immer mehr verästeln kann, dann ist es richtig geil. |
||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
dass das eine fraktal ist weis ich auch. Aber diese Spezielle figur hatte auch einen namen. (Ich glaube sie wurde nach dem Erfinder benannt)
Ich hab übrigens die hauptschleife mal überarbeitet, um zu zeigen, dass das teil in echtzeit funktioniert ![]() mit linker + rechter maustaste können start und endkoordinaten der figur angegeben werden. |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Froggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jetzt könntest du ja auch noch programmieren, dass man mit linker bzw. rechter Pfeiltaste die Verästelung verringert bzw. Erhöhen kann. Bei einem Fraktal kann man da ja unendlich viele Verästelungen machen. | ||
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Froggy hat Folgendes geschrieben: Jetzt könntest du ja auch noch programmieren, dass man mit linker bzw. rechter Pfeiltaste die Verästelung verringert bzw. Erhöhen kann. Bei einem Fraktal kann man da ja unendlich viele Verästelungen machen.
schon geschehen ![]() |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
Froggy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Geil, echt voll gelungen.
Aber es gibt ja noch mehr Fraktale ![]() |
||
FWeinbehemals "ich" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja ich kannte den namen auch mal aber leider weiß ich ihn jetzt auch nicht mehr ^^ | ||
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs |
ke^kx |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich kanns mir von hier jetzt nicht anschauen (bin in der Schule ![]() Jiriki |
||
http://i3u8.blogspot.com
Asus Striker II Intel Core2Quad Q9300 @ 2,5 GHz (aber nur zwei Kerne aktiv aufgrund der Instabilität -.-) Geforce 9800 GTX 2GB RAM |
![]() |
Moep |
![]() Antworten mit Zitat ![]() |
---|---|---|
Müsste die Koch-Flocke sein^^ | ||
Hardstyle Schleichwerbung:
http://www.youtube.com/user/Hackepeter42 Achtung: Suchtgefahr! moep123.ohost.de |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab auch mal ein Fraktal programmiert (für die schule)
Code: [AUSKLAPPEN] Graphics 1280,1024,16,1
Type entity Field x#,y#,dir#,scale# Field handled, art ;Art: 1 = Quadrat, 2 = Dreieck End Type Const variante = 1 ;1 = In eine Richtung, 2 = in 2 Richtungen If variante = 1 Then t.entity = New entity t\x# = 580 t\y# = 900 t\dir# = 0 t\scale# = 180 t\handled = 0 t\art = 1 Else t.entity = New entity t\x# = 580 t\y# = 602 t\dir# = 0 t\scale# = 100 t\handled = 0 t\art = 1 t.entity = New entity t\x# = 680 t\y# = 602 t\dir# = 180 t\scale# = 100 t\handled = 0 t\art = 2 EndIf Const tiefe = 50 Const logtype = 2 ;0=kein, 1=write, 2=text Const waitk = 0 ;waitkey enabled/disabled For i = 0 To tiefe If logtype = 1 Then Write i+";" EndIf If logtype = 2 Then Color 0,0,0 Rect 9,9,100,20 Color 255,255,255 Text 10,10,i+"/"+tiefe EndIf For t.entity = Each entity ;DREIECK If KeyHit(1) Then End If t\handled = 0 Then If t\art = 2 Then t\handled = 1 ;drawtriangle(t\x#,t\y#,t\dir#,t\scale#) e.entity = New entity e\x# = t\x# e\y# = t\y# e\dir# = t\dir#-37 e\scale = t\scale*.8 e\handled = 0 e\art = 1 e.entity = New entity e\x# = t\x#+Cos(t\dir#-37)*t\scale#*.8 e\y# = t\y#+Sin(t\dir#-37)*t\scale#*.8 e\dir# = t\dir#+53 e\scale = t\scale*.6 e\handled = 0 e\art = 1 Delete t.entity EndIf EndIf Next For t.entity = Each entity ;QUADRATE If KeyHit(1) Then End If t\handled = 0 Then If t\art = 1 Then t\handled = 1 drawquad(t\x#,t\y#,t\dir#,t\scale#) e.entity = New entity e\x# = t\x#+Cos(t\dir#-90)*t\scale e\y# = t\y#+Sin(t\dir#-90)*t\scale e\dir# = t\dir# e\scale = t\scale e\handled = 0 e\art = 2 Delete t.entity EndIf EndIf Next If i = tiefe Then Text 640,10,"FERTIG",1,1 If waitk Then WaitKey Next WaitKey ;#### FUNCTIONS #### Function drawtriangle(x#,y#,dir#,scale#) up1# = Sin(dir#)*scale# rig1# = Cos(dir#)*scale# up2# = Sin(dir#-37)*scale#*.8 rig2# = Cos(dir#-37)*scale#*.8 Line(x#,y#,x#+rig1#,y#+up1#) Line(x#,y#,x#+rig2#,y#+up2#) Line(x#+rig2#,y#+up2#,x#+rig1#,y#+up1#) End Function Function drawquad(x#,y#,dir#,scale#) uppast# = y# rigpast# = x# For i = 0 To 270 Step 90 uppast# = uppast#+up# rigpast# = rigpast#+rig# up# = Sin(dir#-i)*scale# rig# = Cos(dir#-i)*scale# Line(rigpast#,uppast#,rigpast#+rig#,uppast#+up#) Next End Function Is das Pythagoras-Fraktal |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
WaveblueBetreff: Re: Figur (kA name ist mir entfallen o.O) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Smily0412 hat Folgendes geschrieben: Die entstehende Figur hatte auch irgendeinen namen. An diesen kann mich nur leider nicht mehr erinnern
![]() Hm, wars nicht das Apfelmännchen? |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mir mal erlaubt, den namen im Titel zu ergänzen ![]() |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group