日時計作ってみようかな(その5)

walkinglint

2008年07月07日 18:40


長さ変かも~ と書いていたが 多分 角度を間違えていて そこだけ修正した
-----

-----

-----

-----
ま いいかな どうかな...
-----
あ 1s 毎にしとくことはないな w
-----
というわけでリストもあげておきます
-----
まず本体側
//
// File: Sundial.lsl
// Date Author number of nodes
// 2008/7/7 walkinglint 32
//
vector bar_vec = ;
vector pole_vec = ;
float pole_height = 0.5;
integer BAR_LINK_NUM = 2;
default {
state_entry() {
llSetTimerEvent(60.0);
}
on_rez(integer param) {
llResetScript();
}
timer() {
vector vec = llGetSunDirection();
vector vec2 = -vec;
vec2.z = 0;
rotation rot = llRotBetween(bar_vec, vec2);
llSetRot(rot);
float dot_product = vec * pole_vec;
float rad = llAcos(dot_product);
rad = PI / 2 - rad;
// sin(rad) : cos(rad) = pole_hight : bar_length
float bar_length = pole_height * llCos(rad) / llSin(rad);
if ((bar_length
walking のスクリプティング講座