Difference between revisions of "workshop01G2:Codefarm"
From CECO
(→Visualised) |
|||
Line 5: | Line 5: | ||
<div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px; " align="center">[[workshop01G2:Group|'''Group 2''']]</div> | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px; " align="center">[[workshop01G2:Group|'''Group 2''']]</div> | ||
− | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2: | + | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2:Past Experiments|'''Past Experiments''']]</div> |
− | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2: | + | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2:Present to Future|'''Present to Future''']]</div> |
<div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2:Codefarm|'''Code Farm''']]</div> | <div style="float:left; width: 160px; height 30px; border: 1px solid #aaa; margin-right:10px;" align="center">[[workshop01G2:Codefarm|'''Code Farm''']]</div> | ||
Line 14: | Line 14: | ||
[[workshop01G2:References|'''References''']]</div> | [[workshop01G2:References|'''References''']]</div> | ||
</div><br> | </div><br> | ||
+ | |||
+ | ===NETWORK INTEGRATION=== | ||
=="Fractal Line" 24-09-2013== | =="Fractal Line" 24-09-2013== |
Revision as of 14:25, 4 October 2013
NETWORK INTEGRATION
"Fractal Line" 24-09-2013
import rhinoscriptsyntax as rs
import math
import scriptcontext
outputLine1 = []
outputLine2 = []
outputLine3 = []
outputLine4 = []
def fractal(x, position, line):
startPt = rs.CurveStartPoint(line) endPt = rs.CurveEndPoint(line) Pt = (endPt-startPt) * position + startPt newPt1 = (startPt + Pt) * 0.5 newPt2 = (Pt + endPt) * 0.5 vectorLine = rs.VectorSubtract(startPt, endPt) vectorNormal = rs.VectorCrossProduct(vectorLine, (0,0,1)) vectorNormal = rs.VectorUnitize(vectorNormal) vector1 = rs.VectorScale(vectorNormal, rs.Distance(startPt, Pt) * 0.5) vector2 = rs.VectorScale(vectorNormal, rs.Distance(Pt, endPt) * 0.5) newPt1move = rs.PointAdd(newPt1, vector1) newPt2move = rs.PointAdd(newPt2, -vector2) line1 = rs.AddLine(startPt, newPt1move) line2 = rs.AddLine(newPt1move, Pt) line3 = rs.AddLine(Pt, newPt2move) line4 = rs.AddLine(newPt2move, endPt) outputLine1.append(line1) outputLine2.append(line2) outputLine3.append(line3) outputLine4.append(line4) if x > 0: fractal(x-1, position, line1) fractal(x-1, position, line2) fractal(x-1, position, line3) fractal(x-1, position, line4) else: return
can_continue = True
startLine = rs.AddLine(ptA,ptB)
if startLine is None: can_continue = False
if can_continue:
if level is None: can_continue = False
if can_continue:
if percentage is None: can_continue = False
if can_continue:
fractal(level, percentage, startLine)