Report-2/data.jl
2022-03-29 00:56:45 -07:00

39 lines
902 B
Julia

using FileIO
using MeshIO
using stlProcess
using CSV
using DataFrames
using SplomPlots
using LinearAlgebra
# local path to https://gitlab.com/orbital-debris-research/fake-satellite-dataset
dataset_path = raw"C:\Coding\fake-satellite-dataset"
folders = ["1_5U", "assembly1", "cubesat"]
# for folder in folders
# dataset_path * "\\" * folder |>
# end
df = DataFrame(; volume=Float64[], cx=Float64[], cy=Float64[], cz=Float64[], Ix=Float64[], Iy=Float64[], Iz=Float64[])
for path in dataset_path * "\\" .* folders
println(path)
for file in readdir(path)
props = get_mass_properties(load(path * "\\" * file))
cx, xy, xz = props.center_of_gravity
Ix, Iy, Iz = eigvals(props.inertia)
push!(df, [props.volume, cx, xy, xz, Ix, Iy, Iz])
end
end
CSV.write("dataset.csv", df)
splom(df[df.Iy .< 1.0, :]; columns=[:Ix, :Iy, :Iz])
# splom(df[df.Iy .< 1.0,:])