2010-02-11 6 views
3

Я изучаю метапост, и я хочу знать, как создать фигуру, как многоугольник http://en.wikipedia.org/wiki/Polygonal_number, я получил треугольные числа, но не шестиугольные.Как создать цифру числа полигонов с использованием метапоста?

Спасибо за помощь.

+1

Чтобы быть ясным, вам нужна программа, которая генерирует серию диаграмм, таких как диаграммы для первых четырех шестиугольных чисел на странице WP. Это немного нерешительно: рекурсивный случай должен относиться к двум сторонам иначе, чем к другим четырем, но я не вижу, что это сложно. Можете ли вы опубликовать код, который у вас есть, который не работает, чтобы мы могли видеть, где вы ошибаетесь? –

ответ

2

Мне пришло в голову, что если вам не нужны чертежи точек и линий друг на друга, то эта проблема довольно проста. Ниже уродлив, как грех, в основном из-за определения точки, используя только fullcircle scaled, но это работает:

 
beginfig(1); 
pair right, nright; 
u:=1cm; right:=(u,0); 
path p,q,dot,seg; 
dot:=fullcircle scaled (u/2); 
seg:=(0,0)-- (dot shifted right); 
for N=1 upto 6: 
    p:=dot; nright:=(N*u,0); 
    for i=1 upto N: 
    p:=seg -- (p shifted right); 
    endfor 
    q:=(0,0); 
    for j=1 upto 6: 
    q:=p -- ((q rotated 60) shifted nright); 
    endfor 
    draw q; 
endfor 
endfig 

Этот подход должен работать для всех п -gonal чисел.