Here are some examples. This might be very slow, you should change the resolution of the image to reduce the time cost.
Simply run the code below after installation:
>>> import naivert >>> from Geometry3D import * >>> from math import sqrt >>> main_scene = naivert.Scene() >>> main_camera = naivert.Camera(Point(400,-300,400),Point(385,-285,385),10 * Vector(-1 /sqrt(6),1/sqrt(6),>>> 2/sqrt(6)),10*Vector(1/sqrt(2),1/sqrt(2),0),'main_camera.png',resolution=(600,600)) >>> point_light = naivert.PointLight(Point(50,100,200),[5.0,5.0,5.0]) >>> point_light2 = naivert.PointLight(Point(200,50,200),[4.0,4.0,4.0]) >>> ambient_light = naivert.AmbientLight([3.0,3.0,3.0]) >>> main_scene.add_camera(main_camera) >>> main_scene.add_light(point_light) >>> main_scene.add_light(point_light2) >>> main_scene.add_light(ambient_light) >>> main_scene.add_cph(Parallelepiped(Point(-51,-50,0),1*x_unit_vector(),200*y_unit_vector(),>>> 200*z_unit_vector()),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Parallelepiped(Point(-50,150,0),200*x_unit_vector(),1*y_unit_vector(),>>> 200*z_unit_vector()),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Parallelepiped(Point(50,0,0),30*x_unit_vector()+40*y_unit_vector(),-4*x_unit_vector()>>> +3*y_unit_vector(), 80*z_unit_vector()),naivert.Material.Glass(),reverse_normal=False) >>> main_scene.add_cph(Parallelepiped(Point(10,10,0),20*x_unit_vector(),20*y_unit_vector(), 50 >>> *z_unit_vector()),naivert.Material.DiffusionMaterial_Red_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(70,90,20),20,30,15),naivert.Material.SpecularMaterial_White_1(),>>> reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(120,60,20),20,30,15),naivert.Material.DiffusionMaterial_White_1(),>>> reverse_normal=False) >>> main_scene.add_cph(Cone(Point(30,130,0),10,80*z_unit_vector(),n=30),material=naivert.Material.>>> DiffusionMaterial_Green_1(),reverse_normal=False) >>> main_scene.add_cph(Cylinder(Point(30,70,0),15,80*z_unit_vector(),n=30),material=naivert.Material.>>> DiffusionMaterial_Blue_1(),reverse_normal=False) >>> r = Renderer() >>> for face in main_scene.face_list: ... r.add((face.cpg,'r',1)) >>> r.show() >>> main_scene.render_scene(32) >>> main_scene.write_scene()
Simply run the code below after installation:
>>> import naivert >>> from Geometry3D import * >>> from math import sqrt >>> >>> main_scene = naivert.Scene() >>> >>> main_camera = naivert.Camera(Point(350,-250,350),Point(335,-235,335),10 * Vector(-1 /sqrt(6),1/sqrt(6),2/sqrt(6)),10*Vector(1/sqrt(2),1/sqrt(2),0),'main_camera.png',resolution=(600,600)) >>> point_light2 = naivert.PointLight(Point(200,50,200),[4.0,4.0,4.0]) >>> point_light = naivert.PointLight(Point(50,100,200),[5.0,5.0,5.0]) >>> main_scene.add_camera(main_camera) >>> main_scene.add_light(point_light) >>> main_scene.add_light(point_light2) >>> >>> main_scene.add_floor(-50,200,-50,200) >>> >>> main_scene.add_cph(Sphere(Point(0,0,15),15,30,15),naivert.Material.DiffusionMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(100,0,15),15,30,15),naivert.Material.DiffusionMaterial_Green_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(100,100,15),15,30,15),naivert.Material.DiffusionMaterial_Red_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(0,100,15),15,30,15),naivert.Material.DiffusionMaterial_Blue_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(50,0,15),15,30,15),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(0,50,15),15,30,15),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(50,100,15),15,30,15),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(100,50,15),15,30,15),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(50,50,15),15,30,15),naivert.Material.Glass(),reverse_normal=False) >>> >>> main_scene.render_scene(56) >>> >>> main_scene.write_scene()
Simply run the code below after installation:
>>> import naivert >>> from Geometry3D import * >>> from math import sqrt >>> import copy >>> >>> main_scene = naivert.Scene() >>> main_camera = naivert.Camera(Point(400,-300,400),Point(385,-285,385),10 * Vector(-1 /sqrt(6),1/sqrt(6),2/sqrt(6)),10*Vector(1/sqrt(2),1/sqrt(2),0),'main_camera.png',resolution=(15,15)) >>> point_light = naivert.PointLight(Point(50,100,200),[5.0,5.0,5.0]) >>> point_light2 = naivert.PointLight(Point(200,50,200),[4.0,4.0,4.0]) >>> ambient_light = naivert.AmbientLight([3.0,3.0,3.0]) >>> main_scene.add_camera(main_camera) >>> main_scene.add_light(point_light) >>> main_scene.add_light(point_light2) >>> main_scene.add_light(ambient_light) >>> main_scene.add_floor(-50,200,-50,200) >>> main_scene.add_cph(Parallelepiped(Point(-51,-50,0),1*x_unit_vector(),200*y_unit_vector(),200*z_unit_vector()),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> >>> main_scene.add_cph(Parallelepiped(Point(-50,150,0),200*x_unit_vector(),1*y_unit_vector(),200*z_unit_vector()),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> >>> a = Point(50,0,0) >>> b = Point(80,40,0) >>> c = Point(76,43,0) >>> d = Point(38,9,0) >>> a1 = Point(50,0,80) >>> b1 = Point(80,40,80) >>> c1 = Point(76,43,80) >>> d1 = Point(38,9,80) >>> cpg1 = ConvexPolygon((a,b,c,d)) >>> cpg2 = ConvexPolygon((a1,b1,c1,d1)) >>> cpg3 = ConvexPolygon((a,b,b1,a1)) >>> cpg4 = ConvexPolygon((b,c,c1,b1)) >>> cpg5 = ConvexPolygon((c,d,d1,c1)) >>> cpg6 = ConvexPolygon((d,a,a1,d1)) >>> cph = ConvexPolyhedron((cpg1,cpg2,cpg3,cpg4,cpg5,cpg6)) >>> main_scene.add_cph(cph,naivert.Material.Glass(),reverse_normal=False) >>> >>> main_scene.add_cph(Parallelepiped(Point(10,10,0),20*x_unit_vector(),20*y_unit_vector(), 50 *z_unit_vector()),naivert.Material.DiffusionMaterial_Red_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(70,90,20),20,30,15),naivert.Material.SpecularMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Sphere(Point(120,60,20),20,30,15),naivert.Material.DiffusionMaterial_White_1(),reverse_normal=False) >>> main_scene.add_cph(Cone(Point(30,130,0),10,80*z_unit_vector(),n=30),material=naivert.Material.DiffusionMaterial_Green_1(),reverse_normal=False) >>> main_scene.add_cph(Cylinder(Point(30,70,0),15,80*z_unit_vector(),n=30),material=naivert.Material.DiffusionMaterial_Blue_1(),reverse_normal=False) >>> >>> main_scene.render_scene(48) >>> main_scene.write_scene()