2010年05月25日 星期二 06:55
# -*- coding: utf-8 -*-
import
sys
import
glob
import
itertools
import
numpy
as
np
import
math
from
scipy
import
optimize
import
pylab
as
pl
PAN_ORG
=
9275.0
PAN_PITCH
=
0.018868
TILT_ORG
=
795.0
TILT_PITCH
=
0.019049
class
Projection
(
object
):
def
__init__
(
self
):
self
.
mt
=
np
.
eye
(
4
,
dtype
=
np
.
float
)
self
.
mx
=
np
.
eye
(
4
,
dtype
=
np
.
float
)
self
.
my
=
np
.
eye
(
4
,
dtype
=
np
.
float
)
self
.
mz
=
np
.
eye
(
4
,
dtype
=
np
.
float
)
self
.
v
=
np
.
zeros
((
4
,
1
))
self
.
v
[
3
,
0
]
=
1.0
def
GetPanTilt
(
self
,
p
,
pos
):
m
=
self
.
mt
angles
=
np
.
array
(
p
[:
3
])
s
=
np
.
sin
(
angles
/
180
*
np
.
pi
)
c
=
np
.
cos
(
angles
/
180
*
np
.
pi
)
x
,
y
,
z
=
p
[
3
],
p
[
4
],
p
[
5
]
m
[
0
,
3
]
=
x
m
[
1
,
3
]
=
y
m
[
2
,
3
]
=
z
m
=
self
.
mx
m
[
1
,
1
]
=
c
[
2
]
m
[
1
,
2
]
=
-
s
[
2
]
m
[
2
,
1
]
=
s
[
2
]
m
[
2
,
2
]
=
c
[
2
]
m
=
self
.
my
m
[
0
,
0
]
=
c
[
1
]
m
[
0
,
2
]
=
s
[
1
]
m
[
2
,
0
]
=
-
s
[
1
]
m
[
2
,
2
]
=
c
[
1
]
m
=
self
.
mz
m
[
0
,
0
]
=
c
[
0
]
m
[
0
,
1
]
=
-
s
[
0
]
m
[
1
,
0
]
=
s
[
0
]
m
[
1
,
1
]
=
c
[
0
]
m
=
np
.
dot
(
self
.
mt
,
np
.
dot
(
self
.
mz
,
np
.
dot
(
self
.
my
,
self
.
mx
)))
self
.
v
[:
3
,
0
]
=
pos
tm
=
np
.
dot
(
m
,
self
.
v
)
tx
,
ty
,
tz
=
tm
[
0
,
0
],
tm
[
1
,
0
],
tm
[
2
,
0
]
xy
=
math
.
sqrt
(
tx
*
tx
+
ty
*
ty
)
pan
=
math
.
atan
(
ty
/
tx
)
*
180.0
/
np
.
pi
/
PAN_PITCH
+
PAN_ORG
tilt
=
math
.
atan
(
tz
/
xy
)
*
180.0
/
np
.
pi
/
TILT_PITCH
+
TILT_ORG
return
pan
,
tilt
2010年05月25日 星期二 08:30
这个实用!不过,怎么用?
不会是自己改变字体颜色吧?
2010年05月25日 星期二 18:49
这是从我自己做的Code Library直接复制过来的,Code Library可以对代码进行高亮显示,并且支持富文本编辑器的粘贴,和代码发芽网的原理是一样的。
http://hyry.dip.jp/code.py?id=84
你看目前效果不太好,有些无用的空白。
2010年05月25日 星期二 19:51
我们稍后会全面加强富文本编辑器,支持各种代码的语法加亮。
2010年05月25日 星期二 19:55
热烈期待此功能。
Zeuux © 2024
京ICP备05028076号