Getting 0 view factor
Dear sir/madam,
I'm trying to compute view factors between several squares, based on your rectangle / triangle example; however, all I am getting is 0, as it seems the rectangles do not see each other (but they should).
This is the code I'm using:
import pyvista as pv
from pyviewfactor import get_visibility, compute_viewfactor
# Basic example
# ###########
# 0. Geometry
# ###########
# Create 8 rectangles with spacecraft shape
point1A = [0, 0.5, 0]
point1B = [0 ,-0.5,0]
point1C = [0 ,-0.5,1]
square1 = pv.Rectangle([point1A, point1B, point1C])
point2A = [0,0.5,1]
point2B = [0,0.5,0]
point2C = [1,0.5,0]
square2 = pv.Rectangle([point2A, point2B, point2C])
point3A = [1,0.5,0]
point3B = [1,-0.5,0]
point3C = [1,-0.5,1]
square3 = pv.Rectangle([point3A, point3B, point3C])
point4A = [0,-0.5,1]
point4B = [0,-0.5,0]
point4C = [1,-0.5,0]
square4 = pv.Rectangle([point4A, point4B, point4C])
point5A = [0,0.5,1]
point5B = [1,0.5,1]
point5C = [1,-0.5,1]
square5 = pv.Rectangle([point5A, point5B, point5C])
point6A = [0,0.5,0]
point6B = [1,0.5,0]
point6C = [1,-0.5,0]
square6 = pv.Rectangle([point6A, point6B, point6C])
point7A = [0,1.5,1]
point7B = [0,1.5,0]
point7C = [0,0.5,0]
square7 = pv.Rectangle([point7A, point7B, point7C])
point8A = [0,-0.5,1]
point8B = [0,-0.5,0]
point8C = [0,-1.5,0]
square8 = pv.Rectangle([point8A, point8B, point8C])
# #################################
# 1. Vizualitions with face normals
# #################################
pl = pv.Plotter()
pl.add_mesh(square1, color="navy", opacity=1)
pl.add_mesh(square2, color="gold", opacity=1)
pl.add_mesh(square3, color="gold", opacity=1)
pl.add_mesh(square4, color="gold", opacity=1)
pl.add_mesh(square5, color="black", opacity=1)
pl.add_mesh(square6, color="black", opacity=1)
pl.add_mesh(square7, color="navy", opacity=1)
pl.add_mesh(square8, color="navy", opacity=1)
pl.show()
# ##########################################################
# 2. View factor computation for one cell against all others
# ##########################################################
if get_visibility(square3, square1):
F = compute_viewfactor(square3, square1)
print("VF :", F)
else:
print("Not facing each other")
Could someone let me know what's wrong?
Edited by Mateusz Bogdan