43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
# angles.py
|
|
|
|
CAMERA_MAPS = {
|
|
"azimuth": {
|
|
"map": {
|
|
0: "front view",
|
|
45: "front-right quarter view",
|
|
90: "right side view",
|
|
135: "back-right quarter view",
|
|
180: "back view",
|
|
225: "back-left quarter view",
|
|
270: "left side view",
|
|
315: "front-left quarter view",
|
|
},
|
|
"default": "front view",
|
|
},
|
|
"elevation": {
|
|
"map": {
|
|
-30: "low-angle shot",
|
|
0: "eye-level shot",
|
|
30: "elevated shot",
|
|
60: "high-angle shot",
|
|
},
|
|
"default": "eye-level shot",
|
|
},
|
|
"distance": {
|
|
"map": {
|
|
"close": "close-up",
|
|
"medium": "medium shot",
|
|
"wide": "wide shot",
|
|
},
|
|
"default": "medium shot",
|
|
},
|
|
}
|
|
|
|
|
|
def get_qwen_prompt(azimuth: int, elevation: int, distance: str) -> str:
|
|
"""Return verbatim camera prompt for given azimuth, elevation, and distance."""
|
|
az_text = CAMERA_MAPS["azimuth"]["map"].get(azimuth, CAMERA_MAPS["azimuth"]["default"])
|
|
el_text = CAMERA_MAPS["elevation"]["map"].get(elevation, CAMERA_MAPS["elevation"]["default"])
|
|
dist_text = CAMERA_MAPS["distance"]["map"].get(distance, CAMERA_MAPS["distance"]["default"])
|
|
return f"{az_text}, {el_text}, {dist_text}"
|