Esempio n. 1
0
def aitken_generatePoint(t, points, showLines):
	layer = [points]
	tRatios = []
	tValues = [0]
	for i in range(1, len(layer[0])):
		L = distancePoints(layer[0][i][0], layer[0][i][1], layer[0][i-1][0], layer[0][i-1][1])
		tValues.append(tValues[-1] + L)

	for i in range(len(layer[0])):
		tRatios.append(tValues[i] / tValues[-1])

	for r in range(1, len(layer[0]) + 1):
		layer.append([])
		for i in range(0, len(layer[0]) - r):
			# print "Checking", (t - d[i])
			# print "Checking", (tRatios[i+r] - tRatios[i])
			# print "Checking", layer[r-1][i + 1][0]

			x = (tRatios[i+r] - t)/(tRatios[i+r] - tRatios[i])*layer[r - 1][i][0] + (t - tRatios[i])/(tRatios[i+r] - tRatios[i])*layer[r-1][i + 1][0]
			y = (tRatios[i+r] - t)/(tRatios[i+r] - tRatios[i])*layer[r - 1][i][1] + (t - tRatios[i])/(tRatios[i+r] - tRatios[i])*layer[r-1][i + 1][1]
			layer[r].append([x, y])
			if showLines:
				ASDrawing.draw_line(x, y, layer[r - 1][i][0], layer[r - 1][i][1])
		if showLines:
			for i in range(1, len(layer[r])):
				ASDrawing.draw_line(layer[r][i][0], layer[r][i][1], layer[r][i - 1][0], layer[r][i - 1][1])
	# print layer
	return layer[len(layer[0]) - 1][0][0], layer[len(layer[0]) - 1][0][1]
def draw():
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
  ASDrawing.drawControlPoints(settings.points)
  ASDrawing.drawControlPolygon(settings.points)

  ASDrawing.drawBernsteinBezierCurve(settings.points)
  ASDrawing.drawElevatedOrReducedCurve(settings.points, settings.degreeOffset)

  glutSwapBuffers()
Esempio n. 3
0
def draw():
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
    ASDrawing.drawControlPoints(settings.points)
    ASDrawing.drawControlPolygon(settings.points)

    ASDrawing.drawAitkenInterpolation(settings.points)
    ASDrawing.drawSingleAitkenPoint(settings.selectedT, settings.points)

    # ASDrawing.drawBernsteinBezierCurve(settings.points)
    # ASDrawing.drawElevatedOrReducedCurve(settings.points, settings.degreeOffset)

    glutSwapBuffers()
Esempio n. 4
0
def draw():
  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)

  points = settings.points
  weights = settings.weights

  uK = settings.uK
  vK = settings.vK

  global knotWindow

  if len(settings.uKnots) != uK + len(points[0]) + 1:
    settings.uKnots = ASMath.generateKnots(points[0], uK)
    if knotWindow != None:
      knotWindow.hide()
      knotWindow = None

  if len(settings.vKnots) != vK + len(points) + 1:
    settings.vKnots = ASMath.generateKnots([row[0] for row in points], vK)
    if knotWindow != None:
      knotWindow.hide()
      knotWindow = None

  if knotWindow == None:
    knotWindow = ASUI.knotWindow()
    knotWindow.show()





  ASDrawing.drawSurface(points, uK, vK, settings.uKnots, settings.vKnots, weights)

  for row in points:
    print row

  glutSwapBuffers()
Esempio n. 5
0
def setBackground(hexString):
    rgb = ASDrawing.getRgbTuple(hexString)
    glClearColor(rgb[0], rgb[1], rgb[2], 0.0)