Witam.
Z góry przepraszam, jeśli piszę w złym dziale. Umieściłem ten problem w tym dziale, ponieważ chcę napisać poniższy program w języku C.

Chcę napisać program, który dzieli daną bryłę, np. sześcian czy też prostopadłościan na czworościany. Program nie realizuje wyświetlania tej siatki, "jedynie" oblicza wierzchołki itp dla siatki. Na razie jestem w fazie projektowania programu. Tutaj napotkał mnie pierwszy problem.

Otóż. Obmyśliłem sobie, iż program będzie realizowany w następnych krokach.

1. Użytkownik wprowadza wymiary, oraz liczbę wierzchołków na boku, np 10. -> czyli dzielimy nasz bok na 10 pkt, które będą wierzchołkami.

2. Generujemy chmurę puktów -> i tutaj napotkał mnie pierwszy problem. Otóż jak wygenerować taką chmurę? Czy założenie, iż powiedzmy dla sześcianu o boku 6 i wprowadzonej liczbie punktów 6, powstanie nam 6^3 pkt? I czy ich rozmieszczenie jest równomierne, czyli powiedzmy tworzę "sześć płaszczyzn a w każdej z nich znajduje się 36 wierzchołków"? Otóż zastanawia mnie, czy te założenie nie będzie przeszkadzało w dzieleniu sześcianu na czworościany. Jak uważacie?

  1. Po wygenerowaniu chmury punktów generujemy chmurę elementów, czyli łączymy punkty (wierzchołki) w elementy. Na myśl przychodzi mi triangulacja Delaunay. o ile dla przestrzeni 2d jest łatwa, to jak ona ma się do 3D? Czy Wie Ktoś w jaki sposób ją opisać lub czy też Ktoś zna lepsze algorytmy do triangulacji w 3D?

  2. Wypisanie pilku w formacie STL.
    Dowiedziałem się, iż najlepiej aby zapisać wyniki w: "formacie biblioteki Diffpack" Jednak nigdzie nie mogę znaleźć informacji na ten temat :(

Proszę Was o pomoc oraz wszelkie pomocne informacje.
Z góry dziękuje,
Gawler