übercactus

If you have a design you're proud of, share the cfdg file here. It's also a good place to ask for feedback and collaborate.

Moderators: MtnViewJohn, chris, mtnviewmark

Post Reply
doofsmack
Posts: 3
Joined: Wed Jul 06, 2005 1:50 am
Contact:

übercactus

Post by doofsmack »

Image

Code: Select all

startshape main

rule main{
	CIRCLE{}
	cactus{y 0.5}
}

rule cactus 10 {
	SQUARE{}
	cactus {y 0.9 b 0.005}
	leftarm {s 0.7}
	rightarm {s 0.7}
}

rule cactus 1 {
	SQUARE{}
	CIRCLE{y 0.5}
}

rule rightarm 15 {}
rule rightarm 1{
	SQUARE{x 0.5}
	CIRCLE {x 2.000000 y 1.000000}
	CIRCLE {x 1.996917 y 0.921541}
	CIRCLE {x 1.987688 y 0.843566}
	CIRCLE {x 1.972370 y 0.766555}
	CIRCLE {x 1.951057 y 0.690983}
	CIRCLE {x 1.923880 y 0.617317}
	CIRCLE {x 1.891007 y 0.546010}
	CIRCLE {x 1.852640 y 0.477501}
	CIRCLE {x 1.809017 y 0.412215}
	CIRCLE {x 1.760406 y 0.350552}
	CIRCLE {x 1.707107 y 0.292893}
	CIRCLE {x 1.649448 y 0.239594}
	CIRCLE {x 1.587785 y 0.190983}
	CIRCLE {x 1.522499 y 0.147360}
	CIRCLE {x 1.453990 y 0.108993}
	CIRCLE {x 1.382683 y 0.076120}
	CIRCLE {x 1.309017 y 0.048943}
	CIRCLE {x 1.233445 y 0.027630}
	CIRCLE {x 1.156434 y 0.012312}
	CIRCLE {x 1.078459 y 0.003083}
	CIRCLE {x 1.000000 y 0.000000}
	cactus {x 2 y 1.5}
}

rule leftarm 15 {}
rule leftarm 1 {
	SQUARE{x -0.5}
	CIRCLE {x -2.000000 y 1.000000}
	CIRCLE {x -1.996917 y 0.921541}
	CIRCLE {x -1.987688 y 0.843566}
	CIRCLE {x -1.972370 y 0.766555}
	CIRCLE {x -1.951057 y 0.690983}
	CIRCLE {x -1.923880 y 0.617317}
	CIRCLE {x -1.891007 y 0.546010}
	CIRCLE {x -1.852640 y 0.477501}
	CIRCLE {x -1.809017 y 0.412215}
	CIRCLE {x -1.760406 y 0.350552}
	CIRCLE {x -1.707107 y 0.292893}
	CIRCLE {x -1.649448 y 0.239594}
	CIRCLE {x -1.587785 y 0.190983}
	CIRCLE {x -1.522499 y 0.147360}
	CIRCLE {x -1.453990 y 0.108993}
	CIRCLE {x -1.382683 y 0.076120}
	CIRCLE {x -1.309017 y 0.048943}
	CIRCLE {x -1.233445 y 0.027630}
	CIRCLE {x -1.156434 y 0.012312}
	CIRCLE {x -1.078459 y 0.003083}
	CIRCLE {x -1.000000 y 0.000000}
	cactus {x -2 y 1.5}
}
I generated the leftarm and rightarm shapes with a quick python script I hacked together:

Code: Select all

import math
num = 20
i=math.pi/2
while i<=(math.pi):
    x=math.sin(i)
    y=math.cos(i)
    print "\tCIRCLE {x %f y %f}" % (x,y+1)
    i+=math.pi/(2*num)

antipex
Posts: 5
Joined: Wed Jul 06, 2005 4:29 am
Location: Queensland, Australia
Contact:

Post by antipex »

That's really cool!! :D

User avatar
chris
Site Admin
Posts: 72
Joined: Wed May 04, 2005 10:57 am
Location: New York, NY
Contact:

Post by chris »

Love it.
Current Project: I'm creative director of OKCUPID at http://www.okcupid.com

sabrebutt
Posts: 1
Joined: Thu Jul 07, 2005 10:17 am

Post by sabrebutt »

Ah! I spent nearly all night working on my cactus. While it's not as good as yours, it has certain elements that I like. I really like the way that you did the curvature for the arms. Here's mine:

Image

Image
Image

Code: Select all


startshape  CACTUS

rule CACTUS{
CIRCLE{s .8}
ABSOLUTE{s .8}
STRAIGHT{s .8}
}

rule ABSOLUTE{
CIRCLE{}
CIRCLE{y .2}
CIRCLE{y .4}
CIRCLE{y .6}
CIRCLE{y .8}
CIRCLE{y 1}
STRAIGHT{s .8}
}

rule STRAIGHT .75 {
CURVE{}
STRAIGHT{y .2}
}

rule STRAIGHT 60 {
CIRCLE{y .2}
STRAIGHT{y .2}
}


rule STRAIGHT 2 {
FUCK{}
}


rule FUCK 2 {
}

rule FUCK 2 {
STRAIGHT{s .1}
}

rule CURVE 3 {
CURVE_LEFT{}
}

rule CURVE 3 {
CURVE_RIGHT{}
}


rule CURVE .05 {
CURVE_RIGHT{}
CURVE_LEFT{}
}

rule CURVE_LEFT 0.5 {
CIRCLE{x -.2}
CIRCLE{x -.4 y .2}
CIRCLE{x -.6 y .4}
CIRCLE{x -.8 y .6}
CIRCLE{x -1 y .8}
CIRCLE{x -1.2 y 1}
STRAIGHT{x -1.4 y 1}
STRAIGHT{}
}

rule CURVE_RIGHT 0.5 {
CIRCLE{x .2}
CIRCLE{x .4 y .2}
CIRCLE{x .6 y .4}
CIRCLE{x .8 y .6}
CIRCLE{x 1 y .8}
CIRCLE{x 1.2 y 1}
STRAIGHT{x 1.4 y 1}
STRAIGHT{}
}

[/img]

Post Reply