На youtube есть видео с анимацией, выполненное в Sketchup от Ruby.
Здесь ссылка !
Я хочу сделать ту же анимацию, и я использовал функцию косинуса. Но, к сожалению, я понятия не имею, как можно получить пространственные координаты $grp_main
для использования в функции косинуса.
Вот мои коды:
$mod = Sketchup.active_model # Open model
$ent = $mod.entities # All entities in model
$sel = $mod.selection # Current selection
$grp_main = $ent.add_group
$view = $mod.active_view
$s = 100.inch
$w = 60.inch
$beta = 0.0085
def build_material()
n = 10
(0..n-1).each { |i|
(0..n-1).each { |j|
pts = []
pts[0] = [i*$s,j*$s,0]
pts[1] = [i*$s,j*$s+$w,0]
pts[2] = [i*$s+$w,j*$s+$w,0]
pts[3] = [i*$s+$w,j*$s,0]
entities2 = $grp_main.entities
face = entities2.add_face pts
face.back_material = [200,(255/(n)*j).round,(255/(n)*i).round]
face.pushpull -40
}
}
end
def scale_object(x)
height = Math.cos($beta*((x*x + ((x+10)*(x+10))))) #I NEED HELP HERE
scale_transformation = Geom::Transformation.scaling(1,1,height)
$grp_main.transformation *= scale_transformation
$grp_main.transform!(scale_transformation);
end
def repaint(n_times, delay)
for x in 0..n_times-1
scale_object(x);
$view.refresh
sleep delay;
end
end
build_material();
repaint(20,0.7);
#
height = Math.cos($beta*((x*x + ((x+10)*(x+10)))))
Там я понятия не имею, как я могу получить координаты x и y ...