Nurbs (3d)

Help Contents Examples Nurbs (3d)
Mousedraw (simple) onaftermake (debugging)

Nurbs (3d)

Sample:    NURBS
File name: nurbs.eli
DLL name:  (no DLL)
Modified:  November 19, 2000
Author:    Pavel Boytchev
Version:   1.0
E-mail:    pavel@elica.net

Copyright © 1999-2000 Elica Group

This program demonstrates how to construct and give life to a surface defined with NURBS.

run "graphix

make "t 1
make "v0 vector 0 0 0
make "v1 vector 0 0 1

to changeview
	make "t :t+1
	lookat point 5*(cos 2*:t) 5*(sin 2*:t) 3+1*(sin :t) :v0 vector 1+(cos :t) 1+(sin 1.5*:t) 1
end


make "p set

make "p.#1  vector -1.5 -1.5  0.0
make "p.#2  vector -0.5 -1.5  2.0 
make "p.#3  vector  0.5 -1.5 -1.0
make "p.#4  vector  1.5 -1.5  2.0

make "p.#5  vector -1.5 -0.5  1.0
make "p.#6  vector -0.5 -0.5  3.0
make "p.#7  vector  0.5 -0.5  0.0
make "p.#8  vector  1.5 -0.5 -1.0

make "p.#9  vector -1.5  0.5  2.0
make "p.#10 vector -0.5  0.5  0.0
make "p.#11 vector  0.5  0.5  3.0
make "p.#12 vector  1.5  0.5  1.0

make "p.#13 vector -1.5  1.5 -2.0
make "p.#14 vector -0.5  1.5 -2.0
make "p.#15 vector  0.5  1.5  0.0
make "p.#16 vector  1.5  1.5 -1.0

make "s styled (nurbs 0 1 0 1 19 19 :p) (set "light "true "smooth "true)

repeat 20000 
[
	make "s.points.#1.z  0.71*(sin 7*:t)
	make "s.points.#4.z  0.71*(cos 12*:t)
	make "s.points.#6.z  5.21*(sin 15*:t)
	make "s.points.#11.z 5.21*(cos 11*:t)
	make "s.points.#13.z 0.71*(sin 8*:t)
	make "s.points.#16.z 0.71*(cos 5*:t)

	changeview
]

Mousedraw (simple) onaftermake (debugging)