mirror of
				https://github.com/HybridDog/vector_extras.git
				synced 2025-10-31 05:45:27 +01:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master'
This commit is contained in:
		
							
								
								
									
										18
									
								
								init.lua
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								init.lua
									
									
									
									
									
								
							| @@ -122,7 +122,7 @@ function funcs.rayIter(pos, dir) | ||||
| 		for i in pairs(step) do | ||||
| 			choose[i] = vector.new(p) | ||||
| 			choose[i][i] = choose[i][i] + step[i] | ||||
| 			choosefit[i] = vector.scalar(vector.normalize(vector.subtract(choose[i], pos)), dir) | ||||
| 			choosefit[i] = vector.dot(vector.normalize(vector.subtract(choose[i], pos)), dir) | ||||
| 		end | ||||
| 		p = choose[vector.get_max_coord(choosefit)] | ||||
|  | ||||
| @@ -273,7 +273,7 @@ end | ||||
| --local areas = {} | ||||
| function funcs.plane(ps) | ||||
| 	-- sort positions and imagine the first one (A) as vector.zero | ||||
| 	ps = vector.sort_positions(ps) | ||||
| 	vector.sort_positions(ps) | ||||
| 	local pos = ps[1] | ||||
| 	local B = vector.subtract(ps[2], pos) | ||||
| 	local C = vector.subtract(ps[3], pos) | ||||
| @@ -292,28 +292,28 @@ function funcs.plane(ps) | ||||
|  | ||||
| 	local nAB = vector.normalize(B) | ||||
| 	local nAC = vector.normalize(C) | ||||
| 	local angle_BAC = math.acos(vector.scalar(nAB, nAC)) | ||||
| 	local angle_BAC = math.acos(vector.dot(nAB, nAC)) | ||||
|  | ||||
| 	local nBA = vector.multiply(nAB, -1) | ||||
| 	local nBC = vector.normalize(vector.subtract(C, B)) | ||||
| 	local angle_ABC = math.acos(vector.scalar(nBA, nBC)) | ||||
| 	local angle_ABC = math.acos(vector.dot(nBA, nBC)) | ||||
|  | ||||
| 	for z = cube_p1.z, cube_p2.z do | ||||
| 		for y = cube_p1.y, cube_p2.y do | ||||
| 			for x = cube_p1.x, cube_p2.x do | ||||
| 				local p = {x=x, y=y, z=z} | ||||
| 				local n = -vector.scalar(p, vn)/vector.scalar(vn, vn) | ||||
| 				local n = -vector.dot(p, vn)/vector.dot(vn, vn) | ||||
| 				if math.abs(n) <= 0.5 then | ||||
| 					local ep = vector.add(p, vector.multiply(vn, n)) | ||||
| 					local nep = vector.normalize(ep) | ||||
| 					local angle_BAep = math.acos(vector.scalar(nAB, nep)) | ||||
| 					local angle_CAep = math.acos(vector.scalar(nAC, nep)) | ||||
| 					local angle_BAep = math.acos(vector.dot(nAB, nep)) | ||||
| 					local angle_CAep = math.acos(vector.dot(nAC, nep)) | ||||
| 					local angldif = angle_BAC - (angle_BAep+angle_CAep) | ||||
| 					if math.abs(angldif) < 0.001 then | ||||
| 						ep = vector.subtract(ep, B) | ||||
| 						nep = vector.normalize(ep) | ||||
| 						local angle_ABep = math.acos(vector.scalar(nBA, nep)) | ||||
| 						local angle_CBep = math.acos(vector.scalar(nBC, nep)) | ||||
| 						local angle_ABep = math.acos(vector.dot(nBA, nep)) | ||||
| 						local angle_CBep = math.acos(vector.dot(nBC, nep)) | ||||
| 						local angldif = angle_ABC - (angle_ABep+angle_CBep) | ||||
| 						if math.abs(angldif) < 0.001 then | ||||
| 							table.insert(ps, vector.add(pos, p)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user